|
1 | 1 | new (class SourceIntercepter { |
2 | 2 | constructor(){ |
3 | 3 | var that = this; |
4 | | - if(!self.nodeTypes){ |
5 | | - self.nodeTypes = new Map(); |
6 | | - for( let desc of Object.values(Object.getOwnPropertyDescriptors(window)) ) |
7 | | - try { |
8 | | - if(desc.value.prototype instanceof Node) |
9 | | - nodeTypes.set(desc.value.name, desc.value); |
10 | | - } catch(e) {} |
11 | | - } |
| 4 | + this.nodeTypes = new Map(); |
| 5 | + for( let desc of Object.values(Object.getOwnPropertyDescriptors(window)) ) |
| 6 | + try { |
| 7 | + if(desc.value.prototype instanceof Node) |
| 8 | + this.nodeTypes.set(desc.value.name, desc.value); |
| 9 | + } catch(e) {} |
12 | 10 | var excludeList = [ |
13 | 11 | HTMLAnchorElement, |
14 | 12 | HTMLAreaElement |
15 | 13 | ]; |
16 | | - for(let [name,type] of nodeTypes){ |
| 14 | + for(let [name,type] of this.nodeTypes){ |
17 | 15 | let hasLoadableKeys = []; |
18 | 16 | for(let key of ['src','href','srcset']) |
19 | 17 | if(key in type.prototype) |
@@ -48,7 +46,7 @@ new (class SourceIntercepter { |
48 | 46 | } |
49 | 47 | }); |
50 | 48 | this.checkDocument(document); |
51 | | - self.sourceIntercepter = this; |
| 49 | + exportGlobal('sourceIntercepter', this); |
52 | 50 | } |
53 | 51 | control(type){ |
54 | 52 | var that = this; |
@@ -77,14 +75,14 @@ new (class SourceIntercepter { |
77 | 75 | ); |
78 | 76 | } |
79 | 77 | intercept(obj,key,getter,setter){ |
80 | | - var desc = Object.getOwnPropertyDescriptor(obj, 'native'+ucfirst(key)) |
| 78 | + var desc = Object.getOwnPropertyDescriptor(obj, 'native'+PFHUtils.ucfirst(key)) |
81 | 79 | || Object.getOwnPropertyDescriptor(obj, key); |
82 | 80 | if(!desc) |
83 | 81 | return false; |
84 | 82 | var tmp = Object.create(desc); |
85 | 83 | tmp.enumerable = false; |
86 | 84 | tmp.configurable = true; |
87 | | - Object.defineProperty(obj,'native'+ucfirst(key),desc); |
| 85 | + Object.defineProperty(obj,'native'+PFHUtils.ucfirst(key),desc); |
88 | 86 | delete obj[key]; |
89 | 87 | Object.defineProperty(obj,key,{ |
90 | 88 | enumerable: desc.enumerable, |
@@ -187,7 +185,7 @@ new (class SourceIntercepter { |
187 | 185 | } |
188 | 186 | getSource(target,key){ |
189 | 187 | if(key){ |
190 | | - return target.realSource || target['native'+ucfirst(key)]; |
| 188 | + return target.realSource || target['native'+PFHUtils.ucfirst(key)]; |
191 | 189 | }else{ |
192 | 190 | return target.realSource || target.nativeSrc || target.nativeHref; |
193 | 191 | } |
@@ -215,7 +213,7 @@ new (class SourceIntercepter { |
215 | 213 | target.addEventListener("load",this.$onload,true); |
216 | 214 | target.addEventListener("canplaythrough",this.$onload,true); |
217 | 215 | target.addEventListener("loadeddata",this.$onready,true); |
218 | | - target['native'+ucfirst(key)] = uri; |
| 216 | + target['native'+PFHUtils.ucfirst(key)] = uri; |
219 | 217 | } |
220 | 218 | })(); |
221 | 219 |
|
0 commit comments