7

私はFirefox WebExtensionアドオンを作成しています。何が起こるはずです:Firefox WebExtension:XMLHttpRequestを作成する

  1. ユーザーは、すべてのページのブラウザアイコンをクリックします。
  2. JavaScriptが実行され、ページから情報が収集されます。
  3. 情報は、これは私のChromeの拡張機能が何をするかであるXMLHttpRequest

を使用して自分のサーバーに送信されます。しかし、私はこれをFirefoxのアドオンで動作させることはできません。スクリプトの最後に入れたalert()が表示されているので、JavaScriptが注入されて実行されます。ただし、サーバーへの呼び出しは行われません。 Firefoxのデバッガにはネットワークアクティビティの試行は表示されず、エラーも表示されません。

マニフェスト:

{ 
    "manifest_version": 2, 
    "name": "my_name", 
    "version": "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

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

アラートの上の行が非同期のものであるため、警告が表示されます。具体的な問題は、WebExtensionsアドオンで発行されたAJAX要求が「Origin」および/または「Referer」タグなしで出力されている場合、Firefoxが現在の問題を解決したことに満足していますDeveloper Edition、バージョン52.0a2(2016-12-12)現在のベータ版では動作しません。 – Lori

答えて

3

あなたはでpermissionsにURLを追加する必要があります

+0

私はFirefox上で(Chromiumではなく)同様の問題を抱えていますので、何か間違っている必要があります。 '' *://*.twitter.com/* "、' 'permissions'の値のURLパターンの有効な例ですか? – Lori

+0

はい、うまく見えます! – Andy

関連する問題