Chrome V80功能已弃用

时间:2020-01-22 11:18:22

标签: javascript google-chrome

从Chrome V80开始,不赞成使用preununload,unload等事件。我们将如何在JavaScript中进一步处理此类现有事件?

我的要求是在用户尝试刷新/重新加载页面(F5或ctrl + r)或浏览器后退按钮时发出警报,我需要发出警报,并在确认后需要重新加载或后退。这是在JSF2.2中

但是该行为不会影响其他浏览器的功能。

有人可以帮我吗

1 个答案:

答案 0 :(得分:1)

beforeunload事件将仍然可用。更改的是在页面关闭期间执行同步XHR的功能。长期将不推荐使用的真正有害的东西是同步XHR,因为它会损害用户体验。您仍然可以使用beforeunloadGetting Rid of Synchronous XHRs特别提到了这一点:

注意:我们希望在计划于2020年初发布的Chrome版本80中的页面卸载期间删除对XMLHTTPRequest()同步使用的支持。

Chrome Platform Status: Disallow sync XHR in page dismissal中也有有关此特定更改的信息。 Deprecations and removals in Chrome 80中有关于Chrome 80的更多信息:

现在,当页面离开用户导航或被用户关闭时,Chrome不允许在页面关闭期间同步调用XMLHTTPRequest()。这适用于beforeunloadunloadpagehidevisibilitychange

为确保在页面卸载时将数据发送到服务器,我们建议使用sendBeacon()Fetch keep-alive。目前,企业用户可以使用AllowSyncXHRInPageDismissal策略标志,而开发人员可以使用原始试用标志allow-sync-xhr-in-page-dismissal来允许页面卸载期间的同步XHR请求。这是一项暂时的“退出”措施,我们希望在Chrome 82中删除此标志。

请注意,页面关闭期间的弹出窗口也将被禁止:

页面在卸载过程中可能不再使用window.open()打开新页面。 Chrome弹出窗口阻止程序已经禁止了此操作,但是现在禁止是否启用了弹出窗口阻止程序。