Kaynağa Gözat

don't use getters for innerHeight and innerWidth

Gildas 7 yıl önce
ebeveyn
işleme
5921fe334b

+ 4 - 2
lib/lazy/web/web-lazy-loader-after.js

@@ -22,15 +22,17 @@
 
 (() => {
 
-	window.__defineGetter__("innerHeight", () => document.documentElement.clientHeight);
-	window.__defineGetter__("innerWidth", () => document.documentElement.clientWidth);
 	delete document.documentElement.clientHeight;
 	delete document.documentElement.clientWidth;
 	delete screen.height;
 	delete screen.width;
 	if (window._singleFile_getBoundingClientRect) {
 		Element.prototype.getBoundingClientRect = window._singleFile_getBoundingClientRect;
+		window.innerHeight = window._singleFile_innerHeight;
+		window.innerWidth = window._singleFile_innerWidth;
 		delete window._singleFile_getBoundingClientRect;
+		delete window._singleFile_innerHeight;
+		delete window._singleFile_innerWidth;
 	}
 	dispatchEvent(new UIEvent("resize"));
 	dispatchEvent(new UIEvent("scroll"));

+ 2 - 3
lib/lazy/web/web-lazy-loader-before.js

@@ -23,9 +23,8 @@
 (() => {
 
 	const LOAD_OBSERVED_ELEMENTS_EVENT = "single-file-load-observed-elements";
-
-	window.__defineGetter__("innerHeight", () => document.documentElement.scrollHeight);
-	window.__defineGetter__("innerWidth", () => document.documentElement.scrollWidth);
+	window._singleFile_innerHeight = window.innerHeight;
+	window._singleFile_innerWidth = window.innerWidth;
 	document.documentElement.__defineGetter__("clientHeight", () => document.documentElement.scrollHeight);
 	document.documentElement.__defineGetter__("clientWidth", () => document.documentElement.scrollWidth);
 	screen.__defineGetter__("height", () => document.documentElement.scrollHeight);