我的父页面的代码如下:
function testfunction() {
alert('hi');
}
该页面的iFrame编码如下:
<iframe src="testinside.htm"></iframe>
Testinside.htm有这个链接调用父页面上的函数:
<a href="#" onclick="parent.testfunction();">Test</a>
在FireFox和Chrome中,这一切都运行正常,但在IE8中,我收到此错误消息:
Object不支持此属性或方法
我做错了什么?
答案 0 :(得分:3)
尝试将脚本部分更改为:
<script type="text/javascript">
function testfunction() {
alert('hi');
}
</script>
和iframe:
<iframe src="http://www.psychiatrist.com/psychstalk/test/testinside.htm"></iframe>
然后确保使用此网址加载测试:
http://www.psychiatrist.com/psychstalk/test/test.htm
由于某种原因,脚本必须输入“text / javascript”才能生效。下一个问题是跨域问题。 iframe src
必须与父级的网址完全匹配。
答案 1 :(得分:1)
你试过window.parent.testfunction()
吗?我似乎回想起类似的问题。
您是否尝试将父函数定义为
window.testfunction = function(){}...
我只想猜测为什么IE会因此而失败。也许全局函数不会自动绑定到IE中的window
。
如果你无法解决这个问题,你可以尝试从父母到孩子的轮询,等待一些hasBeenClicked
方法返回true
。
答案 2 :(得分:0)
我有类似的问题。
我试图访问父iframe中定义的变量
<script type="text/javascript" src="example.js"/>
文件没有成功,但当我将变量定义移动到<script type="text/javascript"> var myVar = ""</script>
中iframe的主体时,一切正常。