Javascript 如何通过扩展从chrome标签中获取响应?

Javascript 如何通过扩展从chrome标签中获取响应?,javascript,google-chrome-extension,local-storage,Javascript,Google Chrome Extension,Local Storage,假设我打开一个新的chrome标签,让用户登录。该选项卡由createTab从chrome扩展打开。一旦用户登录,服务器发送响应,我将如何让我的chrome扩展获取响应数据 我可以创建和删除该选项卡,但我不知道如何让我的chrome扩展知道该选项卡已收到响应,以便我的chrome扩展读取该响应,将其存储在本地存储中,并删除/删除chrome选项卡 假设我打开一个新的chrome选项卡供用户登录。该选项卡由createTab从chrome扩展打开。一旦用户登录,服务器发送响应,我将如何让我的chr

假设我打开一个新的chrome标签,让用户登录。该选项卡由createTab从chrome扩展打开。一旦用户登录,服务器发送响应,我将如何让我的chrome扩展获取响应数据


我可以创建和删除该选项卡,但我不知道如何让我的chrome扩展知道该选项卡已收到响应,以便我的chrome扩展读取该响应,将其存储在本地存储中,并删除/删除chrome选项卡

假设我打开一个新的chrome选项卡供用户登录。该选项卡由createTab从chrome扩展打开。一旦用户登录,服务器发送响应,我将如何让我的chrome扩展获取响应数据?
我假设服务器向chrome.newTab新创建的页面发送响应登录通过\失败。如果我的假设是正确的,这个结构对于您的功能需求会有所帮助

注入的内容脚本将查找收到的响应并通知Chrome扩展;Chrome扩展可以根据需要使用数据

manifest.json

popup.js


如果您需要更多信息,请告诉我。

正在寻找类似的信息,但不确定这是否安全。@Puck:我假设您希望收到某个web请求完成的通知,但您无法控制该请求,如果该页面不是随机页面,您可以使用假操作来屏蔽您的请求
{
  "name": "Content to Extension",
  "description": "A sample AJAX call and etc",
  "version": "0.1",
  "permissions": [
    "experimental", "tabs","<all_urls>"
  ],
  "browser_action": {
    "default_icon": "icon.jpg",
    "default_popup": "popup.html"
  },
  "manifest_version": 2,
  "content_scripts":[
  {
    "matches": ["<all_urls>"],
    "js":["content.js"]
  }
  ]
}
<html>
<head>
<script src='popup.js'></script>
</head>
<body>
</body>
</html>
function filtersearch(){

var xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function(data) {
    if (xhr.readyState == 4) {
      if (xhr.status == 200) {
            console.log("message Sent");
            chrome.extension.sendMessage("Response recived");
        }
      } else {
        //callback(null);
      }
    }

var url = 'http://www.w3schools.com/html/default.asp';
xhr.open('GET', url, true);
xhr.send();

}
window.onload = filtersearch;
chrome.extension.onMessage.addListener(function (message,sender,callback){
    console.log("Message Recieved");

    //Store in Local Storage
    localStorage.messageRecieved = message;

    // Close or remove tabs or Do every thing here
});