单击带有Chrome扩展名的按钮

时间:2018-01-14 03:20:09

标签: javascript google-chrome dom google-chrome-extension

我想知道如何检测具有特定ID的按钮是否在我的Chrome扩展程序的网页上被点击。 使用我的代码我有一个错误,说我的元素是未定义的。 这是我的清单:

{
"manifest_version": 2,

"name": "app",
"description": "my app",
"version": "1.0",

"browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html",
    "default_title": "Changer le background"
},
"permissions": [
    "activeTab",
    "storage"
]

}

我的popup.js文件:

document.addEventListener('DOMContentLoaded', () => {
getCurrentTabUrl((url) => {
    document.getElementById('mybutton').addEventListener('click', function() {
        var script = "console.log('clicked');";
        chrome.tabs.executeScript({code: script});
    });
});

});

1 个答案:

答案 0 :(得分:0)

你的popup.js将不会加载,直到用户自己点击扩展程序的图标...我认为你应该改变你的方法并使用这样的内容脚本:



document.getElementById('mybutton').addEventListener('click', function() {
        console.log('clicked');
});




您需要更新manifest.json才能使用内容脚本,如下所示:



"content_scripts": [
  {
    "matches": ["the url of a page for the script", "the url of another page"],
    "js": ["your_script.js"]
   }
   ],