Я создал расширение Chrome, которое отправляет форму в GTmetrix.Это HTML-код:
<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>
</html>
Это JS-файл:
document.addEventListener('DOMContentLoaded', function() {
console.log("f")
var checkPageButton = document.getElementById('checkPage');
checkPageButton.addEventListener('click', function() {
console.log("f")
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 = '';
i.name = 'url';
i.value = tab.url;
f.appendChild(i);
d.body.appendChild(f);
f.submit();
console.log("a")
console.log(f)
});
}, false);
}, false);
Я добавил события console.log, чтобы убедиться, что код выполняется, однако яожидайте, что HTML представит отправленную форму, включая ответ.Проблема заключается в том, что URL-адрес вкладки добавляется в html только при нажатии на кнопку из-за (d.body.appendChild (f);), поэтому я не уверен, почему его не вижу.