2011-01-26 94 views
2

我有一個父頁面編碼這樣的函數內部調用父頁面上的功能:IE8錯誤,當我嘗試從一個iFrame

function testfunction() { 
    alert('hi'); 
} 

該網頁已經iFrame的編碼是這樣的:

<iframe src="testinside.htm"></iframe> 

Testinside.htm有這個鏈接,父頁上調用該函數:

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

在Firefox和Chrome ,這一切都工作得很好,但在IE8,我得到這個錯誤信息:

對象不支持此屬性或方法

我做了什麼錯?

回答

1

你試過window.parent.testfunction()?我似乎回想起類似的問題。

您是否嘗試過定義父功能

window.testfunction = function(){}...

我只是想在IE瀏覽器爲什麼會失敗這一猜測。也許全局函數不會自動綁定到IE中的window

如果你不能解決這個問題,你可以嘗試從父母到孩子的輪詢,等待hasBeenClicked方法返回true

+0

我有一個偷偷摸摸的懷疑,「父」只引用父框架,而不是父框架的全局對象。如果這不起作用,請嘗試`window.parent.window.testfunction()` – 2011-01-26 21:26:15

+0

遺憾的是,我也嘗試過。不過,我會嘗試window.parent.window.parent。 – 2011-01-26 22:01:44

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必須完全匹配父級的網址。

0

我有一個類似的問題。

我試圖訪問父iframe中定義
<script type="text/javascript" src="example.js"/>文件沒有成功的變量,但是當我移動的變量定義成iframe的身體<script type="text/javascript"> var myVar = ""</script>所有的作品。

相關問題