0

非常に奇妙なエラーがあります。Appmode で実行される Web ページがあります (iOS のホーム画面に追加する場合)。同じドメイン (test2.html) 内の別のページに転送される A 要素が 1 つあります。クリックすると、アプリモードが終了し、新しいブラウザ ウィンドウが開きます。

ただし、 location.href = 'test2.html' を作成すると機能します。そして今、奇妙な部分、test2.html には、href="test1.html" を持つ A 要素が 1 つだけあり、それが機能するようになりました。

他のリンクをクリックする前に location.href を実行したことがある場合、すべてのリンクは自分のドメインで機能するという論文があります。

私のテストケース:

Test2.html

        <a href="javascript:void();" onclick="transfer();">Test1</a>
        <script>
        function transfer(){
            location.href = "test1.html";
        }
        </script>

Test1.html

        <a href="test2.html">Test2</a>

Test1 と同様に Test2 を変更し、href を変更するだけで壊れます。

なぜこれが起こっているのか、私には本当にわかりません。同じドメインで location.href を実行した直後に機能するのはなぜですか?

4

1 に答える 1

1

私はまったく同じ問題を抱えていました。今のところ、リンクが false を返すようにするだけで解決しました。

<a href='#' onclick='doSomething(); return false;'>test</a>

編集: これはより良い答えのようです: iPhone Safari Web App opens links in new window

于 2012-09-11T10:10:34.180 に答える