Joshc ответ был на правильном пути, но я обнаружил, что он полностью удаляет строку запроса ?rel=0
и заменяет ее на элемент ?wmode=transparent
- который отображает предложенный YouTubeСписок видео в конце воспроизведения, даже если вы изначально не хотели, чтобы это произошло.
Я изменил код, чтобы сначала сканировался атрибут src
встроенного видео, чтобы увидеть, есть лив нем уже стоит вопросительный знак ?
(потому что это означает наличие ранее существующей строки запроса, которая может быть похожей на ?rel=0
, но теоретически может быть чем-то, что YouTube решит добавить вбудущее).Если там уже есть строка запроса, мы хотим сохранить ее, а не уничтожить, потому что она представляет настройку, выбранную теми, кто вставил это видео в YouTube, и они предположительно выбрали ее по причине!
Так что, если?
найдено, wmode=transparent
будет добавлено в формате: &mode=transparent
, чтобы просто пометить его в конце существующей строки запроса.
Если ?
не найдено, то код будет работать точно так же, как и изначально (в посте toomanyairmiles ), добавив ?wmode=transparent
в качестве новогоСтрока запроса к URL.
Теперь, независимо от того, что может быть или не быть в конце URL-адреса YouTube в виде строки запроса, он сохраняется, и необходимые wmode
параметры вводятся или добавляютсябез ущерба для того, что было раньше.
Вот код, который нужно добавить в вашу функцию document.ready
:
$('iframe').each(function() {
var url = $(this).attr("src");
if (url.indexOf("?") > 0) {
$(this).attr({
"src" : url + "&wmode=transparent",
"wmode" : "opaque"
});
}
else {
$(this).attr({
"src" : url + "?wmode=transparent",
"wmode" : "opaque"
});
}
});