我正在尝试制作一个Chrome扩展程序,通过popup.html文件将代码注入活动网页...
popup.html>
<!DOCTYPE html>
<html>
<body>
<button id="Mr_Button-Click_Extend">hello this is a test</button>
</body>
</html>
<script>
document.getElementById("Mr_Button-Click_Extend").addEventListener("click", TheGreatEmbed()
{
chrome.tabs.executeScript(null, {file: 'js/inject.js'});
});
</script>
js / inject.js&gt;
document.write('<h1 style="position: fixed; top: 200; left: 200; z-index: 999999;">testing... testing...</h1>');
清单&gt;
{
"name": "GAME HUB.io copy",
"version": "0.0.1",
"manifest_version": 2,
"description": "YEET",
"homepage_url": "https://www.youtube.com/channel/UCbmPRCzP88oaId-4piz5Weg",
"icons": {
"128": "icons/Icon-128.png"
},
"default_locale": "en",
"browser_action": {
"default_icon": "icons/Icon-128.png",
"default_title": "GAME HUB.io TEST MESSAGES",
"default_popup": "src/html/popup.html"
},
"permissions": [
"activeTab",
"http://*/*",
"https://*/*",
"<all_urls>",
"webRequest"
]
}
这个问题已经简化,以便更容易理解...... 由于@Drapaster对旧问题的回答,尝试解决其他更复杂的问题。
上面的代码示例只是我努力实现的基本功能。
问题是为什么这不起作用?我在这里错过了什么?我是否需要将内容从脚本标记移动到名为的新文件:popup-helper.js?修改清单?或者是别的什么?请帮忙......
答案 0 :(得分:0)
根据https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution Chrome扩展程序限制使用内联javascript代码,如:
的onclick =&#34; ...&#34;
但
chrome.tabs.executeScript(null, {file: 'js/inject.js'});
看起来不错。
尝试以这种方式附加点击事件:
document.getElementById("someH2Id...").addEventListener("click", function()
{
chrome.tabs.executeScript(null, {file: 'js/inject.js'});
});