JavaScript-调用iframe内的函数出错

JavaScript-调用iframe内的函数出错

甜柠檬 发布于 2017-06-12 字数 377 浏览 1255 回复 1

今天遇到一个这个问题,我想在页面上调用iframe内的函数,但是我可以获得这个函数对象,但是得到的这个对象却不是函数。。。。。

这是iframe链接的页面

<script type="text/javascript">
window.document.domain = "xxxxx.cn";
function xiaosi() {
parent.alert(1);
}
</script>
</html>

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泛泛之交 2017-07-16 1 楼

创建的是iframe,节点添加到body后才请求 http://webservice.XXXXXX.cn/xiaosi.htm 页面。在页面加载完成之后才可以调用子页面中的函数,所以将调用 callWebservice() 函数的代码改为:

ifr.onload=function(){
callWebservice();
}

这样调用只能满足一次,如果多次需要调用callWebservice()函数的话,
将callWebservice()改为:

function callWebservice() {
var timer = setInterval(function(){
//注意创建iframe时需要增加name属性如ifr.setAttribute("name", "aaa");
if(window.frames["aaa"].document.readyState == "complete") {
clearInterval(timer);
//这里开始调用子页面的函数等。。
ifr.contentWindow.xiaosi();
}
},10);
}

就是需要判断页面加载完成了没有。