2012-07-07 4 views
5

Próbuję uzyskać wideo z atrybutem odtworzenia crossorigin w przeglądarce Chrome (wersja 20.0.1132.47 m). Nawet się nie ładuje. Panel sieci pokazuje, że żądanie OPTIONS (tak zwane "preflight") zostało przerwane przez przeglądarkę z jakiegoś powodu. Działa bez atrybutu crossorigin. Firefox ładuje i gra z powodzeniem. Byłbym wdzięczny za wszelkie sugestie.Film o pochodzeniu krzyżowym nie ładuje się w Chrome


<video 
    id='vid' 
    autoplay 
    crossorigin 
    src='http://videos-cdn.mozilla.net/serv/mozhacks/demos/resources/immersivevideo/dubai.r.webm'> 
</video>

http://jsfiddle.net/ZVgr2/

Odpowiedz

4

Przyczyną tego okazało się, że brakuje Access-Control-Allow-Headers nagłówek odpowiedzi z listy nagłówków HTTP, który pasuje wykaz przekazany w Access-Control-Request-Headers nagłówka żądania.

+0

Czy możesz podzielić się tym, jak dokładnie wdrożyć? – user1063287

+1

Oto wpis SO, który ma odpowiedź, która implementuje 'Access-Control-Allow-Headers', aby był taki sam jak' Access-Control-Request-Headers' w PHP: http://stackoverflow.com/a/9866124/ 410102 – akonsu

+0

Nie sądzę, że istnieją jakieś "proste" rozwiązania po stronie klienta - po prostu próbuję uzyskać instancję wideoj, aby załadować pliki caption'.tttt "hostowane na' localhost' w Chrome. – user1063287

1

w tagu wideo ustawić crossorigin do "anonymous" tak:

<video crossorigin="anonymous"></video> 
+0

OMG, jedno z moich rozszerzeń Chrome dodało to do wszystkich moich filmów i zakłócało odtwarzanie filmów w aplikacjach dla programistów. Trwało to wiecznie, aby go znaleźć! Argh! W tym przypadku rozszerzeniem było: Korektor EQ dla Chrome. –

0

W przypadku pomocne jest ktoś inny, ja miałem ten sam problem po rzekomo ustalające ustawienia Cors na pliku źródłowym. Okazuje się, że Chrome buforował ustawienie CORS wraz z plikiem, więc musiałem wyczyścić pamięć podręczną, a następnie zadziałało.