[delve][web]如何实现网站顶部状态条的外部引用
来源:互联网 发布:pr淘宝视频 编辑:程序博客网 时间:2024/06/06 04:15
REQUIREMENT
现在做的项目,网站顶部的状态条
登录前
登录以后
实现方法是HTML和JS,
<!--index.jsp 实现topbar的html--><div class="topbar" id="topbar"> <div class="head-left"> <ul> <li ><a href="#" style="color:#5dbffc;">下载APP</a></li> <li><a href="#">企业版<%=userLoginTag %></a></li> <li><a href="#">人力资源版</a></li> </ul></div> <div class="head-right" style="display: block;" id="logBar"> <ul> <li><a href="cookieLogin.do">登录</a></li> <li><a href="registerIndex.do">注册</a></li> </ul> </div> <div class="head-right" style="display: none;" id="logedBar"> <ul> <li><a href="individualCenter.do?userid=<%=userid %>">个人中心</a></li> <li><a href="clearLoginInformation.do">退出</a></li> </ul> </div></div>
JS
<!--index.jsp 实现topbar的js-->$(document).ready(function(){ var session = "${sessionScope.ls_Enterprise}"; if(session=="") session = "${sessionScope.ls_Individual}"; if(session!=""){ $("#logBar").css("display","none"); $("#logedBar").css("display","block"); } })
这个每个页面都有的东西。要是每个页面都加上面这些相同的HTML和js,工程量太大。
而且以后要修改到每个页面去修改的话就太累了,不好维护。
最好的办法是在每个页面都加上一个链接,链接到相同的文件。统一维护。
STEP
1、先把html提取出来,建立文件header.html,index.jsp只留两个div标签。
<!--index.jsp--> <div class="topbar" id="topbar"> </div>
<!--header.html--> <div class="head-left"> <ul> <li ><a href="#" style="color:#5dbffc;">下载APP</a></li> <li><a href="#">企业版<%=userLoginTag %></a></li> <li><a href="#">人力资源版</a></li> </ul></div> <div class="head-right" style="display: block;" id="logBar"> <ul> <li><a href="cookieLogin.do">登录</a></li> <li><a href="registerIndex.do">注册</a></li> </ul> </div> <div class="head-right" style="display: none;" id="logedBar"> <ul> <li><a href="individualCenter.do?userid=<%=userid %>">个人中心</a></li> <li><a href="clearLoginInformation.do">退出</a></li> </ul> </div>
2、本来想通过iframe标签插入外部HTML代码,发现网上说iframe性能低¹,而且引用的header.html不能使用index.jsp的css,样式还得在header.html里设置,很蛋疼。
解决办法:
把index.jsp中的js代码提取出来,建立topbar.jsp。通过ajax获得外部html的内容。
(topbar.jsp的代码其实都是js,之所以后缀名是jsp,是因为代码中有使用el表达式对session进行判定²。用jsp后缀名即可使它先在服务器先运行一遍。)
//topbar.jsp$(document).ready(function() { var htmlobj = $.ajax({ url : "common/html/header.html", async : false, cache : false }); $("#topbar").html(htmlobj.responseText); var session = "${sessionScope.ls_Enterprise}"; if (session == "") session = "${sessionScope.ls_Individual}"; if (session != "") { $("#logBar").css("display", "none"); $("#logedBar").css("display", "block"); }})
3、然后在index.jsp中引入外部js文件就可以,此时index.jsp中原先为了实现状态条的js和HTML都删光了,用下面一句就可以实现状态条的功能,而且多个网页引用同一个文件。可以在外部统一管理。
<!--index.jsp--><script type="text/javascript" src="${pageContext.request.contextPath}/common/js/topbar.jsp"></script>
4、最后将这一句代码放在其他需要实现状态条功能的网页里就可以了。
CITE
为什么要少用Iframe
http://www.williamlong.info/archives/3136.html
外部js使用El表达式
http://blog.csdn.net/priestmoon/article/details/7671203
- [delve][web]如何实现网站顶部状态条的外部引用
- PageAdmin使如何实现网站顶部效果。
- [DELVE][web]基于angular js的Spring security验证
- 如何在页面引用外部的HTML?
- 如何检查外部调用程序的状态
- jquery如何让页面的滚动条返回到顶部
- Web.config引用外部配置文件,实现模块化配置
- 如何实现“返回顶部”的页面效果
- BSP中如何引用外部文件(JS/CSS等)及复杂功能的组织实现
- Viewpager实现今日头条顶部导航的功能
- 实现阮一峰ES6的顶部加载条效果
- JavaScript实现浏览器顶部的进度显示条
- 滚动条事件顶部与左侧的实现
- 仿阿里巴巴顶部用户信息网站导航条
- 如何实现回到顶部
- WEB-INF下jsp引用外部的静态资源
- [DELVE][web]解决jsp修改后,修改的内容需要重启tomcat才能刷新出来
- 带关闭功能的网站顶部滑出的广告提示条
- php 文件读取和写入详细介绍例子
- 学习JQuery的$.Ready()与OnLoad事件比较[转]
- org.springframework.orm.hibernate3.support.OpenSessionInViewFilter详解
- 开灯问题
- 用AndroidStudio开发cocos2d-x 项目
- [delve][web]如何实现网站顶部状态条的外部引用
- JS中格式化日期
- canvas 学习(一)
- c#的构造函数及构造函数的调用
- 制作ubifs文件系统
- 《剑指offer》——把二叉树打印成多行
- Linux USB驱动数据结构
- 汉诺塔问题
- 关于LinerLayout分割线Divider