Web ページのアドレス バーを非表示にしようとしています。Iphone 4以下では、
window.scrollTo(0,1);
およびメタ タグ。しかし、IOS 6 の場合、これらは機能しないようです。stackoverflow で他の同様の質問を確認しましたが、機能する解決策が見つかりませんでした。誰かが同様の問題に直面しましたか? はいの場合、サイトを Web アプリとしてホーム画面に追加し、そこから起動する以外の解決策はありますか。
ありがとうございました。
Web ページのアドレス バーを非表示にしようとしています。Iphone 4以下では、
window.scrollTo(0,1);
およびメタ タグ。しかし、IOS 6 の場合、これらは機能しないようです。stackoverflow で他の同様の質問を確認しましたが、機能する解決策が見つかりませんでした。誰かが同様の問題に直面しましたか? はいの場合、サイトを Web アプリとしてホーム画面に追加し、そこから起動する以外の解決策はありますか。
ありがとうございました。
スクリプトをいじってみると、次のことに気付きました: ページをリロードするたびに、アドレス バーが非表示になります。したがって、この問題の回避策として、reload イベントを (サイズ変更関数を介して) トリガーし、サイズ変更関数で window.scroll(0,1) を実行します。
私には機能があります
var hideAddressBar = function() {
if(document.documentElement.scrollHeight<window.outerHeight/window.devicePixelRatio)
document.documentElement.style.height=(window.outerHeight/window.devicePixelRatio)+'px';
setTimeout(function() {
window.scrollTo(1,1)
}, 0);
if(navigator.userAgent.match(/Android|iPhone/gi)){
window.scrollTo(0,1);
}
}
最初は、Onload イベントでのみこの関数を呼び出していました。これはios 5では機能していましたが、ios 6では機能していませんでした。私のスクリプトには、ページのレンダリング後に呼び出されるサイズ変更関数があることに気付きました。そこで、サイズ変更の最後に hideaddressbar 関数を呼び出しました。したがって、ページをレンダリングした後にサイズ変更または再読み込みを行う場合は、スクリプトをチェックインすることをお勧めします。その場合は、リロードが完了した後に hideAddressBar を呼び出します。これで問題が解決することを願っています。