js:如何在iframe重载前执行特定动作

  • 问题说明:

     点击左侧菜单时,右侧页面中的iframe加载菜单内容,在iframe加载的页面A中使用了websocket。点击其它菜单时,无法主动关闭websocket,

可能会造成websocket链接无法接收到数据。

  • 解决办法:

     由于iframe没有onbeforeunload事件,所以无法直接处理,最终只能变相解决。

把页面A的websocket变量放到全局的JS文件中定义(假设为ws),当点击其它菜单时,判断菜单节点是否是websocket的节点ID,

若不是则调用ws关闭方法。同时在A中定义window.onbeforeunload处理方法,用来处理用户可能刷新主页面。

posted @ 2019-12-04 10:04  huiy_小溪  阅读(581)  评论(0编辑  收藏  举报