-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
Copy pathbrowser.js
38 lines (35 loc) · 975 Bytes
/
browser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
var avalon = require('./core')
var window = Function(' return this')() || this
var browser = {
window: window,
document: {//方便在nodejs环境不会报错
createElement: Object,
createElementNS: Object,
contains: Boolean
},
root: {
outerHTML: 'x'
},
msie: NaN,
browser: false,
modern: true,
avalonDiv: {},
avalonFragment: null
}
window.avalon = avalon
/* istanbul ignore if */
if (window.location && window.navigator && window.window) {
var doc = window.document
browser.browser = true
browser.document = doc
browser.root = doc.documentElement
browser.avalonDiv = doc.createElement('div')
browser.avalonFragment = doc.createDocumentFragment()
if (window.VBArray) {
browser.msie = doc.documentMode || (window.XMLHttpRequest ? 7 : 6)
browser.modern = browser.msie > 8
} else {
browser.modern = true
}
}
avalon.shadowCopy(avalon, browser)