7

IE w najlepszym wydaniu:Niezwykle dziwne zachowanie: IE11 wydaje się tworzyć niewidzialną kartę, gdy skrypty są blokowane, a następnie dozwolone - jak to naprawić?

Jest na nim pamięć USB z dokumentem HTML. Gdy użytkownik otworzy go w IE11, a skrypty zostaną zablokowane, pojawi się monit umożliwiający uruchomienie tych skryptów.

enter image description here

Po kliknięciu pozwolić, miejsce wydaje się przeładowane, ale również wygląda jak nowa karta jest otwarty/zamknięty.

Po włączeniu JS następuje przekierowanie do wersji online witryny.

Teraz na stronie znajduje się wideo, które rozpoczyna autoodtwarzanie po 10 sekundach. Ale w IE11, kilka sekund później to samo wideo zaczyna grać równolegle, więc tu dwa razy dźwięk.

Po sprawdzeniu DOM i usunięciu znacznika <video> (jest tylko 1), jedno wideo przestaje być odtwarzane. Ta, która zaczęła się później, nadal gra. Nawet gdy odwiedzam inną stronę, wideo wciąż się odtwarza.

Tylko zamknięcie przeglądarki zatrzymuje wideo.

To zachowanie nie występuje, gdy zezwalam na bezpośrednie wykonywanie skryptów.

Korzystanie z wideo.js i jQuery.

Wszelkie pomysły?

+0

Osoby korzystające z IE wiedzą o tym i wiedzą, jak to naprawić, zezwalając lokalnym plikom na uruchamianie skryptu. ... jako obejście tego problemu, możesz zasugerować, abyś wykrył, czy IE przed rozpoczęciem wideo, a jeśli monit użytkownika, aby rozpocząć wideo. Niewidzialna karta będzie tam, ale nie przeszkadza ci bieganiem, więc nie zaszkodzę w tym ..!? – LGSon

+0

@LGSon to to, co zrobiliśmy na końcu, ale nadal jestem ciekawa, co się tam dzieje .. – Alex

Odpowiedz

0

Elementy HTML nie wymagają JavaScript i/lub ActiveX do wyświetlania ich treści. Są zautomatyzowane.

Po załadowaniu strony i wyświetleniu jej w postaci zwykłego kodu HTML, przy włączonej obsłudze JavaScript, zostanie uruchomiona konstrukcja DOM i ponownie wyrenderowana treść. Jednak DOM może duplikować instancję obiektu multimedialnego i uruchamiać strumień równoległy, czyli duplikat strumienia już zainicjowanego przez automatyzację HTML. ! Niewidoczne dla DOM.

Tak więc, nie ma otwierania nowej karty lub nie można jej zamknąć, jest to po prostu instancja zautomatyzowana HTML obsługująca początkowy strumień.

I stanie się to tylko podczas lokalnego uruchamiania stron HTML.

Wreszcie: Najlepszym sposobem uniknięcia tego - oczekiwanego, ale niechcianego zachowania - byłoby: Ustaw właściwość "Automatycznie odtwarzaj element wideo" na "fałsz".

p.s .: O następującym numerze, o którym mówisz: "Gdy tylko JS zostanie włączony, nastąpi przekierowanie do wersji online witryny."

To coś, czego żadna przeglądarka nie może zrobić dla Ciebie. Musisz więc samodzielnie usunąć kod, który uruchamia nawigację w przeglądarce do treści online. Powodzenia.