2016-08-26 1 views
3

Я попытался отключить API YouTube, как вы могли видеть, но он работает в Chrome и Firefox. Как это можно отключить в Internet Explorer и Safari. Есть ли способ исправить это с помощью JavaScript? Пойдите в Google, но не смогли найти правильный ответ, чтобы решить эту проблему.Как отключить API YouTube в Internet Explorer 11 и Safari

var player; 
 
var player2; 
 

 
function onYouTubeIframeAPIReady(){ 
 
\t player = new YT.Player("video1", { 
 
\t \t videoId: "KKp9g8fTBDQ", 
 
\t \t width: 300, 
 
\t \t height: 200, 
 
\t \t playerVars: { 
 
\t \t \t "autoplay": 1, 
 
\t \t \t "controls": 1, 
 
\t \t \t "showinfo": 0, 
 
\t \t \t "modestbranding": 0, 
 
\t \t \t "loop": 1, 
 
\t \t \t "fs": 0, 
 
\t \t \t "cc_load_policy": 0, 
 
\t \t \t "iv_load_policy": 3, 
 
      "mute": 1 
 
\t \t \t }, 
 
\t \t events: { 
 
\t \t  "onReady": onPlayerReady 
 
\t \t } 
 
\t }); 
 
\t player2 = new YT.Player("video2", { 
 
\t \t videoId: "O5-o0DpB6z0", 
 
\t \t width: 300, 
 
\t \t height: 200, 
 
\t \t playerVars: { 
 
\t \t \t "autoplay": 1, 
 
\t \t \t "controls": 1, 
 
\t \t \t "showinfo": 0, 
 
\t \t \t "modestbranding": 0, 
 
\t \t \t "loop": 1, 
 
\t \t \t "fs": 0, 
 
\t \t \t "cc_load_policy": 0, 
 
\t \t \t "iv_load_policy": 3, 
 
      "mute": 1 
 
\t \t }, 
 
\t \t events: { 
 
\t \t  "onReady": onPlayerReady 
 
\t \t } 
 
\t }); 
 
} 
 

 
function onPlayerReady(event) { 
 
    \t event.target.setPlaybackQuality("hd1080"); 
 
    event.target.setVolume(50); 
 
    player.mute(); 
 
} 
 

 
//tried these options as well, but nothing works. 
 

 
var video1 = document.getElementById("video1"); 
 
var video2 = document.getElementById("video2"); 
 

 
video1.mute(); 
 
video2.mute(); 
 

 
video1.volume = 0.0; 
 
video2.volume = 0.0;

ответ

1

Вместо использования player.mute(); внутри функции onPlayerReady вы должны использовать event.target.mute(). Таким образом вы вызываете функцию mute, которая связана с конкретным видео, к которому был вызван обратный вызов onPlayerReady.

Вот рабочий codepen:
http://codepen.io/anon/pen/kXOXWo

(Он не будет работать внутри codepen с IE из-за перекрестного происхождения и IFRAME, но код был проверен как с Chrome, Firefox, IE и Safari, и все Работа).

обновление

По какой-то причине при использовании "autoplay": 1 вместе с опцией mute() - каждые несколько раз вы делаете обновление в ie видео еще не немой. Решение, которое я нашел для этого было установить "autoplay": 0 вместе с

function onPlayerReady(event) { 
    event.target.mute(); 
    event.target.playVideo(); 
} 

Это полный codepen:
http://codepen.io/anon/pen/NAQXar

Надежда теперь он будет работать :)

+0

Если установить громкость видео например, 50%, звук не будет отключен при обновлении браузера IE. –

+0

Не могли бы вы объяснить? Что вы подразумеваете под «если я установил объем видео на 50%»? Где? Где? Как? – Dekel

+0

Если я открою сайт в браузере IE 11, установите громкость видео вручную, например, на 50%. Обновите браузер IE, к сожалению, звук не будет отключен. –

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