两个浏览器选项卡之间的共享变量范围? [复制]
Posted
技术标签:
【中文标题】两个浏览器选项卡之间的共享变量范围? [复制]【英文标题】:Shared variable scope between two browser tabs? [duplicate] 【发布时间】:2012-08-22 22:27:46 【问题描述】:我有一个包含选择/选项条目的 html 表单的 Web 应用程序。它在一个包含 200 个项目的演示中运行良好,即使找到你想要的那个很笨拙,但实际上有超过 30000 个项目。 (这是一个零件清单。)
我的第一个想法是有一个“选择零件”按钮,而不是下拉框,这会打开第二个浏览器选项卡(“搜索零件”),然后显示完整列表、搜索功能等,每个都有一个“复制到剪贴板”按钮。然后用户可以按一个并返回到原始表单并按“粘贴”按钮,部件的名称将输入到表单中。
我要问的是,是否有一个 javascript 范围,我可以在“搜索部件”选项卡中存储一个小文本字段和 ID 号,以便在用户按下“粘贴”按钮时检索它主表单页面?我不想将消息发送回服务器。
(顺便说一句,我不一定对实现 Ctrl+C/V 或使用系统剪贴板感兴趣,除非这是简单解决方案的一部分。)
谢谢!
【问题讨论】:
@JamesHill,同意,情况相同。那里有一些好主意,我确实看过,但我没有看到那个! 【参考方案1】:您可以使用 HTML5 存储 API - window.localStorage
var val = localStorage.getItem("key"); //get
localStorage.setItem("key", val); //set
比饼干干净得多。更多here。
【讨论】:
【参考方案2】:只要第一页打开“搜索部件”选项卡,您就应该可以访问(从“搜索部件”页面内部)window.opener
对象。如果您在包含所需属性/变量的父页面中设置了一个全局对象,则您应该可以从子页面中完全访问。因为第一页是打开的,所以您仍然可以访问孩子中的调用方法,但我个人会坚持让其中一个或另一个执行更新。
【讨论】:
以上是关于两个浏览器选项卡之间的共享变量范围? [复制]的主要内容,如果未能解决你的问题,请参考以下文章