我想知道如何检测具有特定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});
});
});
});
答案 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"]
}
],