我正在尝试创建一个 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”
对于“点击”事件,所以我猜该事件是在按钮创建之前触发的。
请帮忙!