Popup window accessing parent 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的弹窗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:访问父dom的弹窗


- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 400或500级别的HTTP响应 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01