[英]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.