[英]send the URL onload by post request in chrome extension
第一次使用該網站問一個問題,我是chrome擴展的新手,所以我確定我在犯一些錯誤,我事先道歉
我正在嘗試通過郵寄請求發送當前選項卡的url onload,我只能通過提交使其發送url,我如何在頁面加載中自動發送
這是我的代碼
manifest.json
{
"manifest_version": 2,
"name": "Phishing tool",
"description": "This extension send url to server to check for phishing",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"activeTab",
"tabs",
"http://localhost:8080/ph/FirstServlet*"
]
}
popup.html
<!DOCTYPE html>
<html>
<head><script src="p.js"></script></head>
<body>
<object width="200" height="50" ></object>
<form action="http://localhost:8080/ph/FirstServlet" method="POST">
link:<input type="text" name="first_name"> <br /><br />
<input type="submit" value="Submit" />
</form>
<p>
<button id="myBtn"> click here to display the url</button> </p>
<h1 id="demo">Url displays Here</h1>
</body>
</html>
p.js
document.addEventListener("DOMContentLoaded", function() {
chrome.tabs.query({currentWindow: true, active: true}, function(tabs) {
var tabURL = tabs[0].url;
var xhr = new XMLHttpRequest();
xhr.onload = function(){
console.log(xhr.responseText);
};
xhr.open("POST", "http://localhost:8080/ph/FirstServlet");
xhr.send(tabURL);
});
});
我嘗試過,但是當我單擊插件圖標時,它沒有顯示來自服務器的響應
假設您要將URL從彈出頁面(擴展過程)發送到服務器,並且服務器URL為SERVER_URL
,則需要執行以下操作:
在manifest.json
文件的permissions
字段中添加SERVER_URL
,對於您的情況是
"permissions": [ "http://localhost:8080/ph/FirstServlet/*" ]
在popup.js
進行ajax調用
document.addEventListener("DOMContentLoaded", function() { chrome.tabs.query({currentWindow: true, active: true}, function(tabs) { var tabURL = tabs[0].url; var formData = new FormData(); formData.append("first_name", tabURL); var xhr = new XMLHttpRequest(); xhr.onload = function(){ console.log(xhr.responseText); // Your logic }; xhr.open("POST", SERVER_URL); xhr.send(formData); }); });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.