2010-12-21 57 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標籤的最小/最大尺度和寬度操縱無濟於事。我沒有試圖用代碼設置縮放級別(我認爲這是不可能的),而是在相對較大的圖像上創建小型隱形框。這將允許用戶通過原生雙擊圖像的有趣部分來放大(和縮小)。

相關問題