我已成功创建了一个chrome扩展程序,只需在按下时显示hello word。现在,当我按下警报出来时,我试图演示一个简单的按钮,不起作用。我在想,如果是因为我在里面使用javascript而且它有html扩展名。
在我的文件夹中,在chrome中加载了内部 A)的manifest.json B)lab.html c)图标
lab.html
<textarea id="s" rows="2" cols="4" name="p"></textarea></br>
<button onclick="button()">Submit</button>
<script>
function button()
{
alert("alert");
}
</script>
清单
{
"name": "Your Extension Name",
"description": "Your Extension Description",
"browser_action": {
"default_icon": {
"38": "icon.png"
},
"default_title": "Your Extension Popup Title",
"default_popup": "lab.html"
},
"manifest_version": 2,
"update_url": "http://clients2.google.com/service/update2/crx",
"content_security_policy": "script-src 'self' https://www.google.com; object-src 'self'",
"version": "0.1"
}
答案 0 :(得分:2)
由于Content Security Policy,您无法执行内联JavaScript。 Chrome dev docs还有其他详细信息。
您基本上必须将JavaScript拉入另一个文件。
// script.js
function button()
{
alert("alert");
}
document.addEventListener('DOMContentLoaded', function () {
document.querySelector('button').addEventListener('click', button);
});
答案 1 :(得分:1)
尝试重新格式化您的javascript:
function button(){
alert('alert');
}
然后在页面加载后立即调用您的函数,以确保它正常工作。
这样做:
function button(){
alert('alert');
}
button(); //call it immediately
让我知道它是怎么回事。