浅谈两种方法实现浏览器内多个标签页之间的通信

调用localstorge、cookies等本地存储方式。

方法一:

localstorge在一个标签页里被添加、修改或删除时,都会触发一个storage事件,通过在另一个标签页里监听storage事件,即可得到localstorge存储的值,实现不同标签页之间的通信。

  1. <input id="name">
  2. <input type="button" id="btn" value="提交">
  3. <script type="text/javascript">
  4. $(function(){
  5. $("#btn").click(function(){
  6. var name=$("#name").val();
  7. localStorage.setItem("name", name);
  8. });
  9. });
  10. </script>
  1. <script type="text/javascript">
  2. $(function(){
  3. window.addEventListener("storage", function(event){
  4. console.log(event.key + "=" + event.newValue);
  5. });
  6. });
  7. </script>

方法二:

使用cookie+setInterval,将要传递的信息存储在cookie中,每隔一定时间读取cookie信息,即可随时获取要传递的信息。

标签页1:

[html] view plain copy

  1. <input id="name">
  2. <input type="button" id="btn" value="提交">
  3. <script type="text/javascript">
  4. $(function(){
  5. $("#btn").click(function(){
  6. var name=$("#name").val();
  7. document.cookie="name="+name;
  8. });
  9. });
  10. </script>
    1. <script type="text/javascript">
    2. $(function(){
    3. function getCookie(key) {
    4. return JSON.parse("{\"" + document.cookie.replace(/;\s+/gim,"\",\"").replace(/=/gim, "\":\"") + "\"}")[key];
    5. }
    6. setInterval(function(){
    7. console.log("name=" + getCookie("name"));
    8. }, 10000);
    9. });
    10. </script>
时间: 2024-11-24 06:37:24

浅谈两种方法实现浏览器内多个标签页之间的通信的相关文章

如何实现浏览器内多个标签页之间的通信?

调用 localstorge.cookies 等本地存储方式 方法一:使用localStorage 使用localStorage.setItem(key,value);添加内容 使用storage事件监听添加.修改.删除的动作 window.addEventListener("storage",function(event){      $("#name").val(event.key+"="+event.newValue); }); 方法二.使

利用cookie实现浏览器中多个标签页之间的通信

原理: cookie是浏览器端的存储容器,而且它是多页面共享的,利用cookie多页面共享的特性,可以实现多个标签页的通信. 比如: 一个标签页发送消息(将发送的消息设置到cookie中),一个标签页接收消息(从cookie中获取消息) 例子:   01 发送消息的标签页(其实就是将要发送的消息设置到cookie中) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-

(转)如何实现同一浏览器多个标签页之间的通信(二)——cookie+setInterval

二.cookie (1)cookie是什么? HTTP Cookie,通常直接叫做cookie,最初是在客户端用于存储回话信息的.该标准要求服务器对任意HTTP请求发送Set-Cookie HTTP头作为响应的一部分,其中包含回话信息.浏览器会存储这样的回话信息,并在这之后,通过每个请求添加Cookie HTTP头将信息发回服务器. (2)cookie怎么用? 在JavaScript中,cookie的接口即document.cookie不太友好,可以自己封装相应的接口. 基本cookie操作:读

AcWing1048 鸡蛋的硬度(浅谈两种解法的思考方向)

这是经典的谷歌面试题,也是经典的动态规划问题 根据y总的说法,动态规划问题要划分集合,表示状态 对于这道题,有两个经典的解法,他们的复杂度不同,因为对状态的定义略有不同 1.最常规的思想,设计状态为前i层用j个鸡蛋所能测的最坏情况的最小值是多少 我相信集合的定义很多人能想到,但是状态的定义还需要进行分析 首先,为什么是最坏情况,因为我们不知道鸡蛋什么时候会碎,这是未知的,所以要考虑最坏的情况,而最小值是因为,这是我们能控制的. 所以不能控制的要考虑最坏,能控制的要考虑最好 那么状态转移方程就能定

网页内容的html标签补全和过滤的两种方法

网页内容的html标签补全和过滤的两种方法: 如果你的网页内容的html标签显示不全,有些表格标签不完整而导致页面混乱,或者把你的内容之外的局部html页面给包含进去了,我们可以写个函数方法来补全html标签以及过滤掉无用的html标签. php使HTML标签自动补全,闭合,过滤函数方法一: 代码: function closetags($html) { preg_match_all('#<(?!meta|img|br|hr|input\b)\b([a-z]+)(?: .*)?(?<![/|/

CSS实现背景图尺寸不随浏览器大小而变化的两种方法

一些网站的首页背景图尺寸不随浏览器缩放而变化,本例使用CSS 实现背景图尺寸不随浏览器缩放而变化,方法一. 把图片作为background,方法二使用img标签.喜欢的朋友可以看看 一些网站的首页背景图尺寸不随浏览器缩放而变化,例如百度个人版的首页,缩放后背景图的尺寸并不改变:  再比如花瓣网( huaban.com ): 现在用CSS来实现这一效果. 首 先需要一张足够大尺寸的图片,上图百度背景图的尺寸为1600*1000px( 图片地址:http://4.su.bdimg.com/skin/

Apacheserver自己定义404页面的两种方法以及.htaccess的重要命令总结

Apacheserver自己定义404错误页面有两种方法: 第一种方法最简单,直接在Apache的httpd.conf下进行配置改动命令,改动的内容请參看.htaccess命令写法中的自己定义错误页面 另外一种方法能够在.htaccess文件里配置命令,详细操作请參看.htaccess命令写法中的自己定义错误页面 .htaccess用法总结 1 . 首先让的本地APACHEserver器同意.htaccess改动 打开httpd.conf (1) Options FollowSymLinks A

登录用到了两种方法GET和POST方法 用reqeusts实现

这里需要补充的是,客户端不仅仅是一些简单的操作,它也是会处理一些运算,业务逻辑的处理等.也就是说,客户端也做着一些本该由服务器来做的一些事情 这个错误第一反应是是不是新的这个gateway节点有问题啊?但是想想这是不可能的,因为并不是所有请求都不可以,而且找了gateway部门的同事问了下,也不存在对请求单独处理的逻辑. 认证的同时要抓取页面表单的其他input标签的name和value.joomla的较为简单,网站一般不会明文传输用户名和密码,遇到这种情况需要分析引入的js文件,模拟加密算法.

Apache服务器自定义404页面的两种方法以及.htaccess的重要命令总结

Apache服务器自定义404错误页面有两种方法: 第一种方法最简单,直接在Apache的httpd.conf下进行配置修改命令,修改的内容请参看.htaccess命令写法中的自定义错误页面 第二种方法可以在.htaccess文件中配置命令,具体操作请参看.htaccess命令写法中的自定义错误页面 .htaccess使用方法总结 1 . 首先让的本地APACHE服务器器允许.htaccess修改 打开httpd.conf (1) Options FollowSymLinks AllowOver