【问题标题】:Cordova Dynamic Zoom & Meta Viewport Not WorkingCordova 动态缩放和元视口不工作
【发布时间】:2014-05-17 13:54:34
【问题描述】:

我正在尝试在我的 Cordova 3.4.0 应用中动态启用/禁用用户缩放。

我的初始视口设置是:

<meta id="viewport-meta" name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />

当我启用缩放时,我更改为:

viewport.setAttribute('content', 'user-scalable=yes, initial-scale=1, maximum-scale=2, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi');

然后,为了禁用缩放并恢复到原始大小,我执行:

viewport.setAttribute('content', 'user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi');

现在的问题是,在启用缩放时我手动捏放大,当我尝试重置视口以禁用缩放时,那些初始比例和最大比例不生效。只有 user-scalable 生效,因此我无法再捏合/拉出,但页面不会重置为初始比例 / 最大比例 = 1,并保持在 2 的缩放级别。

如何强制页面再次缩小到初始比例 1?请指教。非常感谢。

【问题讨论】:

    标签: android html ios css cordova


    【解决方案1】:

    Phonegap 和 cordova 总是将应用程序呈现为网页,因此我认为实际上没有必要添加这样的缩放代码。缩放必须自动工作,除非它在配置文件中被禁用。

    但是如果还是不行的话,这里有个插件可以用

    http://cubiq.org/iscroll-4

    这个插件可以应用到你的 div 中,它会给你这个功能。

    您还可以使用hammer.js,这是一个提供这些功能的javascript库

    http://eightmedia.github.io/hammer.js/

    【讨论】:

    • 感谢您的回复。我故意在 index.html 视口元标记中禁用缩放,因为它是一个应用程序,我不希望用户像网页一样放大。但是,应用程序中的某些部分(例如照片库)我想重新启用该功能,以便他们可以放大照片,因此我需要更改视口设置。这就是问题出现的时候 - 在将其设置为可缩放并且用户捏放大之后,然后在退出照片库时,重置视口无法再次自动缩小。你能请教吗?谢谢。
    • 您是从您的应用程序访问手机图库还是您的应用程序的图库部分
    • “图库”页面实际上只是同一个移动应用 HTML 页面中的一个单独的 DIV 层。当有人在应用程序的各个部分单击缩略图时,我的 javascript 将图像输出到只有图像和黑色背景的“图库”DIV 页面中,用户可以在其中捏放大/缩小以查看完整图像.该“画廊”DIV 启用了用户可缩放,当用户退出该页面时,用户可缩放再次设置为 no。
    猜你喜欢
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 2015-01-03
    • 2014-08-19
    相关资源
    最近更新 更多