javascript - 如何在localStorage中维护浏览器Tab对象?

标签 javascript jsp

我正在开发一个网络应用程序。

其中,我需要在主页的不同浏览器选项卡中打开多个页面,如果主页关闭,则所有其他打开的浏览器选项卡都需要关闭或单击关闭选项卡按钮。

我通过使用 Array 完成此操作,但是当主页刷新时,Array 会自动重置。

示例代码:-

Jsp

<a4j:commandButton value="Test1" onclick="return newTab('test1.jsp');"/>
<a4j:commandButton value="Test2" onclick="return newTab('test2.jsp');"/>
<a4j:commandButton value="Test3" onclick="return newTab('test3.jsp');"/> 

<a4j:commandButton value="Close Tab" onclick="closeTabs();"/> 

JavaScript

  var windowObject = new Array();
  function newTab(mypage)
     {
        var newwin=window.open(mypage);
        windowObject.push(newwin);
        return false;
     }

  function closeTabs()
     {
        for (i = 0; i < windowObject.length; i++) 
            {
              windowObject[i].close();
            }
     }

帮我解决这个问题。

最佳答案

如果您关闭/刷新主选项卡,那么您将丢失数组数据,并且您将无法关闭已打开的选项卡。

解决此问题的可能解决方案是,在本地存储中维护选项卡信息,以便每次调用 close() 时,然后从本地存储中获取选项卡名称,迭代它并关闭打开的选项卡。

本地存储仅支持存储字符串类型变量,您可以在下面有关如何在本地存储中存储和检索数组的问题中看到。 How do I store an array in localStorage?

关于javascript - 如何在localStorage中维护浏览器Tab对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49770685/

相关文章:

javascript - 如何使用 promise ,或在函数完成之前完成 ajax 请求?

javascript - Angular 4 - 在内部使用 ngModel(点击)

html - 如何根据jsp中按下的按钮以表单形式发送数据?

session - 在 Spring Security 3.0 中登录时设置 cookie

java - 如果用户未登录struts2,如何防止加载任何页面

java - Controller 类中的 Spring MVC 本地化不起作用

javascript - 使用 javascript 或 CSS 扩展表格行

javascript - tableToExcel jQuery 在 IE 中抛出奇怪的错误

javascript - 为离线 Web 应用程序存储图像数据(客户端存储数据库)

javascript - 显示mysql的回车符