Mam problem z tym od jakiegoś czasu, więc pomyślałem, że poproszę o pomoc.Jak zabezpieczyć Chrome przed pobieraniem ostatnich 128 bajtów pliku MP3
Dla projektu sprawdzającego koncepcję, stworzyłem HTML 5 only last.fm player przy użyciu jPlayer. Działa dobrze z Firefoksem, ale nie gra z użyciem rozwiązania html podczas korzystania z Chrome (Chromium).
Najpierw Chrome próbuje pobrać plik mp3 za pomocą adresu URL strumienia. Po wstępnym buforowaniu,zawsze stara się odczytać ostatnie 128 bajtów, wykonując kolejne żądanie HTTP. Problem polega na tym, że serwery strumieniowe last.fm wydają się zezwalać tylko na jedno połączenie na plik na raz, co powoduje, że oba połączenia HTTP się nie udają. Wygląda na to, że Chrome/Chrom ignoruje właściwość preload = "none" tagu audio. O ile mogę się dowiedzieć, tag jest tylko zaleceniem dla przeglądarki.
Normalne pliki mp3 działają jak urok. Ponadto, po wprowadzeniu przekierowanego URL-a strumieniowego w przeglądarce, rozpoczyna się odtwarzanie. Wygląda na to, że last.fm używa oryginalnych adresów URL jako rodzaj jednorazowego tokenu dostępu/filtra kontroli dostępu, podczas gdy rozwiązany adres URL strumienia jest ważny przez pewien czas.
Aby uzyskać pełne nagłówki HTTP (pliki cookie ocenzurowane), zobacz http://pastebin.com/rBAdL4X8. (Skopiowano z inspektora elementów chromu).
Czy istnieje sposób na obejście tego problemu z poziomu przeglądarki?
Nie jestem pewien. Może przeglądanie kodu tego projektu da ci kilka odpowiedzi ... http://code.google.com/p/thelastripper/ – MonkeyWrench
Znalazłem [ten raport o błędzie] (http://code.google.com/p/ chromium/issues/detail? id = 94285). Spójrz – neoascetic
Dzięki, @neoascetic :) – user3001