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 相关文章推荐
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
Aug 08 Javascript
jQuery中实现动画效果的基本操作介绍
Apr 16 Javascript
JavaScript跨平台的开源框架NativeScript
Mar 24 Javascript
javascript正则表达式中的replace方法详解
Apr 20 Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 Javascript
Backbone.js的一些使用技巧
Jul 01 Javascript
分析javascript中9 个常见错误阻碍你进步
Sep 18 Javascript
react-native fetch的具体使用方法
Nov 01 Javascript
js 索引下标之li集合绑定点击事件
Jan 12 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
JavaScript反射与依赖注入实例详解
May 29 Javascript
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
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
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
Mootools 1.2教程 函数
2009/09/15 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
Python实现的tab文件操作类分享
2014/11/20 Python
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python持久性管理pickle模块详细介绍
2015/02/18 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
公司薪酬管理制度
2014/01/31 职场文书
幼儿教师研修感言
2014/02/12 职场文书
海飞丝的广告词
2014/03/20 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
社区低保工作总结2015
2015/07/23 职场文书
高质量“欢迎词”
2019/04/03 职场文书
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
Spring实现内置监听器
2021/07/09 Java/Android
JavaScript ES6的函数拓展
2022/01/18 Javascript