2

私は、同じサーバー上にある多数の小規模なモバイル向けに最適化されたアプリケーションにアクセスするためのクイック ランディング ページに取り組んでいます。基本的にダッシュボード パターン。ツールバーの多いモバイル Safari ではなく、フルスクリーン モードでどのアプリにもアクセスできるように、ホーム画面に表示したいと考えています。ただし、リンクをクリックすると、フルスクリーン モードから Safari に移動します。これはまさに私が望んでいないことです。

target別のページに移動している間、フルスクリーン モードを維持する方法 (アンカーの属性を使用するなど) はありますか? それとも、すべてをに投げるべき<iframe>ですか?

4

2 に答える 2

5

onclickJavaScript を使用してイベントをインターセプトする必要があります。たとえば、タグに適用された css クラスでiWebKitが行うことは次のとおりです。noeffect<a>

window.onload = function () {
    function fullscreen() {
        var a = document.getElementsByTagName("a");
        for (var i = 0; i < a.length;i++) {
            if (a[i].className.match("noeffect")) {
                // Does nothing
            }
            else {
                a[i].onclick = function () {
                    window.location = this.getAttribute("href");
                    return false;
                };
            }
        }
    }
};
于 2011-03-24T12:26:43.143 に答える
3

onclickモバイル Safari でエラーが発生すると、Safari はフルスクリーン モードを解除します。POSTまたはGET. _ window.locationJavaScript で設定すると、フルスクリーン モードのままになります。

各アンカーにイベント ハンドラーを設定するよりも委任を好みます。jQuery の例を次に示します。

$(window).click(handleClick);

function handleClick(e) {
    var target = $(e.target).closest('a');
    if( target ) {
        e.preventDefault();
        window.location = target.attr('href');
    }
}
于 2011-03-25T22:20:56.087 に答える