经常有些场景需要从网址获取变量,比如:
http://ourjs.com?param1=test1¶m2=test2
需要获取 param1/ param2 的变量,有时侯需要修改某个变量,有非常多的JS库可以实现,其实用简单的几行代码即可实现:
var qs = {}qs.get = function(name) {var reg = new RegExp("[?&#]" + name + "=[^$&]*");var parameter = location.href.match(reg)if (!parameter) {return;}return decodeURIComponent(parameter[0].substr(name.length + 2));}qs.set = function(name, value) {var reg = new RegExp("([?&#]" + name + "=)[^$&]*")var url = location.hrefvar parameter = url.match(reg)if (parameter) {url = url.replace(reg, '$1' + value)} else {var first = url.indexOf('#') > 0 ? '' : '#'url += (url.indexOf('=') > 0 ? '&' : first) + name + '=' + value}history.replaceState && history.replaceState(null, null, url)}$.qs = qs;
使用:
qs.get('param1') > test1 qs.set('param1', 'newvalue') # 当前网址更新为: http://ourjs.com?param1=newvalue¶m2=test2
回复 (0)
微信扫码 立即评论