2

モバイル デバイスで GWT アプリのアドレス バーを非表示にしようとしています。モバイル コードから以下の JSNI 関数を呼び出していますが、機能しません。JQuery を使用しないで考えられる解決策はありますか?

public static native void hideBar()
/*-{
    $($doc).ready(function() {
        function hideAddressBar() {
            if($doc.documentElement.scrollHeight < $wnd.outerHeight / $wnd.devicePixelRatio) {
               $doc.documentElement.style.height = ($wnd.outerHeight / $wnd.devicePixelRatio) + "px";
            }
        }

        $wnd.addEventListener("load", function() { hideAddressBar(); });
        $wnd.addEventListener("orientationchange", function() { hideAddressBar(); });
    });
}-*/;   
4

1 に答える 1

2

代わりに、アプリをフルスクリーンにしてみませんか?

さまざまな実装 (webkit と gecko プレフィックス、メソッドの命名が W3C 標準と異なるなど) を考慮する必要がありますが、それはあなたの場合の方法のようです。

の代わりにhideAddressBar()goFullScreen()ラフリーにこれを行う:

function goFullScreen() {
    var docElm = $doc.documentElement;
    if (docElm.requestFullscreen) {
        docElm.requestFullscreen();
    } else if (docElm.mozRequestFullScreen) {
        docElm.mozRequestFullScreen();
    } else if (docElm.webkitRequestFullScreen) {
        docElm.webkitRequestFullScreen();
    }
}

MDN のフルスクリーン モードの使用と、hacks.mozilla.orgの Web ブラウザでフルスクリーン API を使用するを参照してください。

また、robnyman からのこの便利な要点もチェックして、簡単に始めてください。

于 2013-06-14T22:41:05.270 に答える