首页 文章

在chrome扩展中捕获URL

提问于
浏览
2

尝试使用chrome扩展后台脚本捕获url chrome浏览器 .

我尝试下面的代码工作正常新网址更改但不能在标签更改工作

background.js

chrome.tabs.getSelected(null, function(tab) {
           chrome.extension.getBackgroundPage().console.log(tab.url);
});

manifest.json

{
  "manifest_version": 2,

  "name": "My Test Extension",
  "description": "This extension demonstrates.",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": [
      "tabs",
       "activeTab",
        "http://*/*",
        "https://*/*"
  ]
}

控制台日志打印一次,安装后没有响应 .

我想捕获当前选项卡的URL ...当用户更改浏览器选项卡或创建新选项卡时,我需要在没有单击扩展图标的情况下捕获当前浏览器选项卡的URL .

获取URL后,我需要在URL的末尾附加一个查询字符串 .

例如

当前标签url:stackoverflow.com扩展名更改/追加网址:stackoverflow.com/question/java

3 回答

  • 0

    下面的代码正常工作正常

    chrome.tabs.onUpdated.addListener( function( tabId,  changeInfo,  tab) {
           chrome.extension.getBackgroundPage().console.log(tab.url);
           if(tab.url=="https://www.google.co.in/"){
                chrome.tabs.update(tab.id, {url: 'https://www.yahoo.com/'});
           }
    });
    

    让我知道这些评论

  • 0

    听取onUpdated事件 .

    chrome.tabs.onUpdated.addListener(function(integer tabId, object changeInfo, Tab tab) {...});
    

    http://developer.chrome.com/extensions/tabs.html#event-onUpdated

  • 1

    1)更改活动选项卡时的事件:

    chrome.tabs.onActivated.addListener(function(object activeInfo) {...});
    

    From documentation

    当窗口中的活动选项卡发生更改时触发 . 请注意,此事件触发时可能未设置选项卡的URL,但您可以侦听onUpdated事件,以便在设置URL时收到通知 .

    2)最有可能的是,你还需要监听当前聚焦窗口被更改时触发的chrome.windows.onFocusChanged事件 .

相关问题