url后面添加参数,注意&?的添加方式

  // 添加参数&key=value 直接输出url
  function insertParam(key, value)
{
 key = encodeURI(key); value = encodeURI(value);
 var kvp = document.location.search.substr(1).split('&');
 var i=kvp.length; var x; while(i--) 
 {
 x = kvp[i].split('=');
 if (x[0]==key)
 {
 x[1] = value;
 kvp[i] = x.join('=');
 break;
 }
 }
 if(i<0) {kvp[kvp.length] = [key,value].join('=');}
 document.location.search = kvp.join('&'); 
}
//直接把参数添加到尾部
function addParameterToURL(param){
 _url = location.href;
 _url += (_url.split('?')[1]? '&':'?') + param;
 return _url;
}
// 判断& ? 在后面选择性添加
var addUrlParam = function(search, key, val){
 var newParam = key + '=' + val,
 params = '?' + newParam;
 if (search) {
 params = search.replace(new RegExp('[?&]' + key + '[^&]*'), '$1' + newParam);
 if (params === search) {
 params += '&' + newParam;
 }
 }
 return params;
};
var yl_url=document.location.host + addUrlParam(document.location.search, 'foo', 'bar');
posted @   猫神甜辣酱  阅读(12653)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示