2011-05-02 75 views
0

我正在使用jquery腳本來自動調整iframe的大小。這是至今工作正常,但我做了很多更改站點,突然就停止了工作,我發現Chrome瀏覽器開發工具的JS是給此錯誤消息:iFrame jquery auto resizing not working

無法讀取的「身體」屬性未定義。

我刪除一切從代碼和剛出的jQuery的調用,並在頭部的調整腳本:

<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript" src="js/iframe.js"></script> 
</head> 

,並在體內的iframe中。

<body> 
<iframe src="http://chusmix.com" scrolling="no" frameborder="0"></iframe> 
</body> 

但是它仍然沒有工作。我不知道還有什麼要做。我在這裏測試它:

http://www.chusmix.com/game/testframe.php

我在做什麼錯?謝謝

回答

1

這是一個安全問題。您要查看的URL是http:// www .chusmix.com,iframe是http://chusmix.com(沒有www),所以瀏覽器不允許您訪問iframe的文檔(因此它是未定義的)。

轉到http://chusmix.com/game/testframe.php,你會看到它的工作原理。

+0

謝謝,這是真的它的工作原理加www。但是我加了www。到iframe的路徑,仍然只能在http:// chusmix中使用。你有什麼想法爲什麼?我可以做一個原始修復,但我寧願從這裏走。謝謝 – lisovaccaro 2011-05-02 21:04:51

+0

去www.chusmix.com轉發到chusmix.com(沒有www)。所以,即使你把www放在src中,它也會被轉發到非www。因爲這仍然是不匹配的。 – 2011-05-02 21:28:15

0

或者你可以將以下屬性添加到iframe元素,這將只是爲你做的工作:

onload="$(this).height($(this.contentWindow.document.body).height());"