【问题标题】:Shared variable scope between two browser tabs? [duplicate]两个浏览器选项卡之间的共享变量范围? [复制]
【发布时间】:2012-08-22 22:27:46
【问题描述】:

我有一个包含选择/选项条目的 HTML 表单的 Web 应用程序。它在一个包含 200 个项目的演示中运行良好,即使找到你想要的那个很笨拙,但实际上有超过 30000 个项目。 (这是一个零件清单。)

我的第一个想法是有一个“选择零件”按钮,而不是下拉框,这会打开第二个浏览器选项卡(“搜索零件”),然后显示完整列表、搜索功能等,每个都有一个“复制到剪贴板”按钮。然后用户可以按一个并返回到原始表单并按“粘贴”按钮,部件的名称将输入到表单中。

我要问的是,是否有一个 javascript 范围,我可以在“搜索部件”选项卡中存储一个小文本字段和 ID 号,以便在用户按下“粘贴”按钮时检索它主表单页面?我不想将消息发送回服务器。

(顺便说一句,我不一定对实现 Ctrl+C/V 或使用系统剪贴板感兴趣,除非这是简单解决方案的一部分。)

谢谢!

【问题讨论】:

  • @JamesHill,同意,情况相同。那里有一些好主意,我确实看过,但我没有看到那个!

标签: javascript


【解决方案1】:

您可以使用 HTML5 存储 API - window.localStorage

var val = localStorage.getItem("key"); //get

localStorage.setItem("key", val);  //set

比饼干干净得多。更多here

【讨论】:

    【解决方案2】:

    只要第一页打开“搜索部件”选项卡,您就应该可以访问(从“搜索部件”页面内部)window.opener 对象。如果您在包含所需属性/变量的父页面中设置了一个全局对象,则您应该可以从子页面中完全访问。因为第一页是打开的,所以您仍然可以访问孩子中的调用方法,但我个人会坚持让其中一个或另一个执行更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 2011-04-27
      • 2012-10-10
      • 2013-10-08
      • 2021-05-07
      • 2014-08-13
      相关资源
      最近更新 更多