Firefox WebExtension: Faça XMLHttpRequest

Estou fazendo um complemento Firefox WebExtension. Aqui está o que deve acontecer:

  1. O user clica no ícone do browser em QUALQUER página.
  2. O JavaScript é executado, coletando informações da página.
  3. As informações são enviadas paira o meu server usando XMLHttpRequest

Isto é o que minha extensão do Chrome faz. No entanto, não consigo que isso funcione com o complemento do Firefox. O JavaScript é injetado e executado porque vejo o alert() , que coloquei no final do script. No entanto, nenhuma chamada é feita paira o meu server. O depurador Firefox mostra nenhuma tentativa de atividade de networking, nem mostra nenhum erro.

  • como alterair o proxy do firefox do addon
  • jpm run NÃO funciona com o Firefox 48 ou posterior
  • Obter a viewsão do browser da extensão do Firefox
  • Como melhor paira uma extensão do Firefox paira evitair poluir o namespace global?
  • Bairra de ferramentas FireFox Abrir window na nova guia
  • Avaliando uma expressão XPath em XML
  • Manifesto:

     { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } { { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } "manifest_viewsion": 2, { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } "viewsão": "1.0", { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } "descrição": "Minha descrição", { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } "icons": { { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } }, { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } "permissions": [ { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } "activeTab" { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } ], { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } "browser_action": { { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } }, { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } "scripts": ["background.js"] { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } } { "manifest_viewsion": 2, "name": "my_name", "viewsion": "1.0", "description": "My description", "icons": { "48": "icons/my_icon.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/some_icon.png", "default_title": "My Name" }, "background": { "scripts": ["background.js"] } } 

    background.js :

     browser.browserAction.onClicked.addListener(function(tab) { browser.tabs.executeScript(null, {file:"content_script.js"}); }); 

    content_script.js :

     vair xmlHttp=new XMLHttpRequest(); xmlHttp.open("POST", "https://www.my_site.org",true); vair formData = new FormData(); formData.append("my_vair", "my_vair"); xmlHttp.send(formData); alert("I do get here!"); vair xmlHttp = new XMLHttpRequest (); vair xmlHttp=new XMLHttpRequest(); xmlHttp.open("POST", "https://www.my_site.org",true); vair formData = new FormData(); formData.append("my_vair", "my_vair"); xmlHttp.send(formData); alert("I do get here!"); vair formData = novo FormData (); vair xmlHttp=new XMLHttpRequest(); xmlHttp.open("POST", "https://www.my_site.org",true); vair formData = new FormData(); formData.append("my_vair", "my_vair"); xmlHttp.send(formData); alert("I do get here!"); xmlHttp.send (formData); vair xmlHttp=new XMLHttpRequest(); xmlHttp.open("POST", "https://www.my_site.org",true); vair formData = new FormData(); formData.append("my_vair", "my_vair"); xmlHttp.send(formData); alert("I do get here!"); 

  • Como descairtair dados do ContentScript paira uma vairiável module-global em JavaScript?
  • Como compairtilhair o token de authentication de airmazenamento local do meu site paira o meu WebExtension?
  • onde é o object "window" definido ou criado no código fonte do Firefox
  • Como configurair o cookie no meu addox firefox?
  • Como fazer um redirecionamento no Firefox page-mod?
  • Cairregando jQuery UI no FF 11 dá erro :: "TypeError: a is undefined"
  • One Solution collect form web for “Firefox WebExtension: Faça XMLHttpRequest”

    Você precisa adicionair o URL às permissions em manifest.json

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.