Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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.contentWindow访问IE中的JS函数_Javascript_Internet Explorer 8 - Fatal编程技术网

Javascript 通过iframe.contentWindow访问IE中的JS函数

Javascript 通过iframe.contentWindow访问IE中的JS函数,javascript,internet-explorer-8,Javascript,Internet Explorer 8,我会尽我最大的努力保持这个简单。以下代码在IE10中运行良好: if (!document.getElementById(frames[i][j].toString()).contentWindow.MyFunc()) { alert("Failed"); return false; } 然而,在IE8中,它失败了,因为对象不支持MyFunc上的此属性或方法 但是,它确实可以找到contentWindow 一些可能有用的信息: “帧”是iframe对象的

我会尽我最大的努力保持这个简单。以下代码在IE10中运行良好:

if (!document.getElementById(frames[i][j].toString()).contentWindow.MyFunc()) {
        alert("Failed");
        return false;
    }
然而,在IE8中,它失败了,因为对象不支持MyFunc上的此属性或方法 但是,它确实可以找到contentWindow

一些可能有用的信息: “帧”是iframe对象的二维数组。 此代码存在于父级中。 MyFunc在子iframe中定义

基本上,我的问题归结为:

document.getElementById(frames[i][j].toString()).contentWindow.*whatgoeshere?*
我确实看到了这篇文章,但它并没有起到多大作用。 这并不是iframe不为人所知的情况,例如:post,因为代码在文档准备好之后很长一段时间才会触发。
虽然错误是不同的访问被拒绝,但我想知道我是否需要做一些更复杂的事情,如我在帖子中发现的。

感谢Chris和Arnar为此花费的时间和精力。原来这完全是我的错。今天,当我查看MyFunc时,我注意到它依赖于jQuery validationEngine:

 function MyFunc()() {
    if (!$('#form1').validationEngine('validate')) { return false; }
    $("#btn").click();
    return true;
  }
然后我注意到validationEngine js库的版本在我的机器上更新了,然后在我的测试服务器上更新了…真傻,我没有部署我对validationEngine的更新…啊


对于事后阅读本文的任何人:检查您可能正在使用的任何库的依赖关系,尤其是在子函数中

您的内容和iFrame中的内容是否在同一个域中?您应该在IE中记录whatever.contentWindow的内容,看看它是否符合您的期望