我正在学习Chrome扩展程序的活动页面,根据文档,只会在需要时加载脚本。然后我发现Google Mail Checker的事件页面脚本将添加事件监听器:
// Some declarations
chrome.browserAction.onClicked.addListener(goToInbox);
// ...
我写了一个事件脚本:
chrome.tabs.create({url: 'https://www.google.com'});
function onClickListener() {
chrome.tabs.create({url: 'https://www.bing.com'});
}
chrome.browserAction.onClicked.addListener(onClickListener);
重新加载扩展程序后,将按预期打开google.com的新标签页。几秒钟之后,我的扩展程序在Chrome的任务管理器中消失了,我点击了扩展程序图标。然后,google.com和bing.com都会被打开!所以我知道整个脚本会再次加载。
现在回顾一下Google Mail Checker的脚本。一旦加载脚本,将重复添加监听器,所以我的问题是:是否可以重复添加监听器?如果在加载脚本时,监听器的行为将从A更改为B,那么在第二次加载时会触发哪一个,A或B?