为什么chrome.windows.onCreated会在QQ浏览器中执行两次
我在浏览器插件中定义好如下代码
chrome.windows.onCreated.addListener(function(Window,window) {
console.log('新视窗被打开');
});
我这里在QQ浏览器中直接执行了两次,在别的浏览器正常
先判断是否是QQ浏览器,然后外部设置一个变量,第一次的时候++,默认是0,如果不是0就直接return出去
可能是因为QQ浏览器的特性和实现方式与其他浏览器不同,导致 chrome.tabs.onCreated
事件被触发了两次。另外,你的代码中的事件是 chrome.windows.onCreated
,而不是 chrome.tabs.onCreated
,所以可能并不是该事件导致了触发两次。
为了更明确地了解发生了什么,你可以在控制台中打印 Window
对象,以检查它是否包含有关两个事件的信息。
如果你只需要在新窗口被创建时执行特定的代码,可以使用以下代码:
chrome.windows.onCreated.addListener(function(window) {
console.log('新窗口被创建!');
});
这将确保你的代码只会在新窗口被创建时执行一次,并且应该可以在不同类型的浏览器中正常工作。