大米CMS官网论坛,大米站长联盟,大米站长之家,大米开发者社区

 找回密码
 注册大米会员

QQ登录

只需一步,快速开始

查看: 2793|回复: 0

Js改变URL中参数

[复制链接]

366

主题

625

帖子

5078

积分

超级版主

Rank: 8Rank: 8

积分
5078

授权用户

发表于 2014-7-28 10:01:37 | 显示全部楼层 |阅读模式
本帖最后由 追影 于 2014-10-23 16:29 编辑
  1.         function changeURLPar(url, para, val)
  2.         {
  3.             var _index = url.lastIndexOf("?");
  4.             if (_index > 0)
  5.             {
  6.                 if (_index < (url.length - 1))//?号不是最后字符
  7.                 {
  8.                     var _value = getparmByUrl(url,para);
  9.                     if (_value != "")//路径已经有该参数
  10.                         url = setParaValue(url, para, val);//修改参数
  11.                     else
  12.                         url += "&" + para + "=" + val;
  13.                 }
  14.                 else
  15.                     url += para + "=" + val;
  16.             }
  17.             else
  18.                 url += "?" + para + "=" + val;
  19.             
  20.             return url;     
  21.         }
  22.         
  23.         //获取url参数
  24.         function getparmByUrl(url,parmName) {
  25.      /*       var url = window.location.toString();
  26.                         alert(url);
  27. */
  28.             var arr = url.split("?");
  29.             var parms = arr[1];
  30.             var parmList = parms.split("&");
  31.             var parmTemp;

  32.             for (var i = 0; i < parmList.length; i++) {
  33.                 parmTemp = parmList[i].split("=");
  34.                 if (parmTemp[0] == parmName)//存在该参数
  35.                     return parmTemp[1];
  36.             }
  37.             return ""
  38.         }
  39.         
  40.         //修改url中某参数的值
  41.         function setParaValue(url, parama, val)
  42.         {
  43.             var strOne, strTwo, result;
  44.             var index = url.lastIndexOf(parama);
  45.             strOne = url.substr(0, index);//获取参数前面部分
  46.             strTwo = url.substr((index + 1));

  47.             var twoIndex = strTwo.lastIndexOf("&");//判断参数后面是否还有其他参数
  48.             if (twoIndex > 0)
  49.                 strTwo = strTwo.substr(twoIndex);//获取后面参数包含"&"
  50.             else
  51.                 strTwo = "";
  52.             
  53.             result = strOne + parama + "=" + val + strTwo;
  54.             return result;
  55.         }
复制代码


调用方法:
//当前完整URL
var url = "<php>echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];</php>";
var t = changeURLPar(url,'keyword','大米CMS');
location.href = t;


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册大米会员

本版积分规则

QQ|小黑屋|大米CMS社区 ( 蜀ICP备11002200号-2广告联系:广告联系 

Powered by 大米CMS

© 2010-2020 大米CMS Inc.

快速回复 返回顶部 返回列表