2010-12-21 102 views

回答

0

试试这个:

<meta name="viewport" content="width=device-width; initial-scale=1.0; user-scalable:no;"> 

Source

+0

但你可以在JavaScript中做到这一点? – 2010-12-21 17:54:01

+0

不是一个答案,而是一个问题,如果用户禁用他们的移动设备上的JavaScript会怎么样?您是否只针对使用Safari的移动浏览器? – ngen 2010-12-21 17:58:47

1

据我所知,你可以通过改变风格改变缩放系数文本大小的身体的“-webkit-文字大小调整”元件。

检查此链接了解更多信息:

http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html%23//apple_ref/doc/uid/TP30001266--webkit-text-size-adjust

+0

我需要能够通过JavaScript设置整个浏览器的缩放级别。具体来说,我需要捕捉双击并将缩放级别设置为我认为合适的量。我不想改变DOM元素的大小来实现这一点。用户需要能够从缩放变焦切换到无缝缩放双击变焦。 – JoshNaro 2011-03-24 16:12:26

10

[修订]看来你想捕捉双水龙头在移动Safari浏览器。您可以通过处理touchend事件或使用可用框架(如this site中提供的框架)来实现此目的。

经修订的演示看看:http://jsbin.com/atayo4/20

<p id="tap">double tap to zoom</p> 
    <input id="zoomWidth" type="text" value="400" /> 
    <p id="feedback"></p> 

$(document).ready(function(){ 
    $('#tap').doubletap(
    // double tap handler 
    function(e) { 
     $('#feedback').addClass('red').html('double tap! Zoom width: ' + $('#zoomWidth').val()); 

     var zoomWidth = $('#zoomWidth').val(); 

     // zoom with the new width 
     $('meta[name="viewport"]').attr('content', 'width=' + zoomWidth + ', user-scalable:no'); 

     $('#zoomWidth').val(parseInt(zoomWidth, 10) - 25); 
    }, 

    // single tap handler 
    function(e) { 
     $('#feedback').removeClass('red').html('single tap! Zoom width: ' + $('#zoomWidth').val()); 
    }, 

    // double tap delay, default 500 
    400 
    ); 
}); 
1

我试着用JavaScript meta标签的最小/最大尺度和宽度操纵无济于事。我没有试图用代码设置缩放级别(我认为这是不可能的),而是在相对较大的图像上创建小型隐形框。这将允许用户通过原生双击图像的有趣部分来放大(和缩小)。

相关问题