Webkit iPhone App:如何在视口中动态更改用户缩放(或缩放,缩放和缩放)?

时间:2010-04-22 13:47:31

标签: iphone safari webkit scale viewport

我将JQTouch用于iPhone应用程序。 JQtouch默认禁用捏合和缩放页面的可能性。 对于一个页面(包含一个大图像),我需要启用pinch&缩放功能。 这很简单:

var viewport = $("head meta[name=viewport]");
viewport.attr('content', 'width=320, initial-scale=1, maximum-scale=10.0, minimum-scale=1, user-scalable=1');

但是在用户玩捏& zoom,我需要动态地将缩放(比例)重置为默认值。我试图重置视口:

viewport.attr('content', 'width=320, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;');

调用上面的代码后,再也无法进行缩放(因为user-scalable = 0;),但它不会将当前比例更改为默认值。

我正在寻找类似setScale(1)的东西,或者更改类似current-scale = 1的属性

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

重置用户缩放的唯一方法是重新加载页面:

window.location.reload();

如果您不想这样做,则需要添加一个脚本来动态缩放元素,例如带触摸事件的图像。以下是使用滚动进行缩放和缩放的示例:

http://tlrobinson.net/projects/iphone-light-table/

将此代码集成到项目中很容易。只需打开HTML源代码,复制Javascript,然后根据需要更改init()函数。