1

我正在尝试创建一个 chrome 扩展,但 DOMContentLoaded 出现问题,因为它没有触发。

注意:我的代码取自不同的网站。基本上,我创建了一个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 ,但后来我得到了

未捕获的类型错误:无法读取 null 的属性“addEventListener”

对于“点击”事件,所以我猜该事件是在按钮创建之前触发的。

请帮忙!

4

0 回答 0