Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript iframe中的调用函数_Javascript_Jquery - Fatal编程技术网

Javascript iframe中的调用函数

Javascript iframe中的调用函数,javascript,jquery,Javascript,Jquery,我想在这里做点什么。我有一个文档,我设置了一个数组。然后,jquery获取该数组并为每个值附加一个iframe: <script> var containers = new Array("test1", "test2"); </script> 这很有效。完美地但我把这个函数放在文档准备就绪时触发,它不起作用 $(function() { document.getElementById(containers[current]).contentWindow.pl

我想在这里做点什么。我有一个文档,我设置了一个数组。然后,jquery获取该数组并为每个值附加一个iframe:

<script>
  var containers = new Array("test1", "test2");
</script>
这很有效。完美地但我把这个函数放在文档准备就绪时触发,它不起作用

$(function() {
    document.getElementById(containers[current]).contentWindow.play();
});
这让我想起:

未捕获类型错误:对象[对象窗口]没有方法“播放”

我做错了什么,伙计们? 谢谢

编辑

试图在iframe上应用onload。没用

var initialFrame = containers[qual];

initialFrame.onload = function() {
    document.getElementById(initialFrame).contentWindow.play();
};
EDIT2


出于某种原因,它开始起作用了。谢谢

您通常会监听iframe的加载事件,如下所示:

$("#iframe").load(function(){
    // iframe is loaded
});
function loadFrame() {
    if($('body', $('#iframe').contents()).length != 1) {
        setTimeout(loadFrame,500);
    }
    else {
        // iframe is loaded
    }
};
loadFrame();
。。。但我最近遇到了问题,因此我反复检查iframe的内容,直到它加载完毕,如下所示:

$("#iframe").load(function(){
    // iframe is loaded
});
function loadFrame() {
    if($('body', $('#iframe').contents()).length != 1) {
        setTimeout(loadFrame,500);
    }
    else {
        // iframe is loaded
    }
};
loadFrame();

不确定这是否是最佳解决方案,但它可以工作。

首先等待
iframe
load
事件

initialFrame.addEventListener("load", function() {
    initialFrame.contentWindow.play();
});

等待
iframe
load
事件。它正在工作,谢谢!加载是必要的!contentWindow在IE上不起作用。如何让它在IE上起作用?