从Google Chrome 78以及Microsoft Edge 82离开页面或关闭页面时,要触发的事件内不允许同步 XMLHttpRequest (同步 XHR) 处理。
在本公司的标准功能中,此Google Chrome以及Microsoft Edge的设计(式样)更改没有影响。
但是,在客户创建的程序以及合作伙伴解决方案中可能有影响。
每个合作伙伴解决方案请联系每个销售伙伴。
受影响的事件为以下4种类。
此事件内的同步 XHR将不被允许,因此使用同步 XHR时需要修复。
■ beforeunload
// 事件的设置 (onbeforeunload )
window.onbeforeunload = function(e){
// ...
}
// 事件的设置 (addEventListener)
window.addEventListener( "beforeunload", function ( event ) {
// ...
} ) ;
■ unload
// 事件的设置 (onunload)
window.onunload = function ( event ) {
// ...
}
// 事件的设置 (addEventListener)
window.addEventListener( "unload", function ( event ) {
// ...
} ) ;
■ pagehide
// 事件的设置 (onpagehide)
window.onpagehide = function ( event ) {
// ...
}
// 事件的设置 (addEventListener)
window.addEventListener( "pagehide", function ( event ) {
// ...
} ) ;
■ visibilitychange
// 事件的设置 (onvisibilitychange)
document.onvisibilitychange = function ( event ) {
// ...
}
// 事件的设置 (addEventListener)
document.addEventListener( "visibilitychange", function ( event ) {
// ...
} ) ;
同步 XHR的直接使用之外,在如下的Accel Platform的Client JavaScript API 内部也使用了同步 XHR。
・jsspRpc
・动态获取信息的imui组件的方法
・数值显示格式 API
另外,作为Google Chrome 78 以及 Microsoft Edge 82的暂定处置(选项),可以允许该事件内的同步 XHR处理。
■Allows synchronous XHR requests in page dismissal
Allows synchronous XHR requests during page dismissal when the page is being navigated away or closed by the user.
用户离开页面或关闭页面时,请允许离开页面(关闭页面)之间的同步 XHR 请求。
Google Chrome: chrome://flags/#allow-sync-xhr-in-page-dismissal
Microsoft Edge: edge://flags/#allow-sync-xhr-in-page-dismissal
・允许的情况下更改为Enabled。(Default 是 Disabled)
・2020年05月目前 此暂定处置(选项)在Google Chrome 88 以及Microsoft Edge 88 中计划废止。
-- 适用对象 --------------------------------------------------
iAP/Accel Platform/所有更新版本
------------------------------------------------------------------
FAQID:1013
关于Google Chrome 78及之后版本以及Microsoft Edge 82及之后版本的影响