2015-02-08 25 views
0

我正嘗試在我的網站上放置「一天的視頻」。我現在有大部分這方面的工作的,這裏就是我的計劃有它到底工作:無法使用Javascript更改HTML iframe源碼

  • 有一個Python腳本運行每24小時一次挑日子的隨機的YouTube視頻
  • 寫嵌入式視頻URL到一個文本文件
  • 使用JavaScript訪問文本文件,並抓住視頻網址,正如我上面提到的用它作爲IFRAME源在我的網頁

,該計劃目前就職於大部分。我的腳本能夠選取隨機視頻,並將其寫入文本文件。然後,我的網頁就能夠從文本文件中提取視頻網址,並以文本形式將其寫入網頁。但是,我有一些麻煩,它將視頻網址寫入我的iframe。

我做了一些搜索,人們建議嘗試以下代碼:

<iframe id="mainvideo" width="720" height="480" frameborder="0" src="" allowfullscreen></iframe> 

<script> 
document.getElementById("mainvideo").src = 
      finalresult + ReturnURL(); 
</script> 

所以早在我的代碼,我聲明的變量「finalresult」是以下值://www.youtube.com/embed/WJDnJ0vXUgw

當我讓Javascript在我的網頁上寫'finalresult',它會按照預期將視頻URL作爲文本寫入網頁。但是,當我嘗試將其聲明爲iframe的源代碼時,最終會在頁面上顯示一個空白iframe。

有沒有人知道我的代碼是什麼問題,因爲它沒有在我的iframe中顯示這個視頻?任何幫助,將不勝感激。

+0

嘗試的document.getElementById( 「mainvideo」)。的setAttribute( 「SRC」,FULLPATH); – 2015-02-08 16:34:22

+0

也許您的網址存在問題。這適用於我:http://jsfiddle.net/wbskapcc/ – 2015-02-08 16:36:59

+0

如果你直接在你的代碼中指定'src =「// www.youtube.com/embed/WJDnJ0vXUgw」'是否工作? '// www'部分看起來有點奇怪。 – Ridcully 2015-02-08 16:53:45

回答

0

在任何特定的event被觸發後,您必須更改src。因此,嘗試這種方式,

HTML:

<iframe id="mainvideo" width="720" height="480" frameborder="0" src="http://www.bing.com/" allowfullscreen></iframe> 
<button id="changeSrc">Change iFrame</button> 

JavaScript的:

var iframe = document.getElementById("mainvideo"); 

changeSrc.onclick = function(){ 
    iframe.src = "http://www.w3schools.com/"; 
}; 

jsFiddle

更新1:

如果你想改變頁面加載後的iframe src屬性然後用這種方式去,

window.onload = function(){ 
    var iframe = document.getElementById("mainvideo"); 
    iframe.src = "http://www.w3schools.com/"; 
}; 

jsFiddle

+0

感謝您的諮詢!我想實現這樣的事情,但沒有按鈕。你知道是否有一種方法,我可以讓它在加載某個圖像或類似的東西后,改變iframe src?我想我可以使用onload,但我不確定這是否會奏效。 – cam51037 2015-02-08 16:51:28

+0

嘗試更新@ cam51037 – 2015-02-08 17:32:03

+0

好的,這似乎工作。謝謝你的幫助! – cam51037 2015-02-08 17:36:55