【发布时间】:2015-05-08 04:34:11
【问题描述】:
我正在使用onhashchange window event 来检测my single page webapp 的url 哈希变化。这使我能够触发 AJAX,同时保留浏览器历史记录。
- 用户点击带有 href="#hashlink" 的锚点。
- onhashchange 检测到 URL 更新。
- #hashlink 被提取并作为 AJAX url (/partials/hashlink.php) 传入。
我发现了一个问题。您可能已经意识到,Facebook 和 Twitter 已经开始在应用内浏览器中启动外部链接。它似乎阻止了页面锚点 href 的默认操作,这已经杀死了我的哈希更改检测。因此我的 webapp 几乎没用 :-(
Facebook 和 Twitter 的应用内浏览器是最近才发布的,因此要找到解决方案非常困难。
提前致谢!
【问题讨论】:
-
没有升级到现代 HTML5 History api 的原因?
-
这是一个很好的观点,但问题不在于历史。这是我检测哈希更改以触发我的 AJAX 的方式。我想我只是想知道它在这些应用内浏览器中不起作用的原因。
标签: javascript ajax facebook twitter