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 相关文章推荐
Jquery cookie操作代码
Mar 14 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
Aug 17 Javascript
Javascript图像处理—平滑处理实现原理
Dec 28 Javascript
jquery foreach使用示例
Sep 12 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
Apr 16 Javascript
jQuery学习笔记之toArray()
Jun 09 Javascript
详解node中创建服务进程
May 09 Javascript
angularJS模态框$modal实例代码
May 27 Javascript
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
利用JavaScript如何查询某个值是否数组内
Jul 30 Javascript
JS获取当前地理位置的方法
Oct 25 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
Jun 03 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
我的论坛源代码(九)
2006/10/09 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
jquery live()调用不存在的解决方法
2014/02/26 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
python设置windows桌面壁纸的实现代码
2013/01/28 Python
python重试装饰器示例
2014/02/11 Python
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
python学生信息管理系统
2018/03/13 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
历史系自荐信范文
2013/12/24 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
法人授权委托书范本
2014/09/17 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
python中%格式表达式实例用法
2021/06/18 Python
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS