2013-08-25 84 views
2

你好,我正在嘗試用javascript更新iframe的src,下面是我正在嘗試的代碼。當我嘗試執行代碼時,如果發生錯誤,就會失敗,並在我調用此行時停止執行代碼。如何用javascript更新iframe

document.getElementById('logviewer').src = "www.yahoo.com"; 

示例代碼:

<iframe src="" id="logviewer"/> 
<script type="javascript/text"> 
document.getElementById('logviewer').src = "www.yahoo.com"; 
alert('Loaded Yahoo'); 
</script> 

你可以看到在src不會改變,警報不顯示。

非常感謝您的回答!

+0

可能重複[?爲什麼jQuery的或DOM方法,例如\'的getElementById \'找不到元素(http://stackoverflow.com/questions/14028959/why-does-jquery-or-a-dom-method-such-getelementbyid-not-find-the-element) –

+1

@PatrickEvans不是,完全不是問題.. – Christian

+0

記住標記正確的答案?謝謝。 – Christian

回答

2

有在你的代碼中的一些主要問題:

  • 腳本的MIME類型應該是text/javascriptjavascript/text
  • iframe標籤應該有一個關閉標籤... shortopentags不被支持。 這是因爲當瀏覽器不支持iframe時,會顯示iframe標籤之間的內容。您的代碼意味着腳本代碼會在本節結束。
  • document當代碼運行時(您需要將代碼放入domready事件中)可能未準備好,這基本上就是Patrick正在談論的內容。我認爲這也是一個非常重要的原因。

這裏是在工作狀態代碼:http://jsfiddle.net/4EMdn/

+0

如果代碼中存在未知類型,則甚至不應該將其作爲JavaScript執行。 –

+0

這就是我說的... – Christian