0

我一直在尝试让单页应用程序在 Chrome、Safari 和 Firefox 上运行,但 Firefox 似乎根本没有执行 window.onpopstate。

window.onpopstate = function() {
    fullpath = location.pathname;
    console.log(fullpath);
}

我有 .htaccess 将所有请求路由回 index.html,因此当客户端发出请求时,浏览器将 url 存储为 javascript 变量并通过 index.html 中的 js 传递

在 Firefox 中运行时,该变量不会传递到 index.html 页面。任何人都对如何深入研究这个问题有解决方案或任何建议?

4

1 回答 1

2

来自Firefoxpopstate文档

浏览器倾向于在页面加载时以不同的方式处理 popstate 事件。Chrome 和 Safari 总是在页面加载时发出 popstate 事件,但 Firefox 不会。

正如 epascarello 在他的评论中所说,在load事件中初始化你的变量,一切都应该在 Chrome/Safari 和 Firefox 中运行。

于 2013-06-04T23:17:08.430 回答