JS参数传递的实际应用代码分析
2023-06-13 09:14:12 时间
原因很简单,在DOM中没有id为msg_box的div标签,该怎么解决这个问题呢?
方案:
在所有页面公用的头部文件header.tpl.html中写入:
复制代码代码如下:
方案:
在所有页面公用的头部文件header.tpl.html中写入:
<script>
functionchangMenu(index){
if(typeofgetElementById("msg_box")=="object"){
//如果存在msg_box对象则刷新该页的对象
showMenu(index);
}else{
//如果不存在则重定向到使用Ajax刷新的页面
window.location="/index.html";
}
}
</script>
但是该项目index.html存在四个相同性质的页面,都需要Ajax来刷新,这样就存在一个问题,当用户点击第三个栏目时,虽然可以回到index.html,但是无法刷新内容到第三个栏目。这时有两种解决方案:
方案1:
第一步:
在所有页面公用的头部文件header.tpl.html中写入:
<script>
functionchangMenu(index){
if(typeofgetElementById("msg_box")=="object"){
//如果存在msg_box对象则刷新该页的对象
showMenu(index);
}else{
//如果不存在则重定向到使用Ajax刷新的页面
window.location="/index.html?type="+index;
}
}
</script>
第二步:
改进showMenu函数
functionshowMenu(index){
if(typeofgetElementById("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>
functionchangMenu(){
index=getCookie("index");
if(index==null)index=1;
if(typeofgetElementById("msg_box")=="object"){
//如果存在msg_box对象则刷新该页的对象
showMenu(index);
}else{
setCookie("index",index);
//如果不存在则重定向到使用Ajax刷新的页面
window.location="/index.html";
}
}
functionsetCookie(name,value){
varThen=newDate()
Then.setTime(Then.getTime()+1*3600000)//小时
document.cookie=name+"="+value+";expires="+Then.toGMTString();
}
functiongetCookie(name)
{
vararr=document.cookie.match(newRegExp("(^|)"+name+"=([^;]*)(;|$)"));
if(arr!=null)returnunescape(arr[2]);returnnull;
}
</script>
相关文章
- cropper.js 实现HTML5 裁剪图片并上传(裁剪上传头像。)「建议收藏」
- js 简单对a标签限制重复点击下载
- JS数据结构之堆
- WordPress增加说说功能—Artitalk.js应用
- c#windowsform应用_js调用webservice
- hybrid.js_js交互是什么意思
- Vue.js – 引入外部 JS 文件
- JS实现全屏模式
- js 数组去除重复数据-5 个提升你 JS 编码水平的实例
- Js 禁用输入法 ime-mode 全角转换成半角详解编程语言
- JS在Oracle中的应用(js如何oracle)
- Redis中的订阅机制及其在JS中的应用(redis 订阅 js)
- [js]轻便的XMLHttpRequest应用函数:downloadUrl()
- JS自动安装exe程序
- jquery.AutoComplete.js中文修正版(支持firefox)
- js客户端快捷键管理类的较完整实现和应用
- 前端开发必须知道的JS之闭包及应用
- JS图片预加载JS实现图片预加载应用
- js拦截alert对话框另类应用
- 原生js实现改变随意改变div属性style的名称和值的结果
- 给应用部分的js代码设定一个统一的入口
- node.js中的buffer.toString方法使用说明