gpt4 book ai didi

jquery - Chrome 扩展开发 : Modifying the DOM using jQuery

转载 作者:行者123 更新时间:2023-12-03 21:51:27 25 4
gpt4 key购买 nike

好的。因此,我阅读了内容脚本等内容,包括我将在下面添加的其他几篇 SO 文章,但这仍然不起作用!

我的_manifest.json_:

{
"name": "name",
"version": "1.0",
"description": "desc",
"browser_action": { "default_icon": "icon.png" },
"permissions": [ "tabs", "http://*/*" ],
"background_page": "background.html",
"content_scripts": [ {
"all_frames": true,
"js": [ "content.js" ],
"matches": [ "http://*/*", "https://*/*" ]
} ]
}

我的_background.html_:

<!doctype html>
<html>
<head>
<title>Background Page</title>
<script src="jquery.min.js"></script>
<script src="content.js"></script>
</head>
<body>
<script>
chrome.browserAction.onClicked.addListener(function(tab)
{
chrome.tabs.executeScript(null, {file:"content.js"});
});
</script>
</body>
</html>

我的_content.js_:

$('body').prepend('<h1>Testing!</h1>');
$('body').css('background', '#f00 !important');

现在,我只是想修改选项卡主体的背景颜色。我已经添加了点击监听器来运行我的background.html 文件,但它不起作用。调试时,我在 background.html 文件中的脚本调用上设置了断点,并且执行了executeScript 事件,但我的 content.js 文件断点没有被命中。我认为在我的manifest.json 文件中的“content_scripts”下有content.js 文件就足够了,但是如果我删除background.html 文件,什么也不会发生。

任何人都可以帮我以任何方式修改选项卡的内容吗?!感觉就像我错过了一些东西,因为我觉得我让这件事变得更加困难。如果有比我想要做的更简单的方法,我愿意接受任何建议/最佳实践。

SO 研究文章

最佳答案

后台页面有点像您自己的迷你服务器 - 它是一个完全隔离的页面,与用户访问的页面无关。它用于控制其余扩展组件,因为它始终在后台运行。

内容脚本是一些 JavaScript 代码,它们被注入(inject)到用户访问的实际页面中,并且可以访问和修改父页面的 DOM。

因此,要让您的扩展正常工作,您需要删除

<script src="jquery.min.js"></script>    
<script src="content.js"></script>

从后台页面,并通过 list 注入(inject) jquery 作为内容脚本:

"content_scripts": [ {
"all_frames": true,
"js": [ "jquery.min.js" ],
"matches": [ "http://*/*", "https://*/*" ]
} ]

或使用chrome.tabs.executeScript:

chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file:"jquery.min.js"}, function() {
chrome.tabs.executeScript(null, {file:"content.js"});
});
});

关于jquery - Chrome 扩展开发 : Modifying the DOM using jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8017463/

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