访问父dom的弹窗

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

问题描述

我有一个弹出窗口,需要访问父 dom 以生成打印页面.打印页面的结构与父页面的结构明显不同,因此打印 css 无法解决问题.我基本上想弹出一个窗口,然后让该窗口从父级获取一些数据,甚至从弹出窗口访问 dom 并生成打印页面,而无需再次访问服务器.有什么想法可以实现吗?

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?

我正在使用标准

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.

提前致谢!

推荐答案

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

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.

作为 jQuery,我认为(基于答案,此处:如何使用 jquery 访问父窗口对象?):

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的弹窗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)