PerformanceNavigation 的替代 Javascript 方法(跨浏览器兼容)
Posted
技术标签:
【中文标题】PerformanceNavigation 的替代 Javascript 方法(跨浏览器兼容)【英文标题】:Alternative Javascript Method for PerformanceNavigation (Cross-browser Compatible) 【发布时间】:2020-12-26 09:37:15 【问题描述】:我已经成功实现了以下 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();
);
还有其他的格式化方法吗?
【问题讨论】:
【参考方案1】:正如MDN 中所述,Performance.navigation
已被弃用,因为它在Navigation Timing Level 2 specification 中被标记为这样。按照规范的建议,应该改用PerformanceNavigationTiming
:这与所有最新的主流浏览器兼容。
您要找的房源现在here,您可以查询var perfEntries = performance.getEntriesByType("back_forward");
。
【讨论】:
【参考方案2】:不幸的是,它在 Safari 中不起作用。
确实如此(参见Safari back button doesn't reload page when used):
window.addEventListener("pageshow", function(evt)
if(evt.persisted)
setTimeout(function()
window.location.reload();
,10);
, false);
【讨论】:
以上是关于PerformanceNavigation 的替代 Javascript 方法(跨浏览器兼容)的主要内容,如果未能解决你的问题,请参考以下文章