Błąd cast_sender.js: Nie udało się załadować zasobu: net :: ERR_FAILED w Chrome

185

Niedawno zacząłem otrzymywać następujące błędy konsoli, bez żadnych zmian kodu.

Ostatnio nie instalowałem żadnych rozszerzeń.

Failed to load resource: net::ERR_FAILED chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js
Failed to load resource: net::ERR_FAILED chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/cast_sender.js
Failed to load resource: net::ERR_FAILED chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js
Failed to load resource: net::ERR_FAILED chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/cast_sender.js
Failed to load resource: net::ERR_FAILED

Mam na stronie kilka osadzonych odtwarzaczy YouTube, które powodują ten błąd, ale są one proste:

<iframe width="100%" height="100%" src="http://www.youtube.com/embed/OUR_YOUTUBE_ID?showinfo=0&amp;wmode=transparent" frameborder="0" allowfullscreen=""></iframe>

Czy ktoś jeszcze tego doświadczył?

Alex
źródło
1
Też uderzam. Czy to powoduje, że JS nie działa na stronie?
davko
1
Rzadko tak. Byłem w stanie replikować go kilka razy, co spowodowałoby uszkodzenie JS na stronie, ale w większości przypadków po prostu widzę błędy konsoli.
Alex
Czy osadzone wideo wciąż się ładuje? To nie jest dla mnie, co jest złe.
kleinfreund
1
o dziwo, obsługa google adwords blokuje strony, które mają ten problem. bardzo frustrujące.
Martin Alderson
1
Spróbuj wyłączyć rozszerzenie Adblocker dla witryny. Pracował dla mnie.
Robot Boy

Odpowiedzi:

140

Najwyraźniej YouTube stale sprawdza skrypty Google Cast, nawet jeśli rozszerzenie nie jest zainstalowane.

Od jednego komentatora :

... wygląda na to, że Chrome próbuje uzyskać plik cast_sender.js na stronach z zawartością YouTube. Zgaduję, że gdy Chrome widzi media, które może przesyłać strumieniowo, próbuje uzyskać dostęp do rozszerzenia Chromecast. Gdy rozszerzenie nie jest obecne, błąd jest zgłaszany.

Czytaj więcej

Jedynym rozwiązaniem, z jakim się spotkałem, jest zainstalowanie rozszerzenia Google Cast , niezależnie od tego, czy jest ono potrzebne, czy nie. Następnie możesz ukryć przycisk paska narzędzi.

Aby uzyskać więcej informacji i aktualizacji, zobacz to SO pytanie . Oto oficjalny numer .

Isherwood
źródło
Dostaję to na urządzeniu osadzonym, które nie daje opcji dodawania rozszerzeń, i w ogóle uniemożliwia odtwarzanie filmów. Wyczyszczenie pamięci podręcznej rozwiązuje problem, ale nie jest to możliwe. Widzę odpowiedź, którą ktoś napisał o zmianie „osadzania” na „v” w adresie URL, ale używam interfejsu IFrame API YouTube zamiast bezpośrednio robić to za pomocą adresu URL.
flarn2006
@ flarn2006, wydaje się to nowym pytaniem, które nie powinno być przedstawiane jako komentarz do bardzo starej odpowiedzi. Usuń go i ponownie opublikuj jako taki.
isherwood
40

Dodam do odpowiedzi podanej wcześniej .

To nie jest błąd w kodzie ani w kodzie przeglądarki. Jest to kod JavaScript wewnątrz sondaży iframe YouTube w poszukiwaniu rozszerzeń, z którymi mógłby współpracować w przypadku ich zainstalowania (prawdopodobnie określi, czy rozszerzenie jest zainstalowane).

Spójrz na źródło www-embed-player.js(ładowane z s.ytimg.com, to statyczne pliki YouTube CDN). Znajdziesz następujące:

function Wj(a){return"chrome-extension://"+a+"/cast_sender.js"}
sompylasar
źródło
5
Co zatem sugerujesz? I nie chcą zainstalować rozszerzenie Google Cast! Coś jak zastąpienie tej funkcji?
Augustin Riedinger
Nie mogę go znaleźć w źródle: s.ytimg.com/yts/jsbin/www-widgetapi-vfllgPgCl/www-widgetapi.js
Augustin Riedinger
4
Po pierwsze: zastąpienie tej funkcji nie powinno działać i nie powinieneś chcieć zastępować funkcji witryn innych osób. Jeśli ci się to uda, zhakujesz Google Chrome, YouTube lub oba. Poza tym to ich błąd, nie twój. Po prostu zgłoś błąd lub coś takiego. Po drugie, @sompylasar wspomina, że ​​kod znajduje się w źródle pliku o nazwie www-embed-player.js. Czy możesz wyjaśnić nam, dlaczego patrzysz na inny plik, ale mimo to oczekujesz, że ta funkcja tam będzie?
toon81
21

Aby przestać widzieć te błędy cast_sender.js, edytuj link do youtube w elemencie iframe src i zmień embednav

developer1011
źródło
3
To zadziałało dla mnie, chociaż dodam, że powinieneś to zrobić tylko dla Chrome, ponieważ w Firefoksie spowoduje to, że wideo zostanie załadowane jako Flash i wyświetli komunikat o zablokowanej wtyczce.
R. Salisbury
Wymaganie od użytkownika zainstalowania Flasha w Firefoksie, choć denerwujące, jest prawdopodobnie lepszą opcją niż JavaScript na twojej stronie. Na mojej stronie wydaje się, że ten problem ma wpływ na działanie, uniemożliwiając pobranie wymaganej czcionki FontAwesome. Na razie będziemy korzystać z tego rozwiązania, dopóki nie będziemy mogli ponownie przebudować sposobu osadzania filmów na naszej stronie.
Chris Noldus,
jeśli zmienisz osadzenie na v, mój iframe nie będzie działać. Jakakolwiek rada? skorzystałem z tego rozwiązania z tego postu stackoverflow.com/a/8521287/4812515
alphapilgrim
1
Pamiętaj ... / v / ... jest depricated developers.google.com/youtube/…
Mladen Janjetovic
Kiepski pomysł. Jeśli użyjesz v zamiast embed, youtube użyje Flash Playera zamiast natywnego html player.
CyberAleks
2

Błąd polega na naprawieniu błędu YouTube.

Rozwiązaniem pozwalającym uniknąć kompleksu Javascript-Console-Error jest zaakceptowanie faktu, że w YouTube (a także innych stronach) mogą występować błędy JavaScript, których nie można naprawić.

To wszystko.

użytkownik5775253
źródło
0

Prostym rozwiązaniem tego problemu jest zainstalowanie rozszerzenia Google Cast . Jeśli nie masz Chromecasta lub nie chcesz używać rozszerzenia, nie ma problemu; po prostu nie używaj rozszerzenia.

Mark Kimitch
źródło
0

Oprócz tego, co już powiedziano - aby uniknąć tego błędu związanego z zakłócaniem (zatrzymywaniem) innego kodu JavaScript na twojej stronie, możesz spróbować wymusić załadowanie iframe YouTube na końcu - po załadowaniu całego innego kodu JavaScript.

bdereta
źródło