两个页面相同js方法兼容

1. a.js页面

 1 //Js获取Url参数
 2 function request(paras) {
 3     var url = location.href;
 4     var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
 5     var paraObj = {};
 6     for (i = 0; j = paraString[i]; i++) {
 7         paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
 8     }
 9     var returnValue = paraObj[paras.toLowerCase()];
10     if (typeof (returnValue) == "undefined") {
11         return "";
12     } else {
13         return returnValue;
14     }
15 }

2. b.js页面

1 //获取url中的参数
2 var request =
3 {
4     QueryString: function (val) {
5         var uri = window.location.search;
6         var re = new RegExp("" + val + "=([^&?]*)", "ig");
7         return ((uri.match(re)) ? (uri.match(re)[0].substr(val.length + 1)) : null);
8     }
9 };

C页面同时引用a.js和b.js,a.js在前,b.js在后。因为a.js页面和b.js页面都有request对象,导致a.js里的request(paras)方法无效。

访问地址:http://localhost:36164/Default.aspx?11=12

1 <script src="a.js"></script>
2 <script src="b.js"></script>
3     <script >
4
5         var o = request("11");
6         alert(o);
7         o =  request.QueryString("11");
8         alert(o);
9     </script>

解决方法:

调用b.js的request方法

1 if (typeof (request) == "undefined") {
2     request = function () { };
3 }
4 request.QueryString = function (val) {
5     var uri = window.location.search;
6     var re = new RegExp("" + val + "=([^&?]*)", "ig");
7     return ((uri.match(re)) ? (uri.match(re)[0].substr(val.length + 1)) : null);
8 }

结果:

时间: 2024-10-29 14:46:57

两个页面相同js方法兼容的相关文章

C#后台程序与HTML页面中JS方法互调

此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中. 2.窗体代码添加 using System.Runtime.InteropServices;//和Html页面交互使用 在类的上一行添加 [ComVisible(true)]//和Html页面交互使用 在类的构造其中添加 this.webB.ObjectForScripting = this;

C#后台程序与HTML页面中JS方法互调(功能类似于Ajax中的DWR)

此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中. 2.窗体代码添加 using System.Runtime.InteropServices;//和Html页面交互使用 在类的上一行添加 [ComVisible(true)]//和Html页面交互使用 在类的构造其中添加 this.webB.ObjectForScripting = this;

jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?

jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行? 因为在解析时最新解析的就是JAVA代码,不管写哪里,都会最新被解析

iframe子页面js调用父页面js函数/父页面调用Iframe子页面中js方法

1.假设当前页面为a.html, iframe的src页面为b.html,其代码如下: 1 <span class="tag"><html> 2 <br></span><span class="tag"><head> 3 <br></span><span class="tag"><title></span><s

两个页面js方法兼容

1. a.js页面 1 //Js获取Url参数 2 function request(paras) { 3 var url = location.href; 4 var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&"); 5 var paraObj = {}; 6 for (i = 0; j = paraString[i]; i++) { 7 paraObj[j.s

html页面调用js方法时的两种传参方式

<tbody th:if="${pageInfo?.list}"> <tr th:each="groupList,loopStatus : ${pageInfo?.list}"> <td id='number0' th:if="${flag}==0" th:each="group,loopStatus : ${groupList}" > <label th:text="${g

快速查询 jsp页面 和 js方法

jsp: 1 <td class="SearchControl" nowrap="nowrap"> 2 <script type="text/javascript" src="/xnh/commons/js/util/combobox1.js" ></script> 3 <input id="FORM1_JGDM" name="FORM1_JGMC&quo

常用的兼容IE和火狐FF等浏览器的js方法(js中ie和火狐的一些差别)

介绍了网页上常用的IE/火狐兼容性该页的做法,并给出了代码,相当实用了.为了方便大家阅读代码,以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox .以下进入正题: //window.event IE:有window.event对象 FF:没有window.event对象.可以通过给函数的参数传递event对象.如onmousemove=doMouseMove(event) 解决方法:var event = event || window.

常用的兼容IE和火狐FF等浏览器的js方法

这是一篇收集的文档,介绍了网页上常用的IE/火狐兼容性该页的做法,并给出了代码,相当实用了.为了方便大家阅读代码,以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox .以下进入正题: //window.event IE:有window.event对象 FF:没有window.event对象.可以通过给函数的参数传递event对象.如onmousemove=doMouseMove(event) 解决方法:var event = event