javascript - 如何从Javascript重置网页上的缩放(捏缩放后)?

标签 javascript html pinchzoom pdf.js

我正在开发一个基于 Cordova 的旧应用程序。在我的页面上,我有一个 iframe,用于显示 PDF(使用 PDFJS 库)。用户可以使用 PDF 查看器上的缩放按钮或捏缩放缩放 PDF 区域。要求是当用户单击主页(非 iframe 区域)上的按钮时,我必须将 PDF 的缩放级别重置为正常。
enter image description here
如果使用以下代码(特定于 PDFJS)通过缩放按钮完成缩放,我可以做到这一点 document.getElementById("myPdf").contentWindow.PDFViewerApplication.pdfViewer.currentScaleValue = 'auto';但是,如果缩放是使用捏缩放完成的,我将无法重置(当捏缩放完成时,加载到 iframe 中的完整 HTML 会被缩放,因此它是网页缩放)。我尝试了下面的代码,以重置初始比例但它不起作用

document.querySelector("meta[name=viewport]").setAttribute(
          'content', 
          'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0');
谁能建议一种方法来做到这一点?

最佳答案

您可以尝试操纵 .style.zoom所需目标元素上的属性:

const zoomingTarget = document.querySelector('.zooming-target')
在您捕获想要重置的缩放元素后,您可以更改 .style.zoom属性:
zoomingTarget.style.zoom = "calc(100% + " + zoomIndex*10 + "%)";
用两个按钮实现-> Changing the browser zoom level

关于javascript - 如何从Javascript重置网页上的缩放(捏缩放后)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70403055/

相关文章:

javascript - 红帽 OpenShift : cannot build/deploy node app because "Output image could not be resolved"

JavaScript:根据下拉菜单更改链接值

html - CSS 动画移动不需要的对象

javascript - 加载音频缓冲区并使用音频标签播放它

android - Android 中的 Canvas 捏合缩放

javascript - JQuery 替换 div 中除标签之外的所有内容

javascript - Angular指令参数长度限制

javascript - jQuery:如何选择所有具有 :before 或 :after 的伪元素元素?

android - 将 ImageView 缩放到全屏

android - QML PinchArea 无法按预期与 QML Flickable 一起工作