繁体   English   中英

通过chrome扩展程序中的post request发送URL onload

[英]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 ,则需要执行以下操作:

  1. manifest.json文件的permissions字段中添加SERVER_URL ,对于您的情况是

     "permissions": [ "http://localhost:8080/ph/FirstServlet/*" ] 
  2. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM