2009-12-29 2 views
6

У меня возникли проблемы с попыткой понять это. Я пытаюсь сделать это, получить идентификатор видео с YouTube и ввести 11 символов ID в css div определенного идентификатора с помощью jQuery. Я знаю URL-адрес миниатюры любого видео, но мне просто нужно изменить идентификатор, чтобы отображать различные миниатюры видео.Получение идентификатора видео YouTube в URL-адресе и ввода выбранного идентификатора видео в URL-адрес

<script> 
    $(document).ready(function() { 
     function(data) { 
      videoID = data.split('www.youtube.com/v/')[1].split('&amp')[0]; 
      $("#304817679").append(videoID); 
     }); 

     $("#304817679").replaceWith("<div id=\"304817679\" " + 
      "style=\"background: url(http://img.youtube.com/vi/" + 
      $.function(data) + 
      "/0.jpg) no-repeat middle; width: 15px; height: 150px;\"></div>"); 
    }); 
</script> 

<div id="304817679"> 
    <div style="display: none;"> 
     <object width="248" height="222"> 
      <param name="movie" value="http://www.youtube.com/v/vy90n2nNRKQ&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"></param> 
      <param name="wmode" value="transparent"></param> 
      <param name="allowFullScreen" value="true"></param> 
      <embed src="http://www.youtube.com/v/vy90n2nNRKQ&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="248" height="222" allowFullScreen="true" wmode="transparent"></embed> 
     </object> 
    </div> 
</div> 

Пытаясь объяснить это лучше, я хочу 11 символов ID видео YouTube из встроенного кода, и поместить его в URL эскиза (http://img.youtube.com/vi/" + function(data) + "/0.jpg"). Который также заменил бы исходный div (<div id="304817679">).

Я нахожусь на правильном пути с моим сценарием?

ответ

0

ОК, так что вы действительно хотите, так это, как найти и заменить текст. Посмотрите на Find & replace jquery

У вас возникли проблемы даже с получением и настройкой атрибута вообще?

+0

Нет, я не думаю, что это то, что я хотел. Отображается видеоизображение видео: «http://img.youtube.com/vi/THIS IS WHERE ID IS/0.jpg». Я хочу заменить «ЭТО, ГДЕ ИД ИД» с идентификатором видео, содержащимся во встроенном коде: param name = «movie» value = «http://www.youtube.com/v/HERE IS ID & rel = 0 &. Пока он заменяет весь div (

Contents
) и его содержимое другим div, который будет иметь фоновое изображение, установленное как «http://img.youtube.com/vi/THIS IS WHERE ID IS/0.jpg " – Dave

+0

Итак, это вопрос нахождения регулярного выражения для соответствия текста между двумя слэшами. Сообщите нам, как вы продвигаетесь по этому поводу :) – Eduardo

1

Я не совсем уверен, что вы пытаетесь сделать, но функция не может быть вызвана (впоследствии), если у нее нет имени. Также не было определено никаких переменных данных.

$(document).ready(function() { 

    //lets give this function a name 
    function getID(data) { 
     //videoID is parsed nicely 
     videoID = data.split('www.youtube.com/v/')[1].split('&amp')[0]; 

     //this doesn't actually do anything useful since it is replaced afterwards 
     $("#304817679").append(videoID); 

     //to get a value out of function we need to return it 
     return videoID; 
    }; 

    //background style wasn't defined correctly 
    //changed to background-image and background-repeat 
    //lets also supply getID function HTML as data 
    $("#304817679").replaceWith("<div id=\"304817679\" " + 
     "style=\"background-image: url(http://img.youtube.com/vi/" + 
     getID($("#304817679").html()) + 
     "/0.jpg); background-repeat: no-repeat; width: 15px; height: 150px;\"></div>"); 
}); 

Demo

0

что происходит, если URL в видео YouTube является: http://www.youtube.com/user/sothebysrealty?feature=watch

нет 'идентификатор' в этих типах ссылок. Если владелец использовал бит или аналогично, вы можете перевернуть URL-адрес онлайн, но все-таки, получилось что-то вроде выше.

Мне не удалось выяснить, как заставить vid-плеер использовать этот URL-адрес через api YouTube.

Смежные вопросы