两个浏览器标签之间的共享变量范围

时间:2012-08-28 12:04:06

标签: javascript

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

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:5)

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

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

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

比饼干更干净。更多here

答案 1 :(得分:2)

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