2013-11-28 4 views
1

Я пытаюсь встроить видео в HTML с помощью IFRAMEВнедрение Yahoo! Видео Использование IE11 Сбой

<iframe width="100%" height="351" scrolling="no" frameborder="0" src="http://finance.yahoo.com/video/playlist/cnbc-big-data/best-worst-housing-markets-132811012.html?format=embed&player_autoplay=false"></iframe> 

Это видео прекрасно работает в Firefox. Тем не менее, когда я пытаюсь просмотреть встроенное видео iframe в IE11, оно не работает и вместо этого дает мне сообщение «Вам нужно Adobe Flash для воспроизведения этого видео» - это работает в IE11, если смотреть из исходной ссылки.

Я не могу понять, почему это не работает, я надеюсь, что кто-то может помочь мне с решением!

Благодаря

+0

Вы установили, что вы установили Adobe Flash для IE? И плагин работает? – Charlie74

+1

Кроме того, я считаю, что IE10 и IE11 не поддерживают флэш-память при использовании ее через интерфейс «метро» ... вам нужно использовать настольные версии браузеров для просмотра флеш-памяти. – Charlie74

+0

Ну, как я уже сказал в своем оригинальном посте, видео работает как плагин для флеш-памяти исходного источника - его просто, пытаясь добавить это как встроенное видео через iframe, что он не работает ... Я использую Windows 7 не 8. –

ответ

2

он выглядит, когда вы вставляете видео в IFRAME источника (Yahoo) неправильно определяет тип браузера вложенного кадра в IE11. Просматривая источник Yahoo, они делают некоторые проверки браузера и даже пытаются добавить видео-тег в разметку. Если все это не работает, код говорит, что использует значение по умолчанию, которое установлено на flash.

http://yep.video.yahoo.com/js/3/videoplayer-min.js?lang=en-US 


getRendererType: function (al) { 
     var am = "html"; 
     if (f.Lang.isString(al.mobile) || f.Lang.isNumber(al.ios) || al.android > 0) { 
      return am; 
     } 
     if ((navigator && navigator.userAgent) && ((navigator.userAgent.indexOf("MSAppHost") >= 0) || (/.+MSIE 10.+Windows NT.+WebView/i.test(navigator.userAgent)))) { 
      return am; 
     } 
     if (this._fallBackTOHTML5(al)) { 
      return am; 
     } 

     function Y() { 
      return !!document.createElement("video").canPlayType; 
     } 
     if (this._preferHTML5 && Y()) { 
      return am; 
     } 
     return this._defaultRenderer; 

Однако, сменив агент браузера на IE10, тип рендеринга будет успешным и отобразится видео.

IE10 Render

Хотя его только догадка, но я уверен, новые строки агента пользователя IE11 использует как-то говорил этот контроль компонентного видео неправильно визуализации. К сожалению, в видеопроигрывателе очень много кода, который очень трудно разгадать.

Update: Я попытался модифицировать строку navigator.userAgent появляться в IE10 без удачи Sample

UPDATE2: Я не думаю, что это строка агента пользователя. Это должно быть что-то с добавлением видеотега внутри iframe в IE11. Модификация пользовательского агента устраняет это. Может быть, это и то, и другое.

К сожалению, я думаю, вам просто нужно подождать, пока они исправит видеоконтроль.

+0

Что я могу сделать, чтобы заставить это работать? –

+0

Большое спасибо за вашу помощь! –

+0

Не помогло ... Возможно, кто-то увидит мой прогресс и может подумать о чем-то другом, чтобы попробовать. – cgatian

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