21

HTML ページから JS アプリを起動するときに、この 2 つの関数を使用してスケール値を設定およびリセットします。

function setMeta(){
        alert("meta set");
        oldcontent=$('meta[name=viewport]').attr('content') //store the current value
        $('meta[name=viewport]').attr('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, user-scalable=0');
}

function resetMeta(){
        alert("meta reset");
        $('meta[name=viewport]').attr('content', oldcontent);

}

コードは正常に動作しますが、HTML ページがより大きな値にスケーリングされている場合は、setMeta メソッドのように 1.0 に設定されません。のような他の値は正常にuser-scalable機能します。例: HTML ページではスケーリングが許可されていますが、アプリでは許可されていません。

これもdocument.body.style.zoom="100%"; 機能しません。スケールを 1.0 にリセットしても機能しないのはなぜですか?

4

2 に答える 2

0

ビューポート タグをリセットするときは、以前に設定したビューポート アトリビュートを上書きすることを忘れないでください。たとえば、ビューポート タグを

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

resetMeta()関数では、値を次のように設定する必要があります

<meta name="viewport" content="width=920, initial-scale=5.0, maximum-scale=5.0, user-scalable=yes" />

そして、このようなものではありません:

<meta name="viewport" content="initial-scale=5.0" />

幅やスケールを見逃さないように注意してください。

あなたの例の編集版: http://hosting.ambc.hostei.com/html/test.html

于 2013-04-11T13:58:24.367 に答える