Сейчас я перерабатываю свое расширение Chrome для FF и не могу выполнить POST.
Для Chrome, где он работает, как и ожидалось, у меня есть background.js, который открывает code.js:
Chrome Background.js :
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {file: "code.js"})
});
Chrome Code.js
(function(d){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=document.location.href;f.appendChild(i);d.body.appendChild(f);f.submit();})(window.open().document)
Делая это для FF, я пытаюсь сделать следующее:
FF Background.js:
chrome.browserAction.onClicked.addListener(tab => {
chrome.tabs.create({ url: 'http://gtmetrix.com/analyze.html?bm', function (tab) {
browser.tabs.executeScript(tab.id, { file: "code.js" },});
});
FF Code.js
function submitForm(request, sender, sendResponse)
{
var f = document.createElement('form');
f.setAttribute('method','post');
f.setAttribute('action','http://gtmetrix.com/analyze.html?bm');
var i = document.createElement('input');
i.setAttribute('type','hidden');
i.setAttribute('name','url]');
i.setAttribute('value', request.url);
f.appendChild(i);
document.getElementsByTagName('body')[0].appendChild(f);
f.submit();
}
chrome.runtime.onMessage.addListener(submitForm);
как упоминалось в https://stackoverflow.com/a/37908997/1992004. Но: после щелчка ничего не происходит, и я не получаю ошибок ...
Может ли кто-нибудь указать мне правильное направление? Где ошибка? Почему это не работает?
@ rd3n https://drive.google.com/open?id=1CgAUmGJ8jXE2umSmVPlbExmNYMToXy-Z
manifest.js
{
"background": {"scripts": ["background.js"]},
"browser_action": {
"default_icon": {
"16": "icon-16.png",
"48": "icon-48.png",
"128": "icon-128.png"
},
"default_title": "ext"
},
"name": "ext",
"short_name": "ext",
"description": "ext",
"homepage_url": "https://example.de/",
"icons": {
"16": "icon-16.png",
"48": "icon-48.png",
"128": "icon-128.png" },
"permissions": [
"tabs",
"http://*/*",
"https://*/*"
],
"version": "0.1",
"manifest_version": 2,
"developer": {
"name": "ext",
"url": "https://example.com"},
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["submitForm.js"]
}
]
}