当前位置:  编程技术>java/j2ee

多个jsp页面共享一个js对象的超级方法

    来源: 互联网  发布时间:2014-10-20

    本文导语:  今天,在项目中遇到一个问题,两个js页面要共享一个就js对象。js全局变量和静态变量都不行,其他苦逼的小农们就不要去强求了。而LZ又不想用cookie来存放,一是不安全,二个人喜好。最后发现一种超级方法来解决这个困扰...

今天,在项目中遇到一个问题,两个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对象共享了。


    
 
 

您可能感兴趣的文章:

  • 用RMI进行远程对象调用的时候,可不可以实现多个调用远程对象的并发操作
  • 如何在JAVA方法中返回多个对象,谁能解决给200分。
  • ASP.NET MVC后台向前台传递多个对象、表的方法
  • java中多点传送(同一个事件可同时传送给多个监听器对象corejava1例8.6)采用哪种设计模式谢谢
  • window.top[_CACHE]实现多个jsp页面共享一个js对象
  • php iis7站长之家
  • 在页面加载完成后通过jquery给多个span赋值
  • 同一个页面用多个id有什么影响
  • 在JSP中如何实现用SESSION在多个页面之间传递变量!
  • <jsp:forward page="...">中如何传递多个参数给另一个JSP页面,格式如何写?
  • asp.net传多个值到其它页面的具体实现
  • (急)一个页面中include多个文件不能显示的问题?
  • 动态CSS站点教程:多个页面样式提供浏览者选择
  • Android基础之使用Fragment控制切换多个页面
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Uploadify 'uploadify.php'存在多个输入验证漏洞
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • linux下grep命令实现查找多个关键字(与关系和或关系)
  • 一个物理服器一个公网IP,多个虚拟机,多个域名
  • 多jdk环境下安装多个tomcat冲突解决配置方法
  • 一个进程中的多个线程不会被调度到一台机器中的多个cup并行执行吗?
  • Apache + tomact 配多个域名 对 多个目录。
  • vim管理多个文件
  • 一个LINUX的驱动程序中,能不能注册多个中断?
  • 300分!查错,解决多个生产者和多个消费者问题 高手进!分不够想法子再加!
  • 如何使一个按钮响应多个事件?过来侃侃@!!!!
  • linux系统支持多个网卡同时工作吗?
  • linux字符界面怎么同时运行多个程序?
  • apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
  • 请问如何实现多个并行的定时器?
  • 请教POSIX问题:一个进程中,可以有多个互斥锁麽?
  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 用tar命令如何解压多个文件
  • linux下如何做象windows下的OnTimer一样,多个定时器用一个回调函数!!!!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3