点击按钮,如何在Chrome中获取当前网址

时间:2013-06-29 10:24:00

标签: javascript google-chrome google-chrome-extension

我正在制作一个chrome扩展程序,它将url共享到一个网站。现在我需要一个可以在浏览器中导航当前URL的代码。当我点击图标时,我想打开新标签(http://www.thatsite.com/sharer.php?u= + current URL)。

我有两个文件:

的manifest.json

{
    "name": "Share on that site",
    "version": "1",
    "browser_action": {
        "default_icon": "icon.png"
    },
    "background": {
        "scripts": ["background.js"]
    },
    "permissions": ["tabs"],
    "manifest_version": 2
}

和background.js

chrome.browserAction.onClicked.addListener(function(activeTab){
    var newURL = "http://www.leegly.com/sharer.php?u=" + <current URL here>;
    chrome.tabs.create({ url: newURL });
});

2 个答案:

答案 0 :(得分:3)

调度chrome.browserAction.onClicked事件时,第一个参数包含有关当前选项卡的信息。

要获取当前选项卡的URL,首先请求清单文件中的activeTab permission(不需要tabs权限,您可以省略它)。然后,获取网址就像阅读tab.url

一样简单
chrome.browserAction.onClicked.addListener(function(tab) {
    var url_encoded_url = encodeURIComponent(tab.url);
    var newURL = "http://www.leegly.com/sharer.php?u=" + url_encoded_url;
    chrome.tabs.create({ url: newURL });
});

请注意,我使用了encodeURIComponent。如果没有这个,如果当前网址包含&符号(&),则代码将失败。

答案 1 :(得分:0)

您可以使用以下功能

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