在javascript中访问另一个窗口中的窗口的全局变量

时间:2016-06-10 09:12:09

标签: javascript jquery angularjs backbone.js backbone-views

我使用window.open(url);从页面打开了一个单独的窗口。我在第一个窗口中设置了一些全局变量。现在我想在新窗口中访问这些变量。我该怎么做?或者有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:3)

是的,可以通过window.opener对象。

例如:如果您在HTML文件中包含此代码:

// JavaScript code in index.html file
window.myVariable = 'variable value';
window.open('child.html');

可以在child.html文件

中访问myVariable变量
// JavaScript code in child.html file
console.log(window.opener.myVariable); // outputs 'variable value'

答案 1 :(得分:0)

您可以使用Querystrings来实现此目的。如果您这样做,可以使用许多链接获得宝贵的资源:

how to exchange variables between two HTML pages?

Pass JavaScript variable between two HTML pages

Passing JavaScript data values between 2 HTML pages.

基本用法示例如下:

Screen1.html(传递数据):

function sendData() 
{      
  window.location = "Screen2.html?" + dataToBeSent;

}

Screen2.html(接收数据):

var query = window.location.search;