将数据从弹出窗口传递回javascript

时间:2014-02-21 21:22:06

标签: javascript jquery

我在javascript中有一个调用页面的window.open函数。然后我想从该页面获取数据并将其返回到javascript函数。

任何人都可以帮我这么做吗?

$("#popup").click(function(e) { 
    var url = $(this).attr('href');
    e.preventDefault();
    window.open(url, 'authWindow', "width=800,height=436");
});

3 个答案:

答案 0 :(得分:0)

window.open将返回您的窗口对象。

var myWindow = window.open

现在你可以玩myWindow。

答案 1 :(得分:0)

如果弹出窗口中的页面位于 与您相同的域中 ,则可以使用window.opener访问开启窗口的数据

在您当前的窗口中:

var winopened;
$("#popup").click(function(e) { 
    var url = $(this).attr('href');
    e.preventDefault();
    winopened = window.open(url, 'authWindow', "width=800,height=436");
});

if(winopened) {
  // call a function in the opened window : 
  res = winopened.functionInWindow();

}
希望它有所帮助...

答案 2 :(得分:0)

其他海报答案是正确的,因为他们会给你窗口对象。我不确定那是你要求的。

这是一种非常简单的方法,您可以从页面返回HTML,如果这是您需要的“数据”(否则忽略此答案)。

这使用jQuery的AJAX $ .get函数从网页加载HTML,更多信息来自https://api.jquery.com/jQuery.get/

$.get(url, function( data ) {
   alert( "Data Loaded: " + data );
});

从这里开始,您可以使用返回的“数据”变量执行任何操作 - 存储,解析,显示...