2011-12-16 180 views
1

嘗試更改/修改src包含youtube.com的頁面上的任何/所有iframe的源,並從src url獲取視頻ID。更改iframe的src

這是我到目前爲止沒有工作。

$(document).ready(function(){ 
changeYoutube(); 
function changeYoutube() 
{ 
    $('iframe').each(function() { 

    var that = $(this); 
    var href = that.attr('src'); 

    if(href.search('youtube.com') != -1) {  
     that.attr('href', href+'&autoplay=1'); 
    } 

}); 
}); 

我還需要把來自url的視頻ID變成一個變種。示例url: http://www.youtube.com/embed/hP9rBDYYFvw?fs=1&feature=oembed 其中「hP9rBDYYFvw」是該網址中的視頻ID。

感謝

+0

假設頁面上沒有iframe有id的。 – TDave00 2011-12-16 07:02:19

+0

究竟是什麼「不工作」?你是否收到JS錯誤?你嘗試過調試嗎? – 2011-12-16 07:20:05

回答

1

這是解決方案:

<script type="text/javascript"> 
    function changeYoutube() { 
     $('iframe').each(function() { 

      var that = $(this); 
      var href = that.attr('src'); 

      if (href.search('youtube.com') != -1) { 
       that.attr('src', href + '&autoplay=1'); 

       // code to get id 

        var tmp = href.split("?"); 
       var tmp2 = tmp[0].split("/"); 
       var ID = tmp2[tmp2.length - 1]; 
      } 

     }); 
    } 

    $(document).ready(function() { 
     changeYoutube(); 
    }); 
    </script> 

首先,你必須設置href屬性,但你必須設置iframe的src屬性。第二你必須首先定義你在文檔準備好後調用的函數,並且在你的代碼中你沒有關閉函數。最好的祝福。

+0

這個技巧。有關視頻ID問題第二部分的任何想法? – TDave00 2011-12-16 11:58:38

0

你缺少一個右括號}

替換最後一行});}});

0
$(document).ready(function(){ 
    changeYoutube(); 
}); 

function changeYoutube() { 
    $('iframe').each(function() { 
     if($(this).attr('src').search('youtube.com') != -1) { 
      var href = $(this).attr('src');  
      $(this).attr('src', href+'&autoplay=1'); 
     } 
    }); 
} 

它只是你的另一種風格。也許它的工作原理..試試