function logNewWindow(newWindow, JQnewWindowDoc)
{
var mychildText = JQnewWindowDoc.text();//all the child doc text
var innerChildText = $("#inchildy", JQnewWindowDoc).text();// one element text
var gotback = newWindow.childCallBack("CHILD TEXT:" + mychildText + " INNER:" + innerChildText);
alert("GOT:" + gotback); //child sent me this text from childCallBack
};
var AWindow = window.open("TestCallBack.html");
3条答案
按热度按时间gcuhipw91#
不能,调用
window.open
函数时需要保留打开窗口的引用,否则无法获取引用。一个解决方案是只在前一个窗口关闭时创建一个新窗口,或者在其他情况下重新使用它。
cpjpxq1n2#
var windowObj = window;
怎么样?你甚至不需要把它赋给你自己的变量。9o685dep3#
获取“窗口”的方式真的有两种
对于newOpenWindow,您可以在打开它之前通过查找false值来检查它是否存在(您基本上已经执行了“open”操作了吗
其他窗口,您将无法从脚本的Angular 进行检测,因为一旦打开,它们就超出了窗口/浏览器示例中脚本的范围。
还有“包含窗口”,它实际上是iframe中的一个文档,这实际上是完全不同的事情。
编辑:说明窗口交互
创建名为TestCallBack.html的子窗口
注意两个窗口中的jQuery。
显示窗口之间的一些功能交互(从子窗口传递,窗口和新窗口文档的jQuery对象):
子窗口布局:
TestCallBack.js文件的文本:
父窗口中用于打开子窗口的Javascript:(以及儿童调用的函数)