我正在制作一个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 });
});
答案 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;
});