[英]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.