2013-07-07 40 views
-1
<html> 
<body> 
    <iframe id="src"> 

</body> 
</html> 

我想通過Javascript函數在div元素中顯示iframe,但我似乎無法弄清楚什麼不工作。有任何想法嗎?如何在一個變量中存儲iframe?

document.getElementById('site').src = http://www.w3schools.com/; 

在此先感謝!

+5

你不必與ID元素'site' –

+0

對不起對於這種類型,但即使我確實修復了ID,它仍然不會顯示 – idude

+0

在一個側面說明,W3學校是可怕的,它包含廣泛的地方,其教程是真正的低質量。您應該使用美妙的Mozilla文檔作爲參考:https://developer.mozilla.org/en-US/docs。 – 2013-07-07 20:26:12

回答

5

嘗試 document.getElementById('src').src = 'http://www.w3schools.com/';

a)網址應字符串(引用)

B時提供),將iframe的id爲srcsite

+0

偉大的解決方案,只有一個問題:我正在使用將所有網址存儲在數組中的API。當我嘗試'document.getElementById('src')。src ='feeds [i] .link';'時,代碼不起作用。我將如何解決這個問題? – idude

+0

刪除引號。你的數組存儲字符串,所以你想使用該變量的值而不是你想要解析的變量的字符串表示。 –

+0

抱歉再次打擾您,但通過刪除引號,iframe是空白頁。我知道鏈接是正確的,因爲當我使用href標籤中的feeds.link時,它完美地工作。 document.getElementById(「src」)。src = thefeeds [i] .link – idude

0

你的iframe中沒有ID site,所以你的代碼不會有任何影響。 (另請注意,您未關閉iframe標籤)。

下面是正確的代碼(fiddle)。

<input type="button" onclick="changeIframeSrc('myFrame');" value="changeSrc"> 
<iframe src="http://www.example.com" id="myFrame"></iframe> 

<script> 
function changeIframeSrc(id) { 
    e = document.getElementById(id); 
    e.src = "http://www.wikipedia.com/"; 
} 
</script> 
0

首先,一對夫婦的小東西:

  1. idiframe似乎src,而不是site;和
  2. 您需要關閉iframe標記。

假設你只是處理一個iframe,它有通過各種手段的id則:

var myIframe = document.getElementById('src'); 
// gives you just that one iframe element 

你可能要考慮document.querySelectorAll不過,如果你有超過工作一個iframe

var iframes = document.querySelectorAll('iframe'); 

看到,在行動:http://jsbin.com/equzey/2/edit

和重要的邊注:如果你需要的是訪問iframe元素(例如,操縱其來源或通過style屬性應用CSS),那麼上面應該沒問題。但是,如果您需要與iframe的內容工作,你需要得到它的網頁上下文中與contentWindow屬性:

var iframes = document.querySelectorAll('iframe'); 
iframes[0].contentWindow;