Forráskód Böngészése

set min-height of the document when zooming out the page

Gildas 5 éve
szülő
commit
cef3388f7f

+ 9 - 0
lib/single-file/processors/hooks/content/content-hooks-frames-web.js

@@ -145,16 +145,21 @@
 			const transformPriority = document.documentElement.style.getPropertyPriority("transform");
 			const transformOrigin = document.documentElement.style.getPropertyValue("transform-origin");
 			const transformOriginPriority = document.documentElement.style.getPropertyPriority("transform-origin");
+			const minHeight = document.documentElement.style.getPropertyValue("min-height");
+			const minHeightPriority = document.documentElement.style.getPropertyPriority("min-height");
 			document.documentElement.style.setProperty("transform-origin", (zoomFactorX < 1 ? "50%" : "0") + " " + (zoomFactorY < 1 ? "50%" : "0") + " 0", "important");
 			document.documentElement.style.setProperty("transform", "scale3d(" + zoomFactor + ", " + zoomFactor + ", 1)", "important");
+			document.documentElement.style.setProperty("min-height", (100 / zoomFactor) + "vh", "important");
 			dispatchEvent.call(window, new UIEvent("resize"));
 			dispatchEvent.call(window, new Event("scroll"));
 			if (keepZoomLevel) {
 				document.documentElement.style.setProperty("-sf-transform", transform, transformPriority);
 				document.documentElement.style.setProperty("-sf-transform-origin", transformOrigin, transformOriginPriority);
+				document.documentElement.style.setProperty("-sf-min-height", minHeight, minHeightPriority);
 			} else {
 				document.documentElement.style.setProperty("transform", transform, transformPriority);
 				document.documentElement.style.setProperty("transform-origin", transformOrigin, transformOriginPriority);
+				document.documentElement.style.setProperty("min-height", minHeight, minHeightPriority);
 			}
 		}
 		if (!keepZoomLevel) {
@@ -185,10 +190,14 @@
 		const transformPriority = document.documentElement.style.getPropertyPriority("-sf-transform");
 		const transformOrigin = document.documentElement.style.getPropertyValue("-sf-transform-origin");
 		const transformOriginPriority = document.documentElement.style.getPropertyPriority("-sf-transform-origin");
+		const minHeight = document.documentElement.style.getPropertyValue("-sf-min-height");
+		const minHeightPriority = document.documentElement.style.getPropertyPriority("-sf-min-height");
 		document.documentElement.style.setProperty("transform", transform, transformPriority);
 		document.documentElement.style.setProperty("transform-origin", transformOrigin, transformOriginPriority);
+		document.documentElement.style.setProperty("min-height", minHeight, minHeightPriority);
 		document.documentElement.style.removeProperty("-sf-transform");
 		document.documentElement.style.removeProperty("-sf-transform-origin");
+		document.documentElement.style.removeProperty("-sf-min-height");
 	});
 
 	function loadDeferredImagesEnd(keepZoomLevel) {