1

私は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が実行されないため、「動作しています」というメッセージが表示されないことです。私はここで何を逃しましたか?

4

1 に答える 1

2

AFAIK、 DOMContentReadyイベントはなく、DOMContentLoadedがあります

コードをこれに置き換えてみてください-

 function check() {
    alert('its working');
 };
 document.addEventListener('DOMContentLoaded', function () {
    document.getElementById('login').addEventListener('click', check);
 });
于 2012-12-26T15:57:52.207 に答える