【问题标题】:Can multiple browser tabs share a piece of javascript code?多个浏览器选项卡可以共享一段 javascript 代码吗?
【发布时间】:2014-03-21 23:07:16
【问题描述】:

考虑以下 JavaScript 代码:

var timer = setInterval(getNotifications, 10000);

function getNotifications() {
  $.ajax('/notifications/dashboard.js', {dataType: 'script'});
}

我在这里尝试做的是获取尚未“咆哮”的通知集合。 (有关咆哮是什么的更多信息,请参阅jQuery Growl...)

这在一个选项卡上运行得相当好,但用户可能会打开多个选项卡。我一直在尝试研究 Facebook 如何处理来自如此多打开的选项卡的如此多的拉取请求,但我没有找到任何 1000 英尺的视图,只有 30,000 英尺的架构视图没有太大帮助。

我想知道的是,我可以为我的所有标签提供一份上述代码的副本吗?我只需要浏览器本身为所有标签点击此 JavaScript 一次,并为使用相同数据打开的每个标签发出咆哮(咆哮在 JavaScript 响应中)。

有什么想法吗?

【问题讨论】:

    标签: javascript jquery facebook notifications


    【解决方案1】:

    不熟悉咆哮,但您是否考虑将咆哮响应放在 localStorage 中以从所有选项卡访问它?

    【讨论】:

    • 这很酷,请查看我在操作中提供的链接。迈克,谢谢,我会调查一下。
    【解决方案2】:

    首先我会将脚本添加到两个页面中


    <script src="myScript.js"<>/script>

    对于数据:

    HTML 本地存储应该是您正在寻找的。这是一个了解更多信息的链接-http://diveintohtml5.info/storage.html
    您也可以使用称为 JavaScript 会话的 window.name。但它只适用于 使用相同的窗口/选项卡。链接 - http://www.thomasfrank.se/sessionvars.html

    显然还有 cookie。

    【讨论】:

      猜你喜欢
      • 2012-03-22
      • 1970-01-01
      • 2012-12-22
      • 2011-01-10
      • 1970-01-01
      • 2012-10-10
      • 2019-09-13
      • 2011-09-01
      • 1970-01-01
      相关资源
      最近更新 更多