扩展中的javascript不工作
我正在尝试制作一个阻止iFrame的chrome扩展。我有一个扩展中的javascript不工作,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我正在尝试制作一个阻止iFrame的chrome扩展。我有一个content.js文件,其中包含javascript代码,但不执行。 这是我的manifest.json: { "manifest_version":2, "name":"Ad Killer", "description":"A Basic program for blocking ads", "version":"0.1", "background":{ "scripts":[ "background.js"
content.js
文件,其中包含javascript代码,但不执行。
这是我的manifest.json:
{
"manifest_version":2,
"name":"Ad Killer",
"description":"A Basic program for blocking ads",
"version":"0.1",
"background":{
"scripts":[
"background.js"
]
},
"content_scripts":[
{
"matches":[
"<all_urls>"
],
"js":[
"jquery.js"
]
}
],
"browser_action":{
"default_icon":"ad128.png",
"default_title":"Ad Killer"
}
}
"content_scripts":[
{
"matches":[
"<all_urls>"
],
"js":[
"jquery.js",
"content.js"
]
}
],
{
“清单版本”:2,
“姓名”:“广告杀手”,
“说明”:“阻止广告的基本程序”,
“版本”:“0.1”,
“背景”:{
“脚本”:[
“background.js”
]
},
“内容脚本”:[
{
“匹配项”:[
""
],
“js”:[
“jquery.js”
]
}
],
“浏览器操作”:{
“默认图标”:“ad128.png”,
“默认标题”:“广告杀手”
}
}
Cotent.js:
var elems = document.getElementsByTagName("iframe");
for (var i = 0, max = elems.length; i < max; i++) {
elems[i].hidden = true;
var elems=document.getElementsByTagName(“iframe”);
对于(变量i=0,max=elems.length;i
我的问题是,有没有办法让
content.js
中的javascript正常工作?如果有任何帮助,我们将不胜感激。您的清单当前正在向您访问的每个页面添加jquery.js。您只需将content.js添加到“content\u scripts”数组中。假设content.js与manifest.json位于同一位置:
{
"manifest_version":2,
"name":"Ad Killer",
"description":"A Basic program for blocking ads",
"version":"0.1",
"background":{
"scripts":[
"background.js"
]
},
"content_scripts":[
{
"matches":[
"<all_urls>"
],
"js":[
"jquery.js"
]
}
],
"browser_action":{
"default_icon":"ad128.png",
"default_title":"Ad Killer"
}
}
"content_scripts":[
{
"matches":[
"<all_urls>"
],
"js":[
"jquery.js",
"content.js"
]
}
],
清单中有定义脚本何时运行的选项,但我从来没有在这些选项上取得过多的成功,您可以在这里探索它们:请参阅run\u at
属性
您甚至可能需要设置超时或轮询来查询iFrame,因为其中一些可能是异步创建的,也就是说,在加载广告内容之后。请不要将jQuery加载到每个页面(内容\u脚本
与您的匹配
)除非你需要。jQuery是一个85kiB的最小化代码。这是一个巨大的负担,让每一页都有负担。我们这些打开了100个选项卡的人怎么办?虽然你可能真的需要加载jQuery,但很可能你这样做是为了方便在你自己的代码中通过不使用普通JavaScript。如果是这样的话(我们无法知道),从用户的角度来看,这样做是一个非常糟糕的权衡。