【发布时间】:2017-04-07 17:32:15
【问题描述】:
您好,我正在尝试开发一个 chrome 扩展,我是新来的,所以请耐心等待,抱歉我的英语不好,因为这是我所做的:
manifest.json
{
"name": "Linker ",
"manifest_version": 2,
"version": "0.1",
"description": "LInker",
"browser_action": {
"default_icon": "icon.png",
},
"content_scripts": [
{
"matches": ["http://example.com"],
"js": ["myscript.js"]
}
],
"permissions": [
"tabs", "http://*/*", "https://*/*"
]
}
myscript.js
function clickHandler(e) {
chrome.tabs.update({url: "https://example.com"});
window.close();
}
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('bt_click').addEventListener('click', clickHandler);
});
我的想法是当插件在某个网站上运行时,使用内容脚本,一旦在该特定网站上按下按钮以在同一选项卡或新选项卡上打开另一个网站。
问题是当我现在这样做时什么都没有发生我做错了什么? 我希望插件一旦启用,将始终在特定网站运行时运行。 我不明白请任何帮助都会很棒!!!!
【问题讨论】:
-
到目前为止你做了什么来调试它?查看有关如何或为什么不使用 oncontentloaded 的官方文档。 s.o.上有很多现有的答案。已经回答了。
-
我已经看到了控制台,也没有错误我也看到了官方文档,但是对此没有答案,请给我任何关于 s.o 的链接。这将非常有帮助我仍然不明白为什么它不工作我做错了什么?有什么想法会是什么问题?谢谢
-
重复,但答案未被投票或接受,因此不能将其用作 dup-target,但:Chrome content scripts aren't working
-
一些基本的调试技巧:1) document.addEventListener('DOMContentLoaded' 中的断点,看看它是否被命中。2) 验证 html 元素是否确实存在 (document.getElementById('bt_click') ),它可能还不存在的原因有很多。处理这些。
-
很好,第 2 步是的,有按钮的 ID,它的 bt_click 100%,
标签: javascript jquery html google-chrome google-chrome-extension