在Chrome扩展程序中获取标签的完整网址

时间:2011-03-17 18:09:29

标签: google-chrome-extension browser-tab

我正在尝试修改将图片上传到Picasa的Chrome扩展程序,并使用完整的网址对其进行标记,例如 www.domain.com/whatever.jpg ,从哪里上传。

我在获取完整网址时遇到问题。当我尝试下面的代码时,它会给我一个不完整的网址,只有 whatever.jpg ,而不是 www.domain.com /

...
chrome.tabs.getSelected(null, function(tab) {
var yourell = tab.url;
...

有人有什么想法吗?

谢谢,

戴夫

1 个答案:

答案 0 :(得分:0)

答案

使用

chrome.tabs.query

chrome.tabs.getSelected已被弃用。要获取当前活动选项卡的完整URL,您需要使用chrome.tabs.query函数并执行类似这样的操作

实施例

的manifest.json

{
    "name": "Get Current Open Tab Info Example",
    "manifest_version": 2,
    "version": "0.1",
    "description": "How to get info on the current tab on the active window in chrome.",
    "background": {
        "scripts": ["background.js"]
    },
    "browser_action": {
        "default_title": "test"
    },
    "permissions": [
        "tabs"
    ]
}

background.js

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.query({
        active: true,
        currentWindow: true
    }, function(tab) {
        console.log(tab[0]);
        console.log(tab[0].url);
    });
});

运行示例屏幕截图

加载示例扩展

enter image description here

点击扩展按钮,浏览器窗口打开到exampley.com
扩展弹出窗口的控制台日志

enter image description here

示例文件http://mikegrace.s3.amazonaws.com/stackoverflow/current-tab.zip