Javascript $(opener.document).find(';.target';).css(';display';)在资源管理器中不工作
在父级(iframe)中Javascript $(opener.document).find(';.target';).css(';display';)在资源管理器中不工作,javascript,jquery,Javascript,Jquery,在父级(iframe)中 测验 在弹出窗口中 ... <script> $(document).ready(function () { var target = $(opener.document).find('.target').css('display'); if(target == "none"){ ... } }); <script> </head> <body> ... 。。。 $(文档).r
测验
在弹出窗口中
...
<script>
$(document).ready(function () {
var target = $(opener.document).find('.target').css('display');
if(target == "none"){
...
}
});
<script>
</head>
<body>
...
。。。
$(文档).ready(函数(){
var target=$(opener.document).find('.target').css('display');
如果(目标=“无”){
...
}
});
...
如上所述,从弹出窗口获取父窗口的显示值。但是,它在IE中不起作用。在IE中,显示值为“未定义”。
然而,在Chrome中,它通常设置为“无”
如何从IE中的弹出窗口中获取显示值
+++
我错过的一件事是通过iframe打开的弹出窗口
所以有一个父窗口,其中有一个iframe,在该iframe中打开一个弹出窗口。我想从弹出窗口中获取iframe的显示值。您应该将目标文档作为jQuery函数的上下文传递。可以使用的第二个参数执行此操作 所以对你来说是
var target = $('.target', opener.document).css('display');
但是IE有一个奇怪的bug,opener.getComputedStyle()
的值将全部设置为null
因此,我找到的唯一解决办法是在开场白
中加载jQuery,并从弹出窗口调用它自己的jQuery
函数:
var target = opener.$('.target').css('display');
.弹出窗口和父窗口是否都是同一个域?如果没有,听起来IE的默认安全设置将不允许访问
opener.document
@TylerRoper自然,这两个域是相同的。当我尝试使用JavaScript获取它时,我通常会得到显示值<代码>opener.document.getElementById('target').style.display不幸的是,由于你的回答,我试图修复它,但IE也没有定义。韩。。。而且只在我的车上,对吗?你能试着在一个服务上建立一个最小的例子吗,比如说,这样我们就可以确切地看到什么发生了。
var target = opener.$('.target').css('display');