3

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

我有两个文件:

清单.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 });
});
4

2 回答 2

3

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

获取当前tab的url,首先在manifest文件中请求activeTab权限tabs(权限是不必要的,可以省略)。然后,获取 URL 就像阅读一样简单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. 如果没有这个,如果当前 URL 包含与号 ( &),您的代码将失败。

于 2013-06-29T10:39:52.487 回答
0

您可以使用以下功能

chrome.tabs.getSelected(null,function(tab) {
    var taburl = tab.url;
});
于 2013-06-29T10:32:07.527 回答