由于页面重新加载时出现暂停错误,WebSocket将关闭

cyb*_*bat 6 safari websocket webpack-dev-server macos-high-sierra

我有一个调用函数来重新加载页面的按钮:

function doReload() {
 window.location='/'
}
Run Code Online (Sandbox Code Playgroud)

Safari 11中大约有5次在控制台中抛出此错误:

WebSocket connection to 'ws://localhost:8080/sockjs-node/978/yzsndro2/websocket' failed: WebSocket is closed due to suspension.
Run Code Online (Sandbox Code Playgroud)

我正在幕后运行Webpack 2 dev服务器.

在Chrome中似乎没有发生.这是High Sierra Beta所以也许是一个bug.

建议或想法?

小智 6

我刚刚在 Safari 11 最新版本中看到了同样的消息。根据webKit代码:https://github.com/WebKit/webkit/blob/master/Source/WebCore/Modules/websockets/WebSocket.cpp#L505

它似乎是由浏览器在缓存网页时触发的,使 DOMObjects 处于非活动状态。以下错误报告解释了该行为如何发生:https://bugs.webkit.org/show_bug.cgi ?id=143513 。