无法创建Chrome扩展程序

时间:2014-03-07 19:51:17

标签: javascript html json google-chrome google-chrome-extension

我已成功创建了一个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"
}

2 个答案:

答案 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

让我知道它是怎么回事。