弹出窗口访问父dom [英] Popup window accessing parent dom

查看:83
本文介绍了弹出窗口访问父dom的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个弹出窗口需要访问父dom来生成打印页面。打印页面的结构与父类的结构明显不同,因此print css不能解决问题。我基本上想要弹出一个窗口,然后让窗口从父级获取一些数据,甚至从弹出窗口中访问dom,并生成打印页面,而无需再次访问服务器。任何想法如何我可以实现这一目标?



我使用标准

  window.open()

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



预先感谢!



<$ p $

p> var opener = window.opener;
if(opener){
var oDom = opener.document;
var elem = oDom.getElementById(your element);
if(elem){
var val = elem.value;


$ / code>

否则,你会冒风险,开门人不会对你最初的调用没有反应,并且你无法从中获得元素。



作为jQuery,我认为(基于一个答案,在这里:如何使用jquery访问父窗口对象?):

  var opener = window.opener; 
if(opener){
var elem = opener。$(#elementId);
if(elem){
var val = elem.val(); //我忘记了我们正在处理一个jQuery obj


code $ pre

I have a popup window that needs to access the parent dom to generate a print page. The structure of the print page is significantly different then the structure of the parent so a print css would not solve the problem. I basically want to popup a window and then have that window grab some data from the parent of even access the dom from the popup and generate the print page without having to go to the server again. Any ideas how i can achieve this?

Im using the standard

window.open()

to pop up a window. I need this solution to not be a hack and be cross browser compatible with all major browsers.

Thanks in advance!

解决方案

Sajjan's answer is a start, but better make sure your objects are available before you try to access them:

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

Otherwise, you do run the risk that the opener doesn't respond to your initial call, and that you can't get the element from it.

As jQuery, I think (based on an answer, here: how to access parent window object using 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
    }
}

这篇关于弹出窗口访问父dom的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