javascript - 在父级中获取子级iframe框架中的方法,疑问
大家讲道理
大家讲道理 2017-04-11 11:29:30
[JavaScript讨论组]

父级代码


        

子级a.html的代码

在父级中调用a.html的方法fn1,在firefox的代码草稿纸中运行ok,但是在源代码中运行报错
TypeError: frames[0].window.fn1 is not a function

frames[0].fn1();    
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(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>
黄舟

可以试试("iframeID")[0].contentWindow.方法名称();

ringa_lee

如果不跨域,直接使用2楼方法;如果跨域,使用web worker传递数据,或者其他的跨与方法;

高洛峰

父框架不能调用子框架的函数吧?

能调用,真好!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号