我一直试图让单个页面应用程序在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页面。任何人都有解决方案或任何有关如何深入了解此问题的建议?
答案 0 :(得分:2)
来自the Firefox popstate
documentation:
浏览器倾向于在页面加载时以不同方式处理popstate事件。 Chrome和Safari总是在页面加载时发出popstate事件,但是 Firefox没有。
正如epascarello在评论中所说,在load
事件中初始化变量,所有内容都适用于Chrome / Safari和Firefox。