【问题标题】:Chrome extension cannot grab title from inactive tabChrome 扩展程序无法从非活动标签中获取标题
【发布时间】:2012-10-30 23:39:15
【问题描述】:

我有一个 Chrome 扩展程序,可以检查页面是否为 NYTimes.com。如果是这样,它会存储该页面的标题并通过 PHP 发送它。侦听器本身可以工作。我可以说是因为 PHP 端输出了一个时间戳。对于每个请求,都存在时间戳。

问题是当我按住 CTRL 打开一个选项卡时,它不是活动选项卡。所以一个空白字段被发送到我的 PHP 文件中,我不知道页面的标题。如何从已加载但不是活动窗口的页面中获取数据?

chrome.history.onVisited.addListener(function(result){
if (result.url.search("www.nytimes.com") >= 0 || result.url.search("nytimes.com") >= 0){
    title = result.title;
    $.post("http://myURL.com/tmp/test.php", {titletag: title});
    console.log("Saving "+result.title);
}
 });

【问题讨论】:

  • 仅供参考:您的 if 条件不需要第一个子句。仅第二个子句就足够了,因为它是第一个子句的子字符串。

标签: php google-chrome


【解决方案1】:

有一种解决方法可以做同样的事情:

在清单中声明一个 javascript 文件的注入:

"content_scripts": [{
    "matches": ["http://www.nytimes.com/*", "https://www.nytimes.com/*"],
    "js": ["my_script.js"],
    "run_at": "document_start"
}],

你的 my_script.js :

chrome.extension.sendRequest({'title':document.title});

在您的扩展主脚本中:

chrome.extension.onRequest.addListener(function(data) {
    $.post("http://myURL.com/tmp/test.php", {titletag: data.title});
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多