Jes*_*ing 18 jquery dom google-chrome-extension
好.所以我已经阅读了内容脚本等等,包括我将在下面添加的其他几篇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://*/*" ]
} ]
}
Run Code Online (Sandbox Code Playgroud)
我的_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>
Run Code Online (Sandbox Code Playgroud)
我的_content.js_:
$('body').prepend('<h1>Testing!</h1>');
$('body').css('background', '#f00 !important');
Run Code Online (Sandbox Code Playgroud)
现在,我只是想修改标签正文的背景颜色.我添加了单击侦听器来运行我的background.html文件,但它不起作用.在调试和执行executeScript事件时,我已经在background.html文件中的脚本调用中打破了,但是我的content.js文件断点没有被命中.我认为在manifest.json文件中的"content_scripts"下面有content.js文件已经足够了,但如果我删除了我的background.html文件,则没有任何反应.
任何人都可以帮我修改标签的内容吗?!感觉我错过了一些东西,因为我觉得我比这更难.如果有一种比我想做的更容易的方式,我会接受任何建议/最佳实践.
ser*_*erg 26
背景页面有点像你自己的迷你服务器 - 它是一个完全孤立的页面,与用户访问的页面无关.它用于控制其余的扩展组件,因为它始终在后台运行.
内容脚本是javascript代码片段,它们被注入到用户访问的实际页面中,并且可以访问和修改父页面的DOM.
因此,要使您的扩展程序正常工作,您需要删除
<script src="jquery.min.js"></script>
<script src="content.js"></script>
Run Code Online (Sandbox Code Playgroud)
从后台页面,并通过清单将jquery注入内容脚本:
"content_scripts": [ {
"all_frames": true,
"js": [ "jquery.min.js" ],
"matches": [ "http://*/*", "https://*/*" ]
} ]
Run Code Online (Sandbox Code Playgroud)
或者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"});
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14387 次 |
| 最近记录: |