为了账号安全,请及时绑定邮箱和手机立即绑定

在父级中获取子级iframe框架中的方法,疑问

在父级中获取子级iframe框架中的方法,疑问

米脂 2018-08-07 13:13:45
父级代码<body><iframe name="my" src="a.html" border="0"></iframe>        <script>     frames[0].fn1();     </script></body>子级a.html的代码<script>         var i = 0;        function fn1(){             alert("这里是子窗口");         };    </script>在父级中调用a.html的方法fn1,在firefox的代码草稿纸中运行ok,但是在源代码中运行报错TypeError: frames[0].window.fn1 is not a functionframes[0].fn1();
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

最后还是用window的方法进行解决,需要层层地调试,一点不注意都会出错,我写了一个父级与两个兄弟之间相互调用方法的例子,直接使用window方法,更简洁!!!

a.html 如下

<body><iframe id="b" src="b.html" frameborder="0"></iframe>        <iframe id="c" src="c.html" frameborder="0"></iframe>        <script>
    var b =    frames[0]; 
    var c =    frames[1]; 
    setTimeout(function (){        console.log(b.i);
    },3000);</script></body>

b.html 如下

<body>
    <script>
        var i = "this is b";
        setTimeout(function (){console.log(parent.c.i)},2000);    </script>        </body>

c.html 如下

<body>
    <script>
        var i = "this is c"
        setTimeout(function (){console.log(parent.b.i)},1000);    </script>        </body>


查看完整回答
反对 回复 2018-09-21
  • 1 回答
  • 0 关注
  • 1052 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信