Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html chrome和firefox中的onpopstate_Html_Firefox_Google Chrome - Fatal编程技术网

Html chrome和firefox中的onpopstate

Html chrome和firefox中的onpopstate,html,firefox,google-chrome,Html,Firefox,Google Chrome,我使用pushState和onPopState创建ajax导航 但这里有一个小问题 在第一次访问页面或页面刷新时,chrome会触发onPopState事件,但firefox不会 这导致chrome两次加载内容,但firefox运行良好 我不知道哪一个工作正常,我如何解决这个问题 在旧版本中,这种行为似乎正好相反:)) 我解决了这个问题: window.onpopstate = function(event) { if (!event.state) return; ajaxPa

我使用pushStateonPopState创建ajax导航

但这里有一个小问题

在第一次访问页面或页面刷新时,chrome会触发onPopState事件,但firefox不会

这导致chrome两次加载内容,但firefox运行良好

我不知道哪一个工作正常,我如何解决这个问题

在旧版本中,这种行为似乎正好相反:))

我解决了这个问题:

window.onpopstate = function(event) 
{
    if (!event.state) return;
    ajaxPage(document.location.href);
};

对于我来说,这在早期的Safari版本中不起作用。 如果需要,我们可以使用domReady侦听器实现自己的window.onpopstate

  • 在dom准备好之前,我们不会使用它
  • Chrome的初始onpopstate是在
一般的问题是:

当前的HTML5规范规定,在初始页面加载时不应触发“popstate”。Chrome和大多数Safari版本并不遵循这一点。 Chrome团队应该注意-请“明星”