Ray*_*Ray 4 javascript websocket internet-explorer-11
我们有一段代码,每次打开应用程序时都会创建多个 websocket 实例。
privateMembers.webSocket = new WebSocket(url, protocol);
Run Code Online (Sandbox Code Playgroud)
其中 url 包含身份验证令牌。当应用程序关闭/卸载时,这些实例也会关闭。当观察到问题时,应用程序被嵌入 (iframe) 到另一个应用程序。
我们注意到在浏览器的控制台上记录了 SecurityError 异常。当这种情况发生时,下一次初始化时创建的 websocket 的数量就会减少。例如,我们正在创建 5 个 websocket 实例,在 iframe 下次启动时,它只会创建 4 个实例,并记录此异常。每次卸载应用程序时,我们都会清除计数和数组。
此外,这只发生在最新版本的 IE 11 和 Edge 上。
IE 11 限制为每个主机 6 个 websocket 实例。似乎在最新版本的 IE 11 (11.xxx) 上,似乎有关于如何处理这些实例的更新。
如果我们关闭一个具有 websocket 连接的 iframe 并且没有在这些实例上触发 onclose,这些实例仍然存在但没有任何引用(悬空)。
为了解决我们的问题,我们必须检查所有这些 websocket 实例,并确保在关闭 iframe 时它们都已关闭。创建的实例数量减少是由于未关闭的 websocket 实例。
我们仍然没有在最新的 IE 11 版本上找到任何关于此的文档。如果有人能提供这个,那将是非常棒的,非常感谢。
| 归档时间: |
|
| 查看次数: |
5390 次 |
| 最近记录: |