Javascript 如何在一个窗口中为不同的页面设置一次变量

Javascript 如何在一个窗口中为不同的页面设置一次变量,javascript,Javascript,我想为当前窗口设置布尔标志。我将在此窗口中的所有页面上使用此标志本地存储坏主意,因为它为所有窗口永久设置了标志。我该怎么做呢?使用PHP或JSP会话,然后使用AJAX在任何页面中检索您的值 您应该有一个ajax请求来首先初始化您的值。然后应该使用AJAX相应地设置/更新/读取布尔值 如果您需要详细信息,请告诉我。像jQuery一样,jQuery附加到窗口并作为全局变量工作,可以从任何窗口访问 你可以做一些像 window.my_flag = false 您可以使用窗口的名称window.nam

我想为当前窗口设置布尔标志。我将在此窗口中的所有页面上使用此标志<代码>本地存储坏主意,因为它为所有窗口永久设置了标志。我该怎么做呢?

使用PHP或JSP会话,然后使用AJAX在任何页面中检索您的值

您应该有一个ajax请求来首先初始化您的值。然后应该使用AJAX相应地设置/更新/读取布尔值


如果您需要详细信息,请告诉我。

像jQuery一样,jQuery附加到窗口并作为全局变量工作,可以从任何窗口访问 你可以做一些像

window.my_flag = false

您可以使用窗口的名称
window.name
来存储信息。此方法通常用于在创建窗口后修改窗口的名称。它只在使用相同的窗口/选项卡时有效

有关更多信息:

使用cookies:

设置cookie:

function setCookie(c_name,value,exdays)
{
  var exdate=new Date();
  exdate.setDate(exdate.getDate() + exdays);
  var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
  document.cookie=c_name + "=" + c_value;
}
获取cookie:

function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
  {
  c_start = c_value.indexOf(c_name + "=");
  }
if (c_start == -1)
  {
  c_value = null;
  }
else
  {
  c_start = c_value.indexOf("=", c_start) + 1;
  var c_end = c_value.indexOf(";", c_start);
  if (c_end == -1)
  {
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}

会话存储的永久性不如本地存储,可以用来做大致相同的事情。