我的firefox扩展在加载时调用一个观察者函数,它拦截来自某些域的http请求(http-on-modify-request)并在新选项卡中打开它们。
我遇到的问题是,如果打开多个浏览器窗口(不是选项卡,而是新的浏览器窗口),则我的扩展程序的JS会多次执行,因此会添加多个事件侦听器。触发所有这些事件侦听器,并立即在多个选项卡中打开截获的http请求。
这里最好的解决方案是什么?如果有一种方法只添加一次事件监听器,那可能仍然是个问题,因为如果我要关闭添加了事件监听器的浏览器窗口,那么就没有事件监听器来拦截这些http请求。
答案 0 :(得分:0)
您应该创建一个变量来判断事件是否已被监听。