Firefox addon 设置超时不';我不能和插件一起工作

Firefox addon 设置超时不';我不能和插件一起工作,firefox-addon,settimeout,firefox-addon-sdk,Firefox Addon,Settimeout,Firefox Addon Sdk,我正在用builder.addons.mozilla制作一个插件,我已经在下面发布了main.js代码。这个想法是,当我单击插件的小部件时,它通过将disableWebIQ变量设置为true来禁用在panelist-webiq-cdn.appspot.com/warptest上运行的脚本。设置变量是可行的,但每当安装插件时,页面中脚本中的setTimeout调用都不起作用。向页面添加PageMod是否会禁用setTimeout 按钮脚本和myScript.js的代码没有太多功能,而且myScri

我正在用builder.addons.mozilla制作一个插件,我已经在下面发布了main.js代码。这个想法是,当我单击插件的小部件时,它通过将disableWebIQ变量设置为true来禁用在panelist-webiq-cdn.appspot.com/warptest上运行的脚本。设置变量是可行的,但每当安装插件时,页面中脚本中的setTimeout调用都不起作用。向页面添加PageMod是否会禁用setTimeout

按钮脚本和myScript.js的代码没有太多功能,而且myScript.js在您单击小部件时也不会运行,所以我怀疑这是禁用页面中setTimeout的原因

var ss=require(“简单存储”);
ss.storage.enabled=true;
ss.storage.panelIdList=[];
const widgets=require(“widget”);
常量数据=需要(“自身”)数据;
var player=widgets.Widget({
id:“玩家”,
宽度:16,
标签:“PanelistWebIQ”,
contentURL:data.url(“buttons.html”),
contentScriptFile:data.url(“buttonScript.js”),
onClick:function(){
if(ss.storage.enabled){
ss.storage.enabled=false;
pageMod.destroy();
}
否则{
ss.storage.enabled=true;
pageMod=pageModModule.pageMod({
包括:“*”,
contentScriptWhen:'开始',
contentScriptFile:data.url('myScript.js')
});
}
}
});
var pageModModule=require(“页面修改”);
var pageMod=pagemodule.pageMod({
包括:“*”,
contentScriptWhen:'开始',
contentScriptFile:data.url('myScript.js'),
onAttach:功能(工作程序){
var url=worker.url;
var newPanelId='';
if(url.match(/^https?:\/\/panelist webiq cdn.appspot.com.*panelId=.*$/){
var模式='panelId=';
var index=url.indexOf(模式);
var sub=url.substring(index+pattern.length);
索引=sub.indexOf('&');
如果(索引==-1){
newPanelId=sub;
}
否则{
newPanelId=sub.substring(0,索引);
}
}
var list=ss.storage.panelIdList;
if(newPanelId){
var matchFound=false;

对于(var ctr=0;ctr显然,如果您的脚本中有一个警报,该警报可以禁用将来对setTimeout的调用。我从我的插件中删除了所有警报,它工作得很好。

不,内容脚本肯定不会禁用超时。但您应该很容易测试
myScript.js
是否相关-用清空文件并再次测试。