今天,在项目中遇到一个问题,两个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的一个事件中,就可以执行下面的操作:

var e = document.getElementsByName("chatWindow");
var keyId = e[0].id;

delete window.top['_CACHE'][keyId];// 关闭与该好友的聊天窗口时,将其从聊天表中移除

然后,LZ就可以在A.jsp的其他事件中操作window.top['_CACHE']了,这样便能实现多个JSP页面直接的js对象共享了。

多个html网页共享变量,多个jsp页面共享一个js对象的超级方法相关推荐

  1. eclipse在网页进入时显示重定向过多_使用eclipse快速开发jsp以及编码问题、jsp页面元素、request对象学习的粗略记录...

    人老了真是什么都会忘记啊orz,早上发现学过去的东西好多都还没记录复盘... ...(懒虫作祟) 在开始之前,俺认为还是很有必要了解一下jsp的执行流程,俺发现CSDN上的"陈小哥cw&qu ...

  2. 【已解决】对JSP页面传值中文乱码的简单解决方法

    很多java程序员在日常的工作中总会遇到对JSP页面传值中文乱码的情况,一些朋友由于操作不当,造成了很大的麻烦.本文将为大家讲解关于对JSP页面传值中文乱码的简单解决方法的内容. 方法/步骤 方法一: ...

  3. JSP页面如何引入JS文件

    JSP页面如何引用js文件?_世俗的大尾巴也熊的博客-CSDN博客_jsp页面引入js文件 jsp中导入js文件_hhah1122的博客-CSDN博客_jsp引入js

  4. jsp页面中include的两种使用方法

    jsp页面中include的两种使用方法 include有两种用法 <%@ include file="文件的绝对路径或者相对路径"%> <jsp:include ...

  5. jsp页面九大隐含对象

    JSP隐含对象是JSP容器为每个页面提供的Java对象,是tomcat在翻译jsp到Java文件阶段给我们创建好的,我们可以直接拿来使用.JSP隐含对象也被称为预定义变量. 1.request:相当于 ...

  6. JSP页面之间传递中文参数的解决方法

    本文转载自: 关于JSP页面之间传值的中文乱码总结 用过滤器来解决JSP中文乱码问题 URLEncoder.encode与URLDecoder.docode传递中文参数编码与解码 URLEncoder ...

  7. 05传智_jbpm与OA项目_部门模块中增加部门的jsp页面增加一个在线编辑器功能

    这篇文章讲的是在线编辑器功能,之前的部门模块中,增加部门的功能jsp页面起先是这么做的. 加入在线编辑器之后要达到的效果是: 采用一个插件,名为FCKeditor-v2.6.3.要理解一个插件,要先从 ...

  8. JavaWeb中外部引入的js中涉及到location.href的页面跳转/jsp页面的外部js文件引入

    当js在jsp页面中写的时候没有任何问题如下所示: function deleteP(obj){if(confirm("你真舍得丢弃我吗?")){//发送请求location.hr ...

  9. jsp 页面传值 到后台 中文乱码解决方法

    例jsp中传入的参数名字:shortname 情况(1):和方法2针对的情况一样 如果是第3种情况的话就不适用了 java后台代码这样处理   String str = new String(shor ...

最新文章

  1. Django搭建个人博客:给文章加个漂亮的标题图
  2. 哭了,复现TensorFlow版本MAE的shuffle和reshuffle
  3. ASP.NET—001:GridView绑定List、页面返回值
  4. badminton training
  5. cshtml中引用css_css基础必备-使用样式,前端小白一看就会
  6. Android Studio报错Your anti-virus program might be impacting your build performance的解决办法
  7. java过滤器命名_java 过滤指定后缀文件
  8. python计算图片的信源熵值(信息熵)
  9. MOSFET知识小结
  10. 计算机毕业设计Java房产客户信息管理系统(源码+系统+mysql数据库+lw文档)
  11. 九宫格拼图C++源码(以面向对象的思想实现,可以输入8及8以下的任意行列数的九宫格拼图游戏)
  12. 【FPGA】:ip核----ram based shift register
  13. Java基础:如何在IDEA中查看依赖关系
  14. Emily姨妈家的猫
  15. Reactor(反应器)模式
  16. Python——字典类型理论及应用实例
  17. 易基因 | DNA甲基化测序新技术发布:扩展重亚硫酸盐测序(XRBS)
  18. 计算机显卡显示图片原理,认识显卡!浅析显卡及显卡工作原理
  19. C语言之时间复杂度空间复杂度
  20. 《Essential Linux Device Drivers》中文版第1章

热门文章

  1. 武汉科技大学085211计算机,武汉科技大学计算机科学与技术学院
  2. 工科计算机考研311分今年能上吗,2020年考研,工科345分,能进大连理工吗?学姐:热门专业悬...
  3. 服务器开机忘记密码怎么修改,服务器忘记mysql密码怎么修改?
  4. 计算机桌面删除,如何删除计算机桌面上的冗余“ IE”浏览器_IT / computer_资料
  5. 计算机组成原理整机实验报告,计算机组成原理加器实验报告.doc
  6. unity打包android 乱码,Unity3d发布IOS9应用时出现中文乱码的解决方法
  7. WebSocket简单使用
  8. Simplex 单纯形算法的python实现
  9. 计算火车运行时间(pta)
  10. 计组之数据运算:7、定点数原码除法运算(恢复余数法、加减交替法)