7

Tôi đang tạo một add-on cho Firefox WebExtension. Đây là những gì sẽ xảy ra:Firefox WebExtension: Làm cho XMLHttpRequest

  1. Người dùng nhấp vào biểu tượng trình duyệt trên BẤT K page trang.
  2. JavaScript được thực thi, thu thập thông tin từ trang.
  3. Thông tin sẽ được gửi đến máy chủ của tôi sử dụng XMLHttpRequest

Đây là những gì phần mở rộng Chrome của tôi không. Tuy nhiên, tôi không thể làm điều này để làm việc với tiện ích Firefox. JavaScript được tiêm và thực hiện bởi vì tôi thấy alert(), mà tôi đã đặt ở cuối tập lệnh. Tuy nhiên, không có cuộc gọi nào được thực hiện cho máy chủ của tôi. Trình gỡ lỗi của Firefox không hiển thị hoạt động mạng đã cố gắng, cũng như không hiển thị bất kỳ lỗi nào.

Manifest:

{ 
    "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

Bạn nhận được thông báo vì các dòng phía trên cảnh báo là dành cho nội dung không đồng bộ. Nếu vấn đề cụ thể bạn gặp phải là các yêu cầu AJAX do trình bổ sung WebExtensions phát hành sẽ không có thẻ "Origin" và/hoặc "Referer", thì bạn sẽ hài lòng khi Firefox khắc phục được sự cố hiện tại Phiên bản dành cho nhà phát triển, phiên bản 52.0a2 (2016-12-12). Không hoạt động trên bản Beta hiện tại. – Lori

Trả lời

3

Bạn cần phải thêm URL để permissions trong 01.

+0

Tôi gặp khó khăn tương tự (trên Firefox, nhưng không phải Chromium), vì vậy tôi phải làm điều gì đó sai. Sẽ '" *: //*.twitter.com/* ",' là một ví dụ hợp lệ của mẫu URL trong giá trị của 'quyền'? – Lori

+0

Có, có vẻ ổn! – Andy

Các vấn đề liên quan