在浏览器的多个实例中打开的同一网站的页面应使用javascript引用相同的变量
Pages of same website opened in multiple instance of browser should refer to same variable using javascript
- 我有网站 www.xyz.com,它有 3 个页面 a、b 和 c。
- 我在IE浏览器实例1中打开一个页面(即 www.xyz.com/a(
- 我在新的IE窗口中打开页面b(即 www.xyz.com/b(
- 我在IE窗口实例3(即 www.xyz.com/c(的新选项卡中打开页面c
我需要一种使用 javascript ONLY的方法,通过它我将能够引用我为网站 xyz 定义的变量,并且所有三个页面 a、b 和 c 都将使用相同的变量。如果变量不存在,我应该能够使用 javascript 创建变量。
有几个选项,但最受支持的是 cookie。当您打开第一页时,您可以设置一个cookie,然后在网站上的所有后续页面上都可用。
现代浏览器(IE 8+,Chrome,Firefox等(的另一个选择是使用与cookie类似的localStorage
,但数据保留在客户端,服务器端脚本永远无法访问。如果数据超过几个字节,则节省一点开销。
客户端的变量可以用不同的方式管理:
- 隐藏的表单域或
<input type='hidden' id='variable-name' name='variable-name' value='some-value' />
,其范围限定为一个页面,即一个 HTTP 请求和响应。因此,此选项不适用于您。 - 在 URL 中发送的参数(称为查询字符串(,其范围也限定为一个 URL,即一个 HTTP 请求和响应。因此,此选项也不适用。
- 使用服务器端会话对象,在许多页面之间共享一个变量,这是广泛且适用的,但当然不是在你的情况下,你想使用 JavaScript。
- 使用指定域和路径的所有页面之间共享的 Cookie。例如,为
www.xyz.com
和路径/
设置的cookie可以从所有页面(如www.xyz.com/a
,www.xyz.com/b
和www.xyz.com/c
(访问。
因此,正如其他人所提到的,您唯一的解决方案是使用 cookie。
可以使用
cookie 访问跨同一域的多个页面的 Javascript 变量:
有关更多详细信息,请参阅此处:http://www.w3schools.com/js/js_cookies.asp
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量