js修改当前页面地址栏参数
利用HTML5 history新特性replaceState方法可以修改当前页面地址栏参数,示例代码:
//选择日期后改变地址栏 var urlSearch = location.href; var unformatStr = changeURLArg(urlSearch, "depDate", Qdate); if (!!(window.history && history.pushState)) { history.replaceState(null, "", unformatStr); } function changeURLArg(url, arg, arg_val) { var pattern = arg + '=([^&]*)'; var replaceText = arg + '=' + arg_val; if (url.match(pattern)) { var tmp = '/(' + arg + '=)([^&]*)/gi'; tmp = url.replace(eval(tmp), replaceText); return tmp; } else { if (url.match('[\?]')) { return url + '&' + replaceText; } else { return url + '?' + replaceText; } } }
类似的方法还有pushState,具体请参考以下资料。
参考资料:
http://blog.csdn.net/tianyitianyi1/article/details/7426606