我正在制作一个共享 url 到一个网站的 chrome 扩展。现在我需要一个可以在浏览器中导航当前 URL 的代码。当我点击图标时,我想打开新标签页 (http://www.thatsite.com/sharer.php?u= + current URL
)。
我有两个文件:
list .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 });
});
最佳答案
当 chrome.browserAction.onClicked
调度事件,第一个参数包含有关当前选项卡的信息。
要获取当前选项卡的 URL,首先请求 activeTab
permission在 list 文件中(不需要 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 包含一个符号 (&
),您的代码将失败。
关于javascript - 如何通过单击按钮在 Chrome 中获取当前 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17379190/