制作一个简单的插件,在加载页面时执行javascript,我想在不同的页面上执行不同的javascript
但是下面的代码没有按预期工作,没有触发“警报”:
background.html
:
<html><body>
<script>
chrome.webRequest.onCompleted.addListener(
function(details) {
alert (details.url);
},
{
urls: ["*"],
types: ["main_frame"]
},
[]
);
</script>
</body></html>
manifest.json
:
{
"name": "JS",
"background_page": "background.html",
"permissions": [
"webRequest",
"*"
],
"version":"0.10"
}
答案 0 :(得分:1)
从扩展程序的后台页面制作的警报和console.log在常规页面上不可见。
如果您想看到它们,则必须打开背景页面:转到扩展程序设置页面(菜单工具/扩展程序),然后点击扩展程序名称下方的“background.html”链接。
在您的情况下,在开发阶段,可以更好地在内容脚本(即不是后台页面)中添加console.log和警报。所以你可以在不打开背景页面的情况下阅读它们。
编辑:根据要求,一个只会提醒该位置的扩展名:
main.js:
alert(document.location.href);
manifest.json:
{
"name": "Any name",
"version": "3.3",
"background_page": "background.html",
"content_scripts": [
{
"matches": ["http://*/*"],
"all_frames" : true,
"run_at" : "document_end",
"js": [
"main.js"
]
}
]
}
是的我测试了它。是的,它听起来很痛苦。您应该在开发期间使用console.log
代替alert
。