Permettre à une iframe de devenir plein écran, cross-browser

j'ai un code que j'utilise pour afficher une vidéo dans une iframe. 99% du temps si fonctionne lorsque l'utilisateur veut passer à fullscreen, dans n'importe quel navigateur.

Cependant, nous avons trouvé quelques exemples dans IE où l'option fullscreen ne s'étend que pour s'adapter à la taille de l'iframe.

la balise iframe est rendue comme suit:

<iframe id="FrameContent" allowtransparency="true" frameborder="0" title="" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen="true" src="/whatever.aspx" style="width: 1660px; height: 867px; visibility: visible;"></iframe>

Tous les parent/enfant iframes ont le ci-dessus allowfullscreen attributs.

cependant, de la lecture ici et d'ailleurs, il semble que le consensus est d'utiliser allowfullscreen, avec ="true" spécifié. Certains le code ci-dessus serait modifié pour rendre comme suit -

<iframe id="FrameContent" allowtransparency="true" frameborder="0" title="" allowfullscreen src="/whatever.aspx" style="width: 1660px; height: 867px; visibility: visible;"></iframe>

aussi, les autres (webkitallowfullscreen & mozallowfullscreen) semblent avoir été dépréciés et ne sont donc plus nécessaires, est-ce exact?

j'ai vu d'autres suggestions, telles que l'utilisation allowfullscreen="allowfullscreen" ou allowfullscreen="" (parce que ="true" ne fonctionne pas!)

j'ai aussi vu msallowfullscreen et oallowfullscreen mentionné, et nous ne les utilisons pas actuellement.

toute personne en mesure de clarifier ce qui devrait être utilisé une fois pour toutes?

21
demandé sur RajnishCoder 2016-03-14 19:35:20

1 réponses

Voici quelques liens qui pourraient vous être utiles. "Afin de clarifier ce qui doit être utilisé une fois pour toutes", voir le W3.org lien.

  1. L'officiel de spécifications pour les navigateurs, les fabricants ont à construire dans la balise iframe se trouve sur le site web du W3C: https://www.w3.org/TR/html5/embedded-content-0.html#the-iframe-element
  2. puisque la page W3C est un peu difficile à lire, voici une liste facile à lire des propriétés iframe: http://www.w3schools.com/tags/tag_iframe.asp
  3. Voici ce qui fonctionne dans tous les navigateurs: http://caniuse.com/#search=iframe

il semble que les fabricants de navigateurs ajoutent à nouveau des attributs non conformes au W3C dans certaines de leurs étiquettes. L'attribut" allowFullScreen " appartient en fait à une étiquette param, mais pas à l'iframe ni aux étiquettes vidéo elles-mêmes.

<object type="application/x-shockwave-flash">
    <param name=allowfullscreen value=true>
    <video>...</video>
</object>

Vous n'avez peut-être pas de chance avec IE, comme on dirait le navigateur les fabricants font des piratages... au lieu de s'en tenir aux spécifications officielles du W3C. Tous les autres attributs sont optionnels et peuvent être dépréciés à tout moment.

Si vous voulez voir la vidéo, essayez de le construire sur la page sans la balise iframe. La plupart des sociétés de service vidéo respectables ne seront pas créer des vidéos de rupture de navigateur. C'est les annonces qui peuvent causer des problèmes de chevauchement de contenu sur votre page. Je suppose que c'est le problème que vous essayez d'empêcher avec la balise iframe?

3
répondu Clomp 2016-03-16 18:28:25