iOS新窗口在应用程序模式下打开



我有一个非常奇怪的错误。我有一个在应用程序模式下运行的网页(当你在iOS上添加到主屏幕时)。我有一个A元素,它会转移到同一域中的另一个页面(test2.html)。如果我点击它,appmode就会退出,并打开一个新的浏览器窗口。

但是,如果我创建一个位置.href='test2.html',它就可以工作了。现在奇怪的是,在test2.html上,我只有一个href="test1.html"的A元素,现在它可以工作了。

我有一个论点,如果你在点击任何其他链接之前做了一个位置.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>

您可以更改Test2,使其类似于Test1,只需更改href,它就会崩溃。

我真的不知道为什么会发生这种事。为什么你在同一个域中完成定位.href后它就可以工作了?

我也遇到过同样的问题。目前,我只是通过使链接返回错误来解决这个问题:

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

编辑:这似乎是一个更好的答案:iPhone Safari Web应用程序在新窗口中打开链接

最新更新