如何在javascript chrome扩展中从url获取参数值

如何在javascript chrome扩展中从url获取参数值,javascript,google-chrome,Javascript,Google Chrome,我正在开发chrome扩展,希望从url中提取关键字,当关键字的值只有一个单词时,该函数可以正常工作,但当关键字的值有两个单词时,该函数不起作用。请帮助我如何改进它 function getUrlVars(ar){ var vars = {}; var parts = ar.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { vars[key] = value; }); keyVal = vars;

我正在开发chrome扩展,希望从url中提取关键字,当关键字的值只有一个单词时,该函数可以正常工作,但当关键字的值有两个单词时,该函数不起作用。请帮助我如何改进它

function getUrlVars(ar){
var vars = {};
var parts = ar.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
    vars[key] = value;
});
keyVal = vars;
return vars;
}
var keyword = getUrlVars(Url)["q"];

有一百种方法可以做到这一点。如果用+这样的符号分隔关键字,那么这里有一个简单的方法:

var Url = "http://thisurl.com/?q=whatever+something";

function getUrlVars(ar){
    var keyw = [], q;
    keyw = ar.split('?q=')[1].split('+');

    return keyw;
}

var firstFunction = getUrlVars(Url);

var
??使用Reserved关键字作为变量名,这不可能是正确的,现在可以吗?您可以演示如何格式化url吗?另外,您绝对不应该使用保留字作为变量名。抱歉,输入错误。您可以显示您正在传递的url(带有关键字的url)是什么样子的吗?
parts
keyVal
应该做什么?