弹出窗口访问父dom

Sco*_*a P 17 html javascript popup

我有一个弹出窗口,需要访问父dom来生成打印页面.打印页面的结构与父页面的结构明显不同,因此打印CSS不能解决问题.我基本上想要弹出一个窗口然后让那个窗口从父节点获取一些数据,甚至从弹出窗口访问dom并生成打印页面而不必再次访问服务器.任何想法我怎么能实现这一目标?

我正在使用标准

window.open()
Run Code Online (Sandbox Code Playgroud)

弹出一个窗口.我需要这个解决方案不是黑客,并且与所有主流浏览器兼容.

提前致谢!

Jas*_*lor 26

Sajjan的答案是一个开始,但在尝试访问它们之前,最好确保您的对象可用:

var opener = window.opener;
if(opener) {
    var oDom = opener.document;
    var elem = oDom.getElementById("your element");
    if (elem) {
        var val = elem.value;
    }
}
Run Code Online (Sandbox Code Playgroud)

否则,您确实存在开启者没有响应您的初始调用的风险,并且您无法从中获取该元素.

作为jQuery,我认为(根据答案,这里:如何使用jquery访问父窗口对象?):

var opener = window.opener;
if(opener) {
    var elem = opener.$("#elementId");
    if (elem) {
        var val = elem.val(); // I forgot we're dealing with a jQuery obj at this point
    }
}
Run Code Online (Sandbox Code Playgroud)


Saj*_*kar 5

window.opener.document.getElementById("您的元素").value