当window.location.hash在Web应用程序上更改时,Mobile Safari会打开一个新窗口

时间:2014-07-25 21:47:45

标签: javascript mobile-safari window.location

我有一个单页Web应用程序通过更改window.location.hash来更改状态,我有一个事件监听器来处理哈希并根据哈希值显示事物,如下所示:

$(window).on('hashchange', function() {
    processWindowHash();
});

用户可以将Web应用程序添加到其主屏幕并使用它,但是在第一次操作时,由于window.location.hash更改,它会打开一个新窗口。

我的页面上有以下元数据:

<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes" />

我尝试使用window.location.hash = 'foo';语句跟踪每个哈希更改(例如return false),但没有成功。

是否有解决此问题的方法,或者我必须使用其他方式更改应用程序状态而不是window.location.href?

我发现了与此类似的其他问题,但所有其他问题都是关于抓取页面链接点击(例如<a href="">foo</a>)。我没有发现window.location.hash更改。

0 个答案:

没有答案