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' を読み取れません
「クリック」イベントの場合、ボタンが作成される前にイベントがトリガーされたと思います。
助けてください!