多个jsp页面共享一个js对象
来源:互联网 发布:淘宝全球购标志在哪 编辑:程序博客网 时间:2024/04/28 20:38
今天,在项目中遇到一个问题,两个js页面要共享一个就js对象。js全局变量和静态变量都不行,其他苦逼的小农们就不要去强求了。而LZ又不想用cookie来存放,一是不安全,二个人喜好。最后发现一种超级方法来解决这个困扰,那就是用window.top['_CACHE']来存放这个变量,即可实现,不同Jsp页面直接的对象共享。
var share = {/** * 跨框架数据共享接口 * @param{String}存储的数据名 * @param{Any}将要存储的任意数据(无此项则返回被查询的数据) */data: function (name, value) {var top = window.top,cache = top['_CACHE'] || {};top['_CACHE'] = cache;return value !== undefined ? cache[name] = value : cache[name];},/** * 数据共享删除接口 * @param{String}删除的数据名 */removeData: function (name) {var cache = window.top['_CACHE'];if (cache && cache[name]) delete cache[name];}};下面贴上LZ的代码:
LZ的一个jsp页面为A.jsp,在A.jsp中点击一个按钮打开另一个B.jsp页面。LZ的思路如下:
在A.jsp打开B.jsp的事件中,写入如下代码:
window.top['_CACHE'] = chatFrdList;window.top['_CACHE'][frdUserId] = frdUserId;其中,chatFrdList定义为var chatFrdList = new Object();
frdUserId为一个用户的id。
那么,在B.jsp的一个事件中,就可以执行下面的操作:
然后,LZ就可以在A.jsp的其他事件中操作window.top['_CACHE']了,这样便能实现多个JSP页面直接的js对象共享了。var e = document.getElementsByName("chatWindow");var keyId = e[0].id;delete window.top['_CACHE'][keyId];// 关闭与该好友的聊天窗口时,将其从聊天表中移除
42 0
- 多个jsp页面共享一个js对象
- 一个JSP页面如何添加多个对象
- jsp页面之间如何传递一个js对象
- 多个页面共享JAVASCRIPT 变量,对象,函数
- 一个页面多个倒计时 js
- JS一个对象封装多个函数
- jsp页面如何调用多个js文件一起调用
- 在jsp页面导入jquery多个js文件
- 多个 JS 文件共享一个命名空间
- 如何一个jsp页面处理多个form表单
- 在一个jsp页面中包含多个动态JSP页面
- JSP页面中的9个隐含对象
- JSP页面的9个隐含对象
- jsp页面之间传递一个对象
- Ext两个jsp页面共享设置对象,属性
- jsp学习2-jsp页面的9个隐含对象
- 一个页面中出现多个tab标签,js方法
- JSP 多客户端共享对象 Application
- Mac10.9 bootcmap 无光驱安装win7
- js判断客户端是iOS还是Android等移动终端的方法
- Choose a destination with a supported architecture in order to run on this device
- 为什么eclipse的debug的代码和程序的代码不一样
- 数据库的哈希设计
- 多个jsp页面共享一个js对象
- java.io.EOFException解决方法-很有用的额
- org.apache.jasper.JasperException: Unable to compile class for JSP 错误解决方法
- 学习DLL注入的好文章
- centos 上安装CLucene
- hadoop jar **.jar 与java -classpath **.jar运行mapreduce
- HTML5 CSS3 诱人的实例: 3D立方体旋转动画
- hack集锦
- Effective C++:条款29:为“异常安全”而努力是值得的