Firefox WebExtension 부가 기능을 만들고 있습니다. 다음과 같이해야합니다.Firefox WebExtension : XMLHttpRequest 만들기
- 사용자가 모든 페이지에서 브라우저 아이콘을 클릭합니다.
- JavaScript가 실행되어 페이지에서 정보를 수집합니다.
- 정보이 내 크롬 확장 프로그램이하는 일이다
XMLHttpRequest
사용하여 내 서버로 전송됩니다. 그러나 Firefox 부가 기능을 사용할 수 없습니다. 내가 스크립트의 끝에 넣었던 alert()
을 볼 수 있기 때문에 JavaScript가 삽입되고 실행되었습니다. 그러나 내 서버에 대한 호출이 없습니다. 파이어 폭스 디버거는 시도한 네트워크 활동을 보여주지 않으며 에러를 보여 주지도 않습니다.
매니페스트 :
{
"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!");
알림 위의 줄이 비동기적인 내용이므로 경고 메시지가 표시됩니다. 특정 문제가있는 경우 WebExtensions 부가 기능에서 발행 된 AJAX 요청이 "Origin"및/또는 "Referer"태그없이 누락되면 Firefox가 현재 문제를 해결 한 것을 기쁘게 생각합니다. Developer Edition, 버전 52.0a2 (2016-12-12). 현재 베타에서는 작동하지 않습니다. – Lori