Tylko w przeglądarce Firefox „Ładowanie nie powiodło się dla <script> ze źródłem”

90

Chcę zintegrować formularz Marketo z moją istniejącą witryną na frameworku yii. Mój kod działa na wszystkich przeglądarkach oprócz Firefoksa.

Wyciąg z mojego kodu:

    $('#button').click(function () {
    var formData = {
        'Email': $('#UserInfo_email').val(),
        'FirstName': $('#UserInfo_first_name').val(),
        'LastName': $('#UserInfo_last_name').val(),
        };
    MktoForms2.loadForm('//app-ab23.marketo.com', mcId, formId, function (form) {
        var myForm = MktoForms2.allForms()[0];
        myForm.addHiddenFields(formData);
        myForm.onSuccess(function (values, followUpUrl) {
            return false;
        });
        myForm.submit();
    });
});

W przeglądarce Firefox pojawia się błąd tylko z komunikatem

Ładowanie nie powiodło się dla <script> ze źródłem „ http://app-ab23.marketo.com/index.php/form/getForm?munchkinId=1111&form=1111&url=http%3A%2F%2Fblox.dev%2Fwizard%2Fmap&callback= jQuery110207175825035737486_1503656391790 & _ = 1503656391791 ”.

inne przeglądarki działają poprawnie

uwaga: munchkinId i formId są zmieniane do wysyłania tutaj.

Narek Tootikian
źródło
próbowałeś odświeżyć przeglądarkę? .. okrągłe strzałki po prawej stronie paska
adresu
Tak, odświeżyłem przeglądarkę i po skopiowaniu / wklejeniu adresu URL na inną kartę ładuje zawartość.
Narek Tootikian,
inna karta ... w tej samej przeglądarce działa?
scaisEdge
2
Mam na myśli url, który nie ładuje się i pokazuje w konsoli błąd, ładuje się na innej karcie ale sama strona nie działa.
Narek Tootikian,
Czy nie powinien generować błędu? Źródło jest prawidłowe, a odpowiedź jest niepoprawnie sformatowana jako JSON.

Odpowiedzi:

122

Właśnie miałem ten sam problem z aplikacją, która ładuje skrypt ze ścieżką względną.

Okazało się, że skrypt został po prostu zablokowany przez Adblock Plus.

Spróbuj wyłączyć blokowanie reklam / skryptów (Adblock, uBlock Origin, Privacy Badger…) lub przenieść skrypt tak, aby nie pasował do reguł Twojego programu blokującego reklamy.

Jeśli nie masz zainstalowanej takiej wtyczki , spróbuj odtworzyć problem podczas uruchamiania przeglądarki Firefox w trybie awaryjnym .

  • Jeśli nie możesz go odtworzyć w trybie awaryjnym, oznacza to, że problem jest powiązany z jedną z wtyczek lub ustawień.
  • W przeciwnym razie może to być inny problem. Upewnij się, że masz ten sam komunikat o błędzie, co w pytaniu. Spójrz także na kartę sieciową narzędzi programistycznych, aby sprawdzić, czy Twój skrypt jest na liście (w razie potrzeby najpierw załaduj ponownie stronę).
Didier L.
źródło
5
Człowieku, jak można o tym pomyśleć? -_-
linusg
1
@linusg Nie pamiętam dokładnie, ale wiem, że spojrzałem na kartę sieciową w narzędziach programistycznych i byłem zdezorientowany, ponieważ w tym skrypcie w ogóle nie było nic, mimo że pozostałe skrypty zostały załadowane. Musiało to coś blokować z góry.
Didier L
42
Byłoby miło, gdyby te narzędzia zgłaszały blokowanie konsoli.
R. Schreurs,
1
@DidierL, będę podjąć wysiłek, jeśli mój komentarz został upvoted 10 razy :-)
R. SCHREURS
2
Musiałem wyłączyć Privacy Badger, aby załadować cdn.datatables.net.
Andrew Gaul
13

Właśnie miałem ten sam problem - dla mnie problemem był Privacy Badger w Firefoksie - a nie adblocker. Wysyłanie dla potomności

Stuart
źródło
2
Miałem dokładnie ten sam problem. Privacy Badger wydaje się blokować DataTables CDN
MikeHoss
5

Zauważyłem, że w Firefoksie może się to zdarzyć, gdy żądania są przerywane (przełączanie strony lub szybkie odświeżanie strony), ale trudno jest odtworzyć błąd, nawet jeśli próbuję.

Inne możliwe przyczyny: pewne problemy, a ten mówi o blokerach (jak podano w innych odpowiedziach).

Christophe Roussy
źródło
3

