gpt4 book ai didi

扩展中的javascript不起作用

转载 作者:行者123 更新时间:2023-11-30 11:43:25 25 4
gpt4 key购买 nike

我正在尝试制作一个阻止 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_scripts":[
{
"matches":[
"<all_urls>"
],
"js":[
"jquery.js"
]
}
],
"browser_action":{
"default_icon":"ad128.png",
"default_title":"Ad Killer"
}
}

Cotent.js:

var elems = document.getElementsByTagName("iframe");

for (var i = 0, max = elems.length; i < max; i++) {
elems[i].hidden = true;

我的问题是有什么方法可以使 content.js 中的 javascript 工作吗?任何帮助将不胜感激。

最佳答案

您的 list 当前正在将 jquery.js 添加到您访问的每个页面。您只需将 content.js 添加到您的“content_scripts”数组。假设 content.js 与您的 manifest.json 位于同一位置:

"content_scripts":[
{
"matches":[
"<all_urls>"
],
"js":[
"jquery.js",
"content.js"
]
}
],

此外,您需要确保代码在 DOM 准备就绪时运行。由于您使用的是 jQuery:

$(document).ready(function() {
//your code here
})

list 有一些选项可以定义脚本何时运行,但我对它们的使用从未取得太大成功,您可以在这里探索它们:https://developer.chrome.com/extensions/content_scripts请参阅 run_at 属性。

您甚至可能希望设置超时或轮询以查询 iframe,因为其中一些可能是异步创建的,即在广告内容加载后创建。

关于扩展中的javascript不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41838214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com