繁体   English   中英

PerformanceNavigation的替代Javascript方法(跨浏览器兼容)

[英]Alternative Javascript Method for PerformanceNavigation (Cross-browser Compatible)

我已经半成功地实现了以下 Javascript,但是在使用window.performance.navigation实现跨浏览器兼容性(特别是在 Firefox 中)时遇到了一些困难,因为它已被弃用。

到目前为止,这是我实施的内容:

window.addEventListener("load",function(event){
    var historyTraversal=event.persisted||
    (typeof window.performance!=="undefined"&&
    window.performance.navigation.type===2);
    if(historyTraversal){
        window.history.back();
    }
});

格式化这个的任何替代方法?

正如在MDN 上提到的, Performance.navigation已被弃用,因为它在Navigation Timing Level 2 规范中被标记为这样。 按照规范的建议,应改用PerformanceNavigationTiming :这与所有最新的主要浏览器兼容。

您正在寻找的属性现在可以在这里找到,您可以将其查询为var perfEntries = performance.getEntriesByType("back_forward"); .

不幸的是,它在 Safari 中不起作用。

这样做(请参阅Safari 后退按钮在使用时不会重新加载页面):

window.addEventListener("pageshow", function(evt){
    if(evt.persisted){
    setTimeout(function(){
        window.location.reload();
    },10);
}
}, false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM