Javascript 尝试从iFrame内部调用父页面上的函数时出现IE8错误

Javascript 尝试从iFrame内部调用父页面上的函数时出现IE8错误,javascript,iframe,internet-explorer-8,Javascript,Iframe,Internet Explorer 8,我有一个父页面,其函数编码如下: function testfunction() { alert('hi'); } <iframe src="testinside.htm"></iframe> 该页面的iFrame编码如下: function testfunction() { alert('hi'); } <iframe src="testinside.htm"></iframe> Testinside.htm有此链接,

我有一个父页面,其函数编码如下:

function testfunction() {
    alert('hi');
}
<iframe src="testinside.htm"></iframe>
该页面的iFrame编码如下:

function testfunction() {
    alert('hi');
}
<iframe src="testinside.htm"></iframe>

Testinside.htm有此链接,用于调用父页面上的函数:

<a href="#" onclick="parent.testfunction();">Test</a>

在FireFox和Chrome中,这一切都很好,但在IE8中,我收到以下错误消息:

对象不支持此属性或方法


我做错了什么?

您是否尝试过
window.parent.testfunction()
?我似乎还记得一个类似的问题

您是否尝试将父函数定义为


window.testfunction=function(){}…

我只是想猜猜为什么IE会失败。也许全局函数不会自动绑定到IE中的
窗口


如果您无法理解这一点,可以尝试从父级轮询到子级,等待一些
已选中的
方法返回
true

尝试将脚本部分更改为:

<script type="text/javascript">
    function testfunction() {
        alert('hi');
    }
</script>

出于某种原因,脚本必须输入“text/javascript”才能工作。下一个问题是跨域问题。iframe
src
必须与父级的url完全匹配。

我遇到了类似的问题

我试图访问父iframe中定义的变量

文件没有成功,但是当我在
var myVar=“”
中将变量定义移动到iframe的主体中时,所有工作都正常。

我暗自怀疑
parent
只引用父帧,而不是父帧的全局对象。如果这不起作用,请尝试
window.parent.window.testfunction()
,遗憾的是,我也尝试过。我将尝试window.parent.window.parent,尽管如此。window.testfunction=function(){}在FF中工作正常,但在IE中仍然不行。我本以为这可能是以前出现过的,但昨天搜索了几个小时,我什么也没找到。如果有人想看直播页面,请点击这里:这就是我最终要做的事情,但让人恼火的是,这样一件(你会认为)简单的事情竟然如此困难。@F.格兰特-你最终做了什么?window.parent.window.fn()或window.parent.window.parent.fn()或其他?我现在可以吻你了,如果类型设置为“text/javascript”以外的任何值,IE8的行为就会非常奇怪(没有父对象,没有window.parent对象)