【问题标题】:Get Complete URL of Tab in Chrome Extension获取 Chrome 扩展中 Tab 的完整 URL
【发布时间】:2011-07-17 15:07:48
【问题描述】:

我正在尝试修改一个 chrome 扩展程序,它将图像上传到 Picasa 并用完整的 URL 标记它们,例如www.domain.com/whatever.jpg,它们是从哪里上传的。

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

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

有人有什么想法吗?

谢谢,

戴夫

【问题讨论】:

  • 它总是返回完整的 url,不知道你是如何设法只获取文件名的......将该 url 输出到 console.log,也许你正在寻找不同的东西。
  • 你是正确的 Serg,为浪费时间道歉。它似乎是 picasa 将 URL 切碎。感谢您的帮助

标签: google-chrome-extension browser-tab


【解决方案1】:

回答

使用

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);
    });
});

运行示例截图

加载示例扩展

在打开到 exampley.com 的浏览器窗口的情况下单击扩展按钮
扩展弹出的控制台日志

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

【讨论】:

  • 这还能用吗?我已经安装了你的插件,但是当我点击图标时,我的控制台中什么也没有。
  • @JackNicholson,感谢您检查并测试它。它仍在工作,但您需要查看后台页面的控制台,因为这是运行具有控制台输出的 javascript 的地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
  • 2017-01-26
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多