Jak zasugerowano powyżej, może to być problem z rozszerzeniami przeglądarki. Wyłącz wszystkie rozszerzenia, w tym Adblock , a następnie spróbuj ponownie, ponieważ kod ładuje się teraz w mojej przeglądarce (Google Chrome - najnowszy), więc prawdopodobnie jest to problem po Twojej stronie. Czy próbowałeś też innej przeglądarki, takiej jak Shudders IE, jeśli ją masz? Adblock jest znany konflikt z nazw domen z tracki marketw nich z reguły koc. Spróbuj użyć trybu przeglądania prywatnego lub trybu bezpiecznego .


źródło
Wypróbowałem wszystkie możliwe rzeczy, które zasugerowałeś. Jedyne o czym myślę to silnik javascript. Musi istnieć kilka drobnych rzeczy, które powodują problem.
Narek Tootikian
To musi być jakaś funkcja Firefoksa, przejdź do Bugzilli i otwórz zgłoszenie.
3

Miałem ten sam problem (chociaż inna aplikacja internetowa) z komunikatem o błędzie i okazało się, że typ MIME dla plików .js był text/x-jszamiast z application/javascriptpowodu zduplikowanego wpisu w mime.types na serwerze, który był odpowiedzialny za obsługę js pliki. Wygląda na to, że dzieje się tak, gdy X-Content-Type-Options: nosniffustawiony jest nagłówek , co powoduje, że Firefox (i Chrome) blokuje zawartość plików js.

Alex Lehmann
źródło
2

Napotkałem ten sam problem (dokładny komunikat o błędzie) i po kilku godzinach kopania odkryłem, że nagłówek treści musi być ustawiony na application/javascriptzamiast tego, application/jsonktóry miałem. Po zmianie tego teraz działa.

Aziz Saleh
źródło
2

Dzisiaj napotkałem dokładnie ten sam problem, pracując nad stroną progresywnej aplikacji internetowej (PWA) i usuwając niektóre dane pamięci podręcznej i pracowników usług dla tej strony z przeglądarki Firefox. Konsola programisty zgłosiła, że ​​żaden z 4 plików Javascript na stronie już się nie ładuje. Problem występował w trybie awaryjnym, więc nie był to problem związany z dodatkiem. Te same pliki skryptów ładowały się dobrze z innych stron internetowych w tej samej witrynie. Żadna ilość wyczyszczenia pamięci podręcznej przeglądarki Firefox ani wyczyszczenia danych stron internetowych z przeglądarki Firefox nie pomogłaby, ani ponowne uruchomienie komputera z systemem Windows 10. Chrome cały czas działał dobrze na stronie problemu. W końcu przywróciłem cały folder profilu Firefoksa z jednodniowej kopii zapasowej i problem natychmiast zniknął, więc nie był to problem z moją aplikacją PWA. Najwyraźniej coś w Firefoksie zostało uszkodzone.

widząc z dźwiękiem
źródło
2

Sieci VPN mogą czasami powodować ten błąd, jeśli zapewniają jakiś rodzaj automatycznego blokowania. Wyłączenie VPN zadziałało w moim przypadku.

mopsled
źródło
1

Jeśli src to https, a certyfikat wygasł - i nawet jeśli zrobiłeś wyjątek - program Firefox nadal będzie wyświetlał ten komunikat o błędzie, a dokładny powód można zobaczyć, patrząc na żądanie pod kartą sieci.

Lando
źródło
1

Miałem ten sam problem z firefoxem, kiedy szukałem rozwiązania nic nie znalazłem, ale potem próbowałem załadować skrypt z cdn, działał poprawnie, więc myślę, że powinieneś spróbować załadować go z linku cdn, To znaczy, jeśli próbujesz załadować skrypt, którego nie stworzyłeś. bo w moim przypadku gdy próbowałem załadować mój skrypt zadziałał i zaimportował się pomyślnie, na razie nie wiem dlaczego, ale myślę, że coś jest w skryptach z sieci, więc po prostu spróbuj cdn, wygrałeś ' nic stracić.

Chciałbym, żeby ci pomogło.

Miłośnik fizyki
źródło
0

Może to być również prosty błąd składniowy. Miałem błąd składni, który wyrzucił na FF, ale nie Chrome w następujący sposób:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
        defer
    </script>
John Vandivier
źródło
0

Uruchomiłem w tej samej sytuacji i skrypt ładował się poprawnie w trybie awaryjnym. Jednak wyłączenie wszystkich dodatków i innych funkcji bezpieczeństwa Firefoksa nie pomogło. Jedną z rzeczy, które próbowałem, i to było rozwiązanie w moim przypadku, było tymczasowe wyłączenie pamięci podręcznej w oknie programisty dla tego konkretnego żądania. Kiedy zobaczyłem, że to jest przyczyna, wyczyściłem pamięć podręczną tej witryny i wszystko zaczęło się normalnie.

nucatus
źródło