我有一个单页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
更改。