如何绑定到同一站点的不同页面上的localStorage更改事件?

尼克·科斯蒂科夫(Nick Kostikov)

我知道如果在两个选项卡中打开同一页面(本主题)并且我需要类似的效果,但是如果我在不同的选项卡中打开了一个站点的两个页面,则如何将更改事件绑定到localStorage 有任何想法吗?

Yin Gang

为您举一个例子,检查它是否是您想要的?

http://www.yoursite.com/page1.html

<html>
<head>
    <title>Page 1</title>
</head>
<body>
    <input type="text" id="value"/>
    <button id="save">Save</button>
</body>
<script>

    function $ID(id){
        return document.getElementById(id);
    }
    function addHandler(ele,trigger,handler){
        if(window.addEventListener){
            ele.addEventListener(trigger,handler,false);
            return false;
        }
        window.attachEvent(trigger,handler);
    }

    function saveToStorage(){
        var value = $ID('value').value;
        window.localStorage.setItem('key',value);
    }

    addHandler($ID('save'),"click",saveToStorage);
</script>
</html>

http://www.yoursite.com/page2.html

<html>
<head></head>
<body>
    value:
    <span id="value"></span>
</body>
<script>

    function addHandler(ele,trigger,handler){
        if(window.addEventListener){
            ele.addEventListener(trigger,handler,false);
            return false;
        }
        window.attachEvent(trigger,handler);
    }

    function onStorageEvent(e) {
        var value = localStorage.getItem('key');
        console.log('Successfully communicate with other tab');
        console.log('Received data: ' + value);
        document.getElementById('value').innerText = value;
    }

    addHandler(window,"storage",onStorageEvent);

</script>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

同一站点的不同Varnish缓存存储

使用JSON-LD和Schema.org标记同一站点上的不同事件

如何在多站点 Wagtail 环境中使用同一站点的多个 URL

AJAX停止在同一站点上加载不同的PHP ID的工作

在同一页面或同一站点上需要多个引导轮播,但它们的尺寸需要不同

使用的正则表达式无法在同一站点内具有相似结构的页面上检索正确的值

如何在同一站点的ashx和aspx文件中使用await / async?

Highcharts可点击列以在同一站点上打开另一个页面

如何使用wget从同一站点上的不同URL下载文件列表,并将文件存储在与URL相同的文件夹结构中?

如何关闭来自同一站点的所有 chrome 标签页(例如 google.com)

使Firefox记住同一站点的多个用户名/密码

防止同一站点打开两次-Firefox

球童服务器:同一站点的多个代理

PageSpeed Insights:同一站点的页面/测试运行之间的结果不一致(推迟屏幕外图像)

可以使用ASP.Net下拉列表控件导航到同一站点中的另一个页面

在最初的几次下载后,PhantomJS下载许多站点开始复制同一站点

同一站点多次出现

如何在没有操作表单的情况下将输入类型传递给同一站点上的php函数?

为什么同一站点的这两个API没有相同的方法?

线图ggplot - 两条线,来自同一站点的数据点/秒

同一站点仅通过蜂窝网络而不是通过WiFi产生“太多重定向”

使用IIS在同一站点的同一服务器上运行node.js和WebAPI

对某些站点执行ssl,但对另一站点则不执行

从没有HttpClient的同一站点上的另一个解耦WCF服务调用WCF服务

同一站点上的多个http auth详细信息+ chrome保存密码功能,有什么办法可以处理这种情况?

是否可以在同一站点上的两个Web应用程序之间共享AAD身份验证cookie

Datadog-监视由IIS托管的同一站点中的多个应用程序

在R中,如何获得循环功能以在每一行中都存在site_id的唯一站点上工作?

使用 CSS 变量制作的配色方案如何在同一网站的不同页面上保持一致?