2

前言,我在这里是一个极端的新手。

我正在做一个扩展来记录访问网站的 URL 和标签标题。我下面的代码给了我除了标签标题之外的所有东西,我得到“未定义”。我不确定如何获取标签标题:

chrome.webRequest.onCompleted.addListener(
function(info) {
var req = new XMLHttpRequest();
req.open("POST", "https://docs.google.com/spreadsheet/formResponse?formkey=FORMKEY", true);
var params = "entry.0.single=" + info.url + "&entry.1.single=" + info.tabid; 
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.send(params);
} ,{ urls: ["<all_urls>"], types: ["main_frame"]}
);

我看到的输出是:

4/1/2013 12:53:35   http://www.url.com/ undefined   

有人告诉我我在获取标签标题时做错了什么吗?

4

1 回答 1

0

我在您的代码中看不到您将获得该标题的任何地方。info不包含该数据,而是包含tabId您拼写错误的数据(未定义的来源)。您可以使用它info.tabId来获取选项卡并使用该选项卡对象来获取标题,如下所示:

chrome.webRequest.onCompleted.addListener(function(info) {
  var req = new XMLHttpRequest();
  var url = "https://docs.google.com/spreadsheet/formResponse?formkey=FORMKEY";
  req.open("POST", url, true);
  chrome.tabs.get(info.tabId,function(tab){
    var params = "entry.0.single=" + info.url + "&entry.1.single=" + tab.title; 
    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    req.send(params);
  });
},
{ urls: ["<all_urls>"], types: ["main_frame"]});
于 2013-04-01T23:26:15.463 回答