0

它适用于 Firefox 20.0.1 和 IE 10.0.9200.16442,但两个输入元素都不适用于 Chrome 26.0.1410.64 m

Chrome 控制台显示了这一点:

未捕获的类型错误:对象 [对象全局] 的属性“说”不是函数

=========================main.html=======================

function say() { 
    alert("parent.html------>I'm at parent.html"); 
} 

function callChild() 
{ 
    var ifrm = document.getElementById("myFrame");
    ifrm.contentWindow.say();
} 

< input type=button value="invoke say() in the child.html" onclick="callChild()" /> 

< iframe id="myFrame" name="myFrame" src="child.html" />

========================child.html=======================

function say() 
{
    alert("child.html--->I'm at child.html"); 
} 

function callParent() {
    window.parent.say();
}

< input type=button value="invoke function say() in the parent.html" onclick="callParent()" /> 
4

1 回答 1

0

我的原型 bla bla 是错误的,但是从你的 iframe 调用时会看到不同之处

function callParent() {
    console.log(window.say); //childs.say function
    console.log(top.say); //parents.say function
    console.log(self.say, this.parent.say); //more fun!
    //window.parent.say();
}
于 2013-05-13T03:47:45.047 回答