|
|
@@ -150,8 +150,7 @@
|
|
|
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(new UIEvent("resize"));
|
|
|
- dispatchEvent(new Event("scroll"));
|
|
|
+ dispatchResizeEvent();
|
|
|
if (keepZoomLevel) {
|
|
|
document.documentElement.style.setProperty("-sf-transform", transform, transformPriority);
|
|
|
document.documentElement.style.setProperty("-sf-transform-origin", transformOrigin, transformOriginPriority);
|
|
|
@@ -163,8 +162,7 @@
|
|
|
}
|
|
|
}
|
|
|
if (!keepZoomLevel) {
|
|
|
- dispatchEvent(new UIEvent("resize"));
|
|
|
- dispatchEvent(new Event("scroll"));
|
|
|
+ dispatchResizeEvent();
|
|
|
const docBoundingRect = scrollingElement.getBoundingClientRect();
|
|
|
[...observers].forEach(([intersectionObserver, observer]) => {
|
|
|
const rootBoundingRect = observer.options && observer.options.root && observer.options.root.getBoundingClientRect();
|
|
|
@@ -226,8 +224,7 @@
|
|
|
delete window._singleFileImage;
|
|
|
}
|
|
|
if (!keepZoomLevel) {
|
|
|
- dispatchEvent(new UIEvent("resize"));
|
|
|
- dispatchEvent(new Event("scroll"));
|
|
|
+ dispatchResizeEvent();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -347,4 +344,13 @@
|
|
|
window.IntersectionObserver.toString = function () { return "function IntersectionObserver() { [native code] }"; };
|
|
|
}
|
|
|
|
|
|
+ function dispatchResizeEvent() {
|
|
|
+ try {
|
|
|
+ dispatchEvent(new UIEvent("resize"));
|
|
|
+ dispatchEvent(new Event("scroll"));
|
|
|
+ } catch (error) {
|
|
|
+ // ignored
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
})();
|