wic*_*lls 2 javascript api google-chrome-extension
我正在研究一个"简单"扩展,将参数添加到当前url的末尾.我已设法获取当前网址,但无法执行重定向以使用添加的参数刷新页面.我的代码如下:
的manifest.json
{
"name": "Something",
"version": "1.0",
"manifest_version": 2,
"description": "Woohoo",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"persistent": false,
"scripts": ["bgscript.js"]
},
"permissions": [
"tabs"
]
}
Run Code Online (Sandbox Code Playgroud)
bgscript.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
var currentUrl = tabs[0].url;
chrome.extension.sendRequest({redirect: currentUrl + "?customparam=1"});
});
});
Run Code Online (Sandbox Code Playgroud)
任何人都有关于如何执行这样的重定向的任何想法?
单击浏览器操作时的活动选项卡将作为参数传递给onClicked
侦听器回调.
此外,正如您的评论中所提到的,需要稍加注意将自定义查询参数附加到正确的位置,并在其前面加上正确的符号.具体而言,自定义参数应放置之前的散列(如果有的话)和路径名(如果有的话)之后,但是如果有更多的查询参数呈现它应该与前缀&
代替?
.
var customParam = encodeURI('customparam=1');
chrome.browserAction.onClicked.addListener(function (tab) {
var url = tab.url;
var hashStart = (url.indexOf('#') === -1) ? url.length : url.indexOf('#');
var querySymbol = (url.indexOf('?') === -1) ? '?' : '&';
var newUrl = url.substring(0, hashStart) + querySymbol + customParam +
url.substring(hashStart);
chrome.tabs.update(tab.id, {url: newUrl});
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3013 次 |
最近记录: |