onclick不为Chrome扩展工作

onclick not working for Chrome Extension?

本文关键字:工作 扩展 Chrome 不为 onclick      更新时间:2023-09-26

我试图为谷歌浏览器创建一个扩展,和onclick方法似乎不工作。我有一个html文件弹出。html:

<!DOCTYPE html>
<html>
<body>
<p id="demo">Before clicking button</p>
<button type="button" id="thing">Pls work</button>
<script src="popup.js"></script>
</body>
</html>

和JavaScript文件pop .js:

var a =0;
function myFunction()
{
    a= a +1;
    document.getElementById('demo').textContent=a;
}
document.getElementById('thing').onclick = myFunction();

最后是一个清单文件:

{
  "name": "Hello World!",
  "version": "1.0",
  "manifest_version": 2,
  "description": "My first Chrome extension.",
  "browser_action": {
    "default_icon": "shark.png",
    "default_popup": "popup.html"
  }
}

当我加载这个扩展到Chrome,然后点击扩展,它呈现一个扩展窗口,直接说"1",而不是消息"点击按钮之前。"然后,当我尝试单击按钮时,什么也没有发生-也就是说,文本保持为1,并且不像它应该的那样增加。

非常感谢!!

试试这个:

JS:

 window.onload = function() {
    var a =0;
    function myFunction()
    {
        a= a +1;
        document.getElementById('demo').textContent=a;
    }
    document.getElementById('thing').onclick = myFunction;
}
HTML

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="popup.js"></script>
</head>
<body>
<p id="demo">Before clicking button</p>
<button type="button" id="thing">Pls work</button>
</body>
</html>

唯一需要改变的想法是

document.getElementById('thing').onclick = myFunction();

document.getElementById('thing').onclick = myFunction;

第一个on执行函数,而不是设置函数为onclick事件执行。