- 问题说明:
点击左侧菜单时,右侧页面中的iframe加载菜单内容,在iframe加载的页面A中使用了websocket。点击其它菜单时,无法主动关闭websocket,
可能会造成websocket链接无法接收到数据。
- 解决办法:
由于iframe没有onbeforeunload事件,所以无法直接处理,最终只能变相解决。
把页面A的websocket变量放到全局的JS文件中定义(假设为ws),当点击其它菜单时,判断菜单节点是否是websocket的节点ID,
若不是则调用ws关闭方法。同时在A中定义window.onbeforeunload处理方法,用来处理用户可能刷新主页面。