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技巧收藏
Apr 07 Javascript
js+CSS 图片等比缩小并垂直居中实现代码
Dec 01 Javascript
jquery dialog键盘事件代码
Aug 01 Javascript
javascript用户注册提示效果的简单实例
Aug 17 Javascript
js控制input输入字符解析
Dec 27 Javascript
使用jQuery jqPlot插件绘制柱状图
Dec 18 Javascript
dedecms页面如何获取会员状态的实例代码
Mar 15 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
Jun 29 Javascript
layui form表单提交之后重新加载数据表格的方法
Sep 11 Javascript
vue组件传值的实现方式小结【三种方式】
Feb 05 Javascript
JS实现烟花爆炸效果
Mar 10 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
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
php中常用的预定义变量小结
2012/05/09 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
Javascript 获取链接(url)参数的方法[正则与截取字符串]
2010/02/09 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
详解jQuery中的事件
2016/12/14 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
python实现的简单RPG游戏流程实例
2015/06/28 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
python实现字符串加密成纯数字
2019/03/19 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
在keras中实现查看其训练loss值
2020/06/16 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
区域销售经理岗位职责
2013/12/10 职场文书
买房子个人收入证明
2014/01/16 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
解析原生JS getComputedStyle
2021/05/25 Javascript
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis