1

Chrome 拡張機能を作成しようとしていますが、DOMContentLoaded が起動しないため問題があります。

注: 私のコードは別の Web サイトから取得したものです。基本的にHTML、ボタン付きのファイルを作成しました:

  <head>
<title>GTmetrix Analyzer</title>
<script src="popup.js"></script>
  </head>
  <body>
    <h1>GTmetrix Analyzer</h1>
    <button id="checkPage">Check this page 
now!</button>
  </body>

これがJS ファイル(popup.js) です。

document.addEventListener
('DOMContentLoaded', 
  function() {
   console.log("f")

  var checkPageButton = 
  document.getElementById('checkPage');


 checkPageButton.addEventListener('click', 
    function() {

  chrome.tabs.getSelected(null, 
  function(tab) {
    d = document;

  var f = d.createElement('form');
  f.action = 'http://gtmetrix.com/analyze.html?bm';
  f.method = 'post';
  var i = d.createElement('input');
  i.type = 'hidden';
  i.name = 'url';
  i.value = tab.url;
  f.appendChild(i);
  d.body.appendChild(f);
  f.submit();

   });

  }, false);
}, false);

イベントが実行されるかどうかを確認するためにconsole.logイベントを追加したので、これが機能していないことを確認した方法です。私も追加 しましrun_at": "document_start たが、その後、

キャッチされていない TypeError: null のプロパティ 'addEventListener' を読み取れません

「クリック」イベントの場合、ボタンが作成される前にイベントがトリガーされたと思います。

助けてください!

4

0 に答える 0