JS 参数传递的实际应用代码分析


Posted in Javascript onSeptember 13, 2009

原因很简单,在DOM中没有id为msg_box的div标签,该怎么解决这个问题呢?
方案:
在所有页面公用的头部文件header.tpl.html中写入:

<script> 
function changMenu(index){ 
if(typeof getElementById("msg_box") == "object"){ 
//如果存在msg_box对象 则刷新该页的对象 
showMenu(index); 
}else{ 
//如果不存在 则重定向到使用Ajax刷新的页面 
window.location = "/index.html"; 
} 
} 
</script>

但是该项目index.html存在四个相同性质的页面,都需要Ajax来刷新,这样就存在一个问题,当用户点击第三个栏目时,虽然可以回到index.html,但是无法刷新内容到第三个栏目。这时有两种解决方案:
方案1:
第一步:
在所有页面公用的头部文件header.tpl.html中写入:
<script> 
function changMenu(index){ 
if(typeof getElementById("msg_box") == "object"){ 
//如果存在msg_box对象 则刷新该页的对象 
showMenu(index); 
}else{ 
//如果不存在 则重定向到使用Ajax刷新的页面 
window.location = "/index.html?type="+index; 
} 
} 
</script>

第二步:
改进showMenu函数
function showMenu(index){ 
if(typeof getElementById("msg_box") == "object"){ 
//如果存在msg_box对象 则刷新该页的对象 
...... 
}else{ 
url = window.location.href; 
reg = /^(.*)\/index\.html\?type\=\d$/gi; 
if(reg.test(url)){ 
//如果符合传参数页面的url。则获取该参数 
index = url.substr(url.length - 1); 
...... 
} 
} 
}

方案2:
调用JS的cookie功能传递参数
在所有页面公用的头部文件header.tpl.html中写入:
<script> 
function changMenu(){ 
index = getCookie("index"); 
if(index == null) index = 1; 
if(typeof getElementById("msg_box") == "object"){ 
//如果存在msg_box对象 则刷新该页的对象 
showMenu(index); 
}else{ 
setCookie("index", index); 
//如果不存在 则重定向到使用Ajax刷新的页面 
window.location = "/index.html"; 
} 
} 
function setCookie(name, value){ 
 var Then = new Date()
 
 Then.setTime(Then.getTime() + 1*3600000 ) //小时
 
 document.cookie = name+"="+value+";expires="+Then.toGMTString();
 
} 
function getCookie(name) 
{ 
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 
if(arr != null) return unescape(arr[2]); return null; 
} 
  
</script>
Javascript 相关文章推荐
调用js时ie6和ie7,ff的区别
Aug 19 Javascript
js确定对象类型方法
Mar 30 Javascript
js不完美解决click和dblclick事件冲突问题
Jul 16 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
用JavaScript实现使用鼠标画线的示例代码
Aug 19 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
May 25 Javascript
JS常用加密编码与算法实例总结
Dec 22 Javascript
JS 实现banner图片轮播效果(鼠标事件)
Aug 04 Javascript
AngularJS中下拉框的基本用法示例
Oct 11 Javascript
详解Vue快速零配置的打包工具——parcel
Jan 16 Javascript
详解基于Vue/React项目的移动端适配方案
Aug 23 Javascript
javascript类继承机制的原理分析
Sep 12 #Javascript
javascript 类定义的4种方法
Sep 12 #Javascript
一个简单的javascript类定义例子
Sep 12 #Javascript
一个简单的JavaScript 日期计算算法
Sep 11 #Javascript
关于javascript 回调函数中变量作用域的讨论
Sep 11 #Javascript
javascript 一些用法小结
Sep 11 #Javascript
JS 日期验证正则附asp日期格式化函数
Sep 11 #Javascript
You might like
第十五节--Zend引擎的发展
2006/11/16 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
教大家制作简单的php日历
2015/11/17 PHP
PHP5.3新特性小结
2016/02/14 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
js下弹出窗口的变通
2007/04/18 Javascript
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
python简单实现AES加密和解密
2019/03/28 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
提升python处理速度原理及方法实例
2019/12/25 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
班主任工作经验材料
2014/02/02 职场文书
女生节标语
2014/06/26 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
接收函格式
2015/01/30 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server