js获取或设置当前窗口url参数
2024-10-19 13:22:55
直接上代码
// 获取当前窗口url中param参数的值
function get_param(param){
var query = location.search.substring(1).split('&');
for(var i=0;i<query.length;i++){
var kv = query[i].split('=');
if(kv[0] == param){
return kv[1];
}
}
return null;
} // 设置当前窗口url中param的值
function set_param(param,value){
var query = location.search.substring(1);
var p = new RegExp("(^|&"+param+")=[^&]*");
if(p.test(query)){
query = query.replace(p,"$1="+value);
location.search = '?'+query;
}else{
if(query == ''){
location.search = '?'+param+'='+value;
}else{
location.search = '?'+query+'&'+param+'='+value;
}
}
}
注意location.search获取到的是url中?开始到#之间的内容(包含?但不包含#)。
如果是设置指定url的param值,可以用下面的函数:
// 设置指定url中param的值,返回处理后的url
function set_url_param(url,param,value){
if(url.indexOf('?') != -1){
var p = new RegExp("(\\?|&"+param+")=[^&]*");
if(p.test(url)){
url = url.replace(p,"$1="+value);
}else{
url = url+'&'+param+'='+value;
}
}else{
url = url+'?'+param+'='+value;
}
return url;
}
再上一个翻页代码,其中用有到了上面两个函数
// 上一页
function page_pre(current_page,page_total){
if(parseInt(current_page) <= 1 || parseInt(current_page) > parseInt(page_total)){
return false;
}
var pre_page = parseInt(current_page) - 1;
set_param('page',pre_page);
} // 下一页
function page_next(current_page,page_total){
if(parseInt(current_page) < 1 || parseInt(current_page) >= parseInt(page_total)){
return false;
}
var next_page = parseInt(current_page) + 1;
set_param('page',next_page);
}
最新文章
- ble示例代码
- BOOST.Asio——扫盲
- python_selenium智联搜索
- IIS 内部运行机制
- My97DatePicker控件
- VS代码片段(snippet)创作工具——Snippet Editor(转)
- oracle创建表空间、用户
- 关于 Java 性能监控您不知道的 5 件事,第 1 部分
- U磁盘检测和大量收集量产工具
- aop切入点表达式
- Django+xadmin打造在线教育平台(六)
- webpack打包vue -->;简易讲解
- AngularJs实现全选功能
- 01c语言基础
- 一个服务器的IIS只能绑定一个HTTPS也就是443端口
- 【HDU4565】So Easy!
- POJ 1113 Wall 凸包 裸
- Python并发编程-管道
- 【20160815】noip模拟(未完)
- Swift,简单语法