Chrome default_popup没有运行Javascript

时间:2014-02-22 18:22:27

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

我正在尝试将此添加到Chrome上的default_popup,但是,似乎javascript根本没有运行。我已经在JSFiddle上测试了它并作为一个独立的文件,它工作正常。但是,一旦将其添加到我的扩展程序中,它就无法正常工作。

编辑:根据第一个答案更新了代码以符合我的想法。但是,它不起作用。

popup.html

<html>
    <body>
        <style>
          // Some CSS used in the page 
        </style>
        <script type="text/javascript" src = "script.js"></script>
        <div id="save">Do Stuff</div>
    </body>
</html>

的script.js

document.getElementById('save').onclick = function(e) {
  window.alert("asdf");
}

2 个答案:

答案 0 :(得分:0)

仔细查看Chrome扩展程序和应用中的Content Security Policy。您不能使用内联脚本。

答案 1 :(得分:0)

首先,如果你想测试你的脚本是否成功执行,那么就这样做

JS(script.js)

alert('Script is running');
document.getElementById('save').onclick = function(e) {
  window.alert("asdf");
}

其次,您的代码中存在问题。您正在尝试绑定save元素上的事件侦听器,当您附加事件时,该元素在DOM中不存在。所以

  • 最后加载您的脚本(OR)
  • 文档准备就绪时附加事件侦听器

因此,要解决您的问题,请尝试最后加载脚本。更改div#savescript代码的顺序,使其看起来像这样

<div id="save">Do Stuff</div>
<script type="text/javascript" src="script.js"></script>

如果它无法解决您的问题,请告诉我。