如何从Chrome扩展程序中获取当前标签的引荐来源?

时间:2017-12-22 20:50:28

标签: javascript google-chrome-extension

从我的Chrome扩展程序中,我试图在用户时获取引荐来源链接 从另一个网站导航到Amazon.com但我遇到了一些问题。

我正在使用accessing the current html page from chrome extension html-page-from-chrome-extension?noredirect = 1& lq = 1和 Accessing Current Tab DOM Object from "popup.html"? from-popup-html但仍有问题。

我的js在confirmation.js:

chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
  if (changeInfo.status == 'loading') {

          console.log(tab);

          console.log(document);
          //console.log(document.referrer);


  }
});

目前,当输出popup.html的DOM时;不是用户所在选项卡的当前DOM。如何获取用户所在的当前选项卡的文档?

Console.log(tab)提供了用户所在的当前选项卡的信息,但我在此处没有看到任何referrer属性。

关于如何解决这个问题的任何建议?

我的manifest.json:

"permissions": [
    "activeTab",
    "tabs",
    "storage",
    "notifications"
],
"content_scripts": [
{
"matches": ["https://www.amazon.com/*"],
    "js": ["confirmation.js"]
}
]

1 个答案:

答案 0 :(得分:8)

试试这个......

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if(changeInfo.state === 'complete'){
        chrome.tabs.executeScript(tabId, {
            code: "document.referrer;"
        },
        function(result) {
            // Here, you you'll get the referrer
        });
    }
});