JS自定义功能函数实现动态添加网址参数修改网址参数值

JS自定义功能函数实现动态添加网址参数修改网址参数值,第1张

本文自定义JS功能函数可动态添加网址参数 修改网址参数值 具体实现如下 感兴趣的朋友可以参考下 希望对大家有所帮助  

无论是前端开发还是后台设计 很多时候开发人员都需要获取当前或目标网址的相关信息 这个已有现成的内置对象属性可以直接调用了(下面是获取当前页面的参考代码)

复制代码 代码如下: <script type=text/javascript>thisURL = document URLthisHREF = document location hrefthisSLoc = self location hrefthisDLoc = document locationstrwrite = " thisURL: [" + thisURL + "]<br>" strwrite += " thisHREF: [" + thisHREF + "]<br>" strwrite += " thisSLoc: [" + thisSLoc + "]<br>" strwrite += " thisDLoc: [" + thisDLoc + "]<br>" document write( strwrite )</script>

但有时候我们需要改变目前网址的参数/参数值 这时候大家会如何处理呢?一般应该都会先通过获取所有参数的信息 然后再根据实际需求来对某一参数进行修改 没错!根据这一原理 今天就给大家分享一下个人在开发中封装的功能函数 //=============== 改变网址的参数值 ================

复制代码 代码如下: function ChangeURLParm(Turl Parm PValue ClearParm){ //Turl: 网址 //Parm 参数 //PValue 参数值 //ClearParm: 要清除的参数 var URL Parms ParmsArr IsExistvar NewURL = Turl//window location href IsExist = falsewith(Turl){ if(indexOf( ? )>){ URL = substr( indexOf( ? ))//不包含参数 Parms = substr(indexOf( ? )+ length)//参数 } else{ URL = TurlParms = } } if (Parms!= ){ var iParmsArr = Parms split("&")for(i= i<=ParmsArr length i++){ if (String(Parm) toUpperCase()==String(ParmsArr[i] split("=")[ ]) toUpperCase()){//原来有参数Parm则改变其值 ParmsArr[i] = Parm + "=" + PValueIsExist = trueif (String(ClearParm) ==""){ break} } else if ( (String(ClearParm)!="") &&(String(ClearParm) toUpperCase()==String(ParmsArr[i] split("=")[ ])) toUpperCase() ){//去掉参数ClearParm的值 ParmsArr[i] = ClearParm + "="} } for(i= i<=ParmsArr length i++){ if(i== ){ Parms = ParmsArr[i]} else{ Parms = Parms + "&" + ParmsArr[i]} } NewURL = URL + "?" + Parmsif (!IsExist){ NewURL = NewURL + "&" + Parm + "=" + PValue} } else{ NewURL = URL + "?" + Parm + "=" + PValue} return NewURL} lishixinzhi/Article/program/Java/JSP/201311/20336

这是因为window.onload事件是加载完页面内容就发生,而js这是伴随着document即文档内容的加载而运行,也就是说,window.onload事件是否激活的判断依据是整个html文档的内容是否加载完,这些内容你甚至可以直观地理解为html源代码组成的字符串。

过程如下:

-----文------------- --------------------

-----档------------- 运行文档内的JS

-----内------------- ----------|----------

-----容------------- ----------|----------

|

加载完(包括onload等字符串,一直到文档结束),执行onload事件绑定的内容。

再来解决你的问题:

使用ajax来获取动态js,然后使用eval() 或者Function来执行获取到的文本,这样就能保证在任何浏览器下均能够达到目的。

这个很简单 如果楼主有jq只需要

$(document).on("click","a",function(){

alert("我是被监听的a标签")

})

如果楼主没有引入jq 那么下面给楼主写一份原生js监听

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<script type="text/javascript">

//添加事件可以使用addEventListener 或者 attachEvent下面使用传统事件添加 

document.onclick=function(){

var e=null

if(window.event){

e=window.event

}else if(event){

e=event

}else{

e=arguments.callee.argument[0]

}

//获取事件目标

var target=null

if(e.target){

target=e.target

}else{

target=e.srcElement

}

if(target.nodeName.toUpperCase()=="A"){

alert("我是被监听的A标签")

}

}

var a=document.createElement("a")

a.innerHTML="我想被监听"

document.body.appendChild(a)

</script>

</body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11523635.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存