我在manifest.json文件中编写了以下代码:

{
   "name":"SecondExtension",
   "version":"1.0",
   "manifest_version":2,
   "content_security_policy": "script-src 'self';object-src 'self'",
   "permissions":["tabs", "http://*/*", "https://*/*"],
   "browser_action": {
          "defaul_icon":"icon.png",
          "default_title":"Security" ,
          "default_popup":"pops.html"
   }
}


而且我在pops.html中编写了以下代码

<html>
<head>
<script src='popup.js'>
</script>
</head>
<body>

<p>Username : </p></br><input type="text"  id="name" height="20" width="50" />

<p>Password :</p></br> <input type="password"  id="password" height="20" width="50" />

<a href="pops2.html">login</a>
<button id="login">login</button>
<textarea id="return_name" rows="2" columns="20"></textarea>
</body>
</html>


并且popup.js中的代码是:

function check() {
    alert('its working');
}
document.addEventListener('DOMContentReady', function () {
    document.getElementById('login').addEventListener('click', check);
});


现在的问题是,无论何时我单击登录按钮,JavaScript都无法正常运行,它并没有警告消息“正在运行”。我在这里错过了什么?

最佳答案

AFAIK,没有DOMContentReady事件,没有DOMContentLoaded

尝试以此替换您的代码-

 function check() {
    alert('its working');
 };
 document.addEventListener('DOMContentLoaded', function () {
    document.getElementById('login').addEventListener('click', check);
 });

关于javascript - Chrome扩展程序未触发DOMContentReady,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14042857/

10-10 04:48