×

监听chrome扩展popup页面消失方法

96
focusOn
2016.12.18 00:25* 字数 239

需求

  • 当用户不小心点击了鼠标或者离开了扩展的popup页面,此时需要对一些数据进行清空或者删除一些不必要的数据.

遇到的问题

  • 然而chrome 扩展官方并没有对popup或者browserAction提供相关页面消失时的监听事件

解决办法

  • 通过不断的查找资料和查阅chrome扩展开发文档,我们可以使用消息通信连接的方式解决了这个问题

具体步骤:

  • 首先在你需要监听页面消失事件的js文件中与background建立连接,相关代码:
//这里主要是为了与background建立连接,当页面关闭的时候连接就会断开,此时background中你注册的连接关闭函数此时会执行,因为background环境一直存在,除非你关闭了电脑
 var port = chrome.runtime.connect();
  • 在background环境注册断开连接时需要处理的方法,相关代码:
  chrome.runtime.onConnect.addListener(function (externalPort) {
        externalPort.onDisconnect.addListener(function() {
        var ignoreError = chrome.runtime.lastError;
        console.log("onDisconnect");
        });
    });

总结

  • 通过以上的方式便实现了类似对popup页面消失时做一些事情的需求。感谢StackOverFlow,神一样的解决问题社区,致敬!
Chrome扩展开发
Web note ad 1