Видео HTML5 (mp4) в Internet Explorer 11 не имеет полноэкранного режима

Я играю с видео HTML5 на веб-странице с обычными элементами управления - воспроизведением/паузой, отслеживанием, громкостью и полноэкранным режимом. Эти видео имеют формат mp4/ogg. 80% моей пользовательской базы используют Internet Explorer 11 (любезно предоставленный Google Analytics), а остальные — Mozilla Firefox, Chrome и Safari. Проблема в том, что все элементы управления, кроме полноэкранного, не отображаются в IE11. Работает как шарм во всех других браузерах.

caniuse[dot]com/#feat=fullscreen предполагает, что IE11 имеет встроенную полноэкранную поддержку.

Вот пример:

Встроенное видео на этой странице поддерживает полноэкранный режим с кнопка.

Использование того же кода с атрибутом «controls» в элементе не отображает полноэкранный режим в IE11.

Скрипт: http://jsfiddle.net/jaisfiddles/f1apusx3/

<video controls> 
  <source src=http://techslides.com/demos/sample-videos/small.webm type=video/webm> 
  <source src=http://techslides.com/demos/sample-videos/small.ogv type=video/ogg> 
  <source src=http://techslides.com/demos/sample-videos/small.mp4 type=video/mp4>
  <source src=http://techslides.com/demos/sample-videos/small.3gp type=video/3gp>
</video>

Что мне не хватает? У меня сложилось впечатление, что в IE11 включен API-код msRequestFullscreen().


person Jaideep Rangam    schedule 26.06.2015    source источник


Ответы (3)


Кажется, я сам наткнулся на решение.

Мой элемент video содержался в файле iFrame. Чтобы сделать полноэкранный режим доступным, я указал

<iframe allowfullscreen="true"> 

С другими основными браузерами, такими как Mozilla Firefox, Chrome и т. д., в этом не было необходимости.

См. известные проблемы на http://caniuse.com/#feat=fullscreen.

«IE 11 неправильно поддерживает полноэкранный режим при открытии из iframe».

person Jaideep Rangam    schedule 26.06.2015

Я видел на каком-то сайте, что IE11 не поддерживает полноэкранный режим!!! Он не будет поддерживать полноэкранный API до версии 11. Даже в IE10 нет полноэкранного API!! Потому что они являются родными элементами управления; они не используют полноэкранный API.

person hemnath mouli    schedule 26.06.2015
comment
Как упоминалось в вопросе, я использую IE11! Пожалуйста, прочтите еще раз. - person Jaideep Rangam; 26.06.2015

пусть открывается из хрома с созданием redirect.html как;

http://~~/redirect.html?redirectUrl=<your adress>
redirect.html>>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html lang="tr"> 

<head> 

<title>Please wait..Lütfen Bekleyiniz...</title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script type="text/javascript"> 
function openURL() { 
debugger; 
var url = getParameterByName("redirectUrl"); 

if (!url) 
return; 

if (msieversion()) { 
var shell = new ActiveXObject("WScript.Shell"); 
shell.run("Chrome " + url); 
window.open('', '_self', ''); 
window.close(); 
} 
else { 
window.location.href = url; 
} 
} 

function msieversion() { 

var ua = window.navigator.userAgent; 
var msie = ua.indexOf("MSIE "); 

if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer, return version number 
{ 
return true; 
} 

return false; 
} 

function getParameterByName(name, url) { 
debugger; 
if (!url) url = window.location.href; 
// name = name.replace(/[\[\]]/g, "\\$&"); 
// var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
name = name.replace(/[\[\]]/g, "\\$&"); 
var regex = new RegExp("[?]" + name + "(=([^]*)||$)"), 
results = regex.exec(url); 
if (!results) return null; 
if (!results[2]) return ''; 
return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 
</script> 
</head> 

<body onload="openURL()"> 
</body> 

</html>
person Emre Aybar    schedule 03.05.2019