Tcsm
2023-05-18 4b0a2b3cdfb99bc4ecc9fce6390b9ec6f4c4a2e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* @flow */
 
import { inBrowser } from 'core/util/index'
 
// check whether current browser encodes a char inside attribute values
let div
function getShouldDecode (href: boolean): boolean {
  div = div || document.createElement('div')
  div.innerHTML = href ? `<a href="\n"/>` : `<div a="\n"/>`
  return div.innerHTML.indexOf('&#10;') > 0
}
 
// #3663: IE encodes newlines inside attribute values while other browsers don't
export const shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false
// #6828: chrome encodes content in a[href]
export const shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false