我有一个非常奇怪的错误。我有一个在 Appmode 下运行的网页(当您在 iOS 上添加到主屏幕时)。我有一个 A 元素可以转移到同一域中的另一个页面(test2.html)。如果我点击它,appmode 就会关闭,并打开一个新的浏览器窗口。
但是,如果我创建一个 location.href = 'test2.html' 它就可以了。现在奇怪的是,在 test2.html 上我只有一个带有 href="test1.html" 的 A 元素,现在它可以工作了。
我有一个论点,如果您在单击任何其他链接之前有时已经完成了 location.href,则每个链接都将在您自己的域中工作。
我的测试用例:
测试2.html
<a href="javascript:void();" onclick="transfer();">Test1</a>
<script>
function transfer(){
location.href = "test1.html";
}
</script>
测试1.html
<a href="test2.html">Test2</a>
您可以更改 Test2 使其与 Test1 类似,只需更改 href 即可。
我真的不知道为什么会这样。为什么在同一域中完成 location.href 后它才起作用?