繁体   English   中英

如何将数据从父窗口传递到弹出窗口

[英]How to pass data from Parent window to pop-up window

父窗口是: http://localhost:8080/webApp/index.html通过单击给定的按钮,出现一个弹出窗口,我想将一些数据作为innerHTML从父窗口发送到弹出窗口。 我正在使用下面的功能来显示弹出窗口

<script type = text/javascript>
     window.open("popup.html", "popup",'toolbar = no, status = no beforeShow');
</script>

弹出窗口网址为: http://localhost:8080/webApp/popup.html

现在我想将数据( innerHTML text)从父窗口发送到弹出窗口,我知道它可以使用AJAX发布到服务器然后添加到弹出页面,但我不想将此innerHTML文本(数据)发送到服务器,我只是想使用js函数来仅在客户端执行我的任务。 可能吗?

server side : java, servlet
Client Side : jQuery, javascript

为什么不尝试简单的窗口处理程序:

x = window.open("....","..","...");
x.document.write("bla bla bla");

这里的想法是,当我们只引用document.write和其他文档级命令时,它引用当前窗口即。 如果我们说document.getElementById("xxx")那么它实际上是当前窗口,如window.document.getElementById("xxx"); 如果我们想要它来自弹出窗口,那么我们需要使用以下命令为该窗口分配一个处理程序:

x = window.open(".....")

我们可以使用该处理程序执行与当前窗口相同的操作。 而不是document.getElementByID使用x.document.getElementById

希望这可以帮助。

如果只需要传递一些数据,可以通过保存window.open的返回值然后在其上设置属性来为弹出窗口添加全局变量。 如果要操作弹出窗口的HTML,可以创建弹出窗口主体的jQuery对象。

var popup = window.open("popup.html", "popup",'toolbar = no, status = no beforeShow');
popup.dataFromParent = 'Some Data';

var $popupBody = $(popup.document.body);
// Manipulate $popupBody just like you would any other jQuery object.

尝试这个 :

parent window js :  window.open("popup.html", "popup",'toolbar = no, status = no beforeShow');

children/pop-up window js : window.opener.document.getElementById("parent_window_id").innerHTML;

通常你不能从子/弹出窗口访问父窗口的任何功能或数据,除非你使用window.opener =父窗口(这只是父窗口的引用),然后获取任何id,函数或数据(innerHTML)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM