2016-03-14 42 views
21

Mam trochę kodu, którego używam do wyświetlania wideo w elemencie iframe. 99% czasu, jeśli działa, gdy użytkownik chce przełączyć się na pełny ekran, niezależnie od przeglądarki.Pozwolenie, aby element iframe stał się pełnoekranowy, znajduje się w różnych przeglądarkach.

Jednak w IE znaleźliśmy kilka przykładów, w których opcja pełnego ekranu rozwija się tylko do rozmiaru elementu iframe.

tag iframe jest wyświetlana w następujący sposób: iframes

<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> 

Wszystko rodzic/dziecko mają powyższe allowfullscreen atrybuty.

Jednak z czytania tutaj i gdzie indziej, wydaje się, że jedynym zgodnym jest użycie allowfullscreen, z podanym ="true". Niektóre powyższy kod zostanie zmieniony, aby uczynić w następujący sposób -

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

Również inni (webkitallowfullscreen & mozallowfullscreen) wydają się być przestarzałe, więc nie są już potrzebne, czy to prawda?

Widziałem inne propozycje, takie jak wykorzystanie allowfullscreen="allowfullscreen" lub allowfullscreen="" (bo ="true" nie działa!)

Ja również widziałem msallowfullscreen i oallowfullscreen wspomniano, a my obecnie nie używać tych.

Ktoś może wyjaśnić, co powinno być użyte raz na zawsze?

+4

Które wersje IE to załamują? Jeśli są to starsze wersje, czy nie byłoby łatwiej nie obsługiwać tych wersji? –

+0

@Ian Kemp Przerwa w IE11 obecnie, tylko zmiana rozmiaru do wymiarów elementu iframe, a nie pełny ekran. Nie udało się odtworzyć w Chrome ani w Firefoksie (najnowsze wersje obu). –

+1

W IE jest obsługiwany jako po prostu 'allowfullscreen' https://msdn.microsoft.com/en-us/library/dn312070%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396. Zauważ, że musisz zadzwonić pod odpowiedni wywołanie JavaScript, https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen – TylerH

Odpowiedz

3

Oto niektóre linki, które mogą okazać się przydatne. Aby "wyjaśnić, co powinno być używane raz na zawsze", zobacz link W3.org.

  1. Oficjalna spec co przeglądarka producenci muszą budować do znacznika iframe znajduje się na stronie W3C: https://www.w3.org/TR/html5/embedded-content-0.html#the-iframe-element
  2. Ponieważ strona W3C jest trochę trudne do odczytania, tutaj jest łatwym do listy czytać właściwości iframe: http://www.w3schools.com/tags/tag_iframe.asp
  3. Oto, co działa w każdej przeglądarce: http://caniuse.com/#search=iframe

brzmi jak producenci przeglądarek dodawania atrybutów zakaz W3C zgodnych ponownie do niektórych swoich tagów. Atrybut "allowFullScreen" naprawdę należy do tagu param, ale nie do iframe ani do tagów wideo.

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

może mieć pecha z IE, jak to brzmi jak producenci przeglądarek tworzenia hacki ... zamiast trzymać się oficjalnych specyfikacji W3C. Wszelkie inne atrybuty są opcjonalne. & może być przestarzałe w dowolnym momencie.

Jeśli chcesz pokazać wideo, spróbuj zbudować go na stronie bez tagu iframe. Większość szanowanych firm obsługujących wideo nie będzie tworzyć filmów z rozbijaniem przeglądarki. To reklamy, które mogą powodować problemy z nakładaniem się treści na Twojej stronie. Zakładam, że to problem, który próbujesz zapobiec za pomocą tagu iframe?

+3

Zamiast linku w3schools (), proponuję użyć https://devdocs.io/html/element/iframe – hjpotter92

+1

Och, to ładnie wyglądająca strona! Nie widziałem wcześniej devdocs.io, ale eliminuje wszystkie reklamy, które są wszechobecne na stronie w3schools. Będę musiał dodać zakładkę do tej strony. :) – Clomp