复制代码 代码如下:
/**
* 获取地址栏参数
*
* @example geturlstring('id')
*
* @desc 调用时加上判断,保证程序不会出错
* var myurl = geturlstring('id');
* if (myurl != null && myurl.tostring().length > 1) {
* alert(geturlstring(id));
* }
*
* @param string param 要获取地址栏中的参数名
* @return string value
* @type string
*
* @name geturlstring()
*
*/
function geturlstring(param) {
var svalue = location.search.match(new regexp([\?\&] + m + =([^\&]*)(\&?), i));
return svalue ? decodeuri(svalue[1]) : decodeuri(svalue);
}
调用的时候统一做这样的判断,避免你没有传参数的话,比如你的地址是 abc.html 后面没有参数,那强行输出调用结果有的时候会报错
复制代码 代码如下:
window.onload = function() {
var myurl = getparm(id);
if (myurl != null && myurl.tostring().length > 1) {
alert(getparm(id));
}
}
这样就不会报错了!
注释:ecmascript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeuri() 和 decodeuricomponent() 取而代之。
小伙伴们是否理解了如何使用javascript获取地址栏参数了呢,有疑问的话就留言吧。