我想将值从子window2传递到子window1。我已经使用了代码,但是它正在父窗口中传递值。我的代码在这里
<script type="text/javascript">
function post_value(){
var val='5';
window.opener.document.getElementById('barcode1txt').value=val;
self.close();
}
如果我想在两个子窗口之间传递此值,此代码将发生什么变化。请指导我。
答案 0 :(得分:0)
希望理解您的问题,有一个大型机(window.top)和两个(相同的域?)iFrame,它们之间必须进行通信。
因此,有几种方法可以完成此操作。 假设您具有相同的域框架,则可以访问window.top,您可以在大型机中执行以下操作:
<script>
var frame1 = document.getElementById('iframe1').contentWindow;
var frame2 = document.getElementById('iframe1').contentWindow;
</script>
现在您可以通过此引用轻松定义任何内容,您可以在frame2中执行此操作以在frame1中定义方法:
<script>
window.top.frame1.demoalert = function() {alert()};
</script>
此后,您可以直接从frame1调用demoalert。 您可以从frame2到frame1定义或传输任何内容,但必须经过父级并确保从父级的视图中找到frame1。
从frame2开始,您将执行以下操作:
<script>
function post_value(){
let frame1 = window.top.document.getElementByid('frame1').contentWindow;
let val='5';
frame1.document.getElementById('barcode1txt').value=val;
self.close();
}
post_value()
</script>
对于不允许访问父级的iFrame,它们也是一种方法。 小部件,插件或广告通常需要此功能,但也适用于您的情况。参见here。