Blame view

node_modules/vue/src/platforms/web/util/compat.js 631 Bytes
aaac7fed   liuqimichale   add
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