ajax.googleapis.com zatrzymując mój Firefox


13

Dzisiaj z jakiegoś dziwnego powodu Firefox przestaje działać poprawnie, ponieważ próbuje coś pobrać ajax.googleapis.com.

Czy mogę coś zrobić, aby tego uniknąć? Safari i Chrome działają dobrze.

Próbowałem odinstalować Firebug i wyczyścić pamięć podręczną.

Jedyne, co zadziałało, to całkowite wyłączenie JavaScript.

To wydaje się być winnym linkiem:

http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js

Co mogę zrobić?

EDYTOWAĆ

Myślę, że znalazłem, gdzie jest problem. Mój serwer proxy obsługuje jeden bajt pliku, więc Firefox używa go w tym pokoju.

Nie rozumiem, dlaczego Safari i Chrome biorą to od razu.

To, co zrobiłem zeszłej nocy, to pozostawienie otwartego FF na całą noc, aby dał mu zmianę na załadowanie pliku, mam nadzieję, że dostałem się do pamięci podręcznej i następnym razem nie będę musiał tego robić.

Dzisiaj rano ładowanie strony zakończyło się pomyślnie, ale strona nie została buforowana, ponieważ kolejne żądanie zakończyło się niepowodzeniem.

Oto wideo pokazujące problem:

alternatywny tekst


2
Jaki masz konkretny problem? Czy Firefox całkowicie się zawiesza, przestaje renderować stronę, czy po prostu utknął z „Oczekiwanie na ajax.googleapis.com ...” na pasku stanu?
zacharyliu

spróbuj uruchomić Firefoksa w trybie awaryjnym bez żadnych wtyczek i przetestuj to samo
ukanth

@ thezachperson31: the later.
OscarRyz

Zgaduję, że Chrome i Safari nadal mają pamięć podręczną z wcześniejszego połączenia? Co robi proxy dla innych bibliotek obsługiwanych przez Google, takich jak pełna wersja na stronie ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js lub jak narzędzia interfejsu użytkownika na stronie ajax.googleapis.com/ajax/ libs / jqueryui / 1.7.2 / jquery-ui.js
Arjan

Serwer xx.mxmcproxy, którego używasz, jest potrzebny w biurze lub wymagany przez dostawcę Internetu, prawda? (I tylko po to, aby potwierdzić, że curl --proxy name:port urldziała dobrze dla mnie, z proxy mojego dostawcy).
Arjan

Odpowiedzi:



3

Istnieją pewne poważne problemy z wydajnością Firefoksa w przypadku niektórych interfejsów API Google dostępnych na stronie ajax.googleapis.com. Jednym z wielu przykładów są powolne lub brakujące znaki podczas pisania na własnym pasku wyszukiwania Google.

Użyłem Adblock Plus do zablokowania dostępu do wszystkich API Ajax z Google'a http://ajax.googleapis.com/ *. To naprawiło wiele problemów z wydajnością przeglądarki Firefox. Wadą jest to, że niektóre nowsze strony internetowe mogą wymagać Ajax Interfejsy API mają pojawiać się lub działać poprawnie.


2
To nie jest najlepszy pomysł. Jeśli zablokowałeś te pliki, nie otrzymasz tych plików, a strony internetowe nie będą działać zgodnie z oczekiwaniami. Blokowanie plików jQuery byłoby podobne do tego, by nie napełniać samochodu paliwem.
Nick DeVore,

Superuser.com to jedna z witryn, które nie będą działać bez pobierania jquery z Google, wyświetlającej komunikat o błędzie: „Super Użytkownik wymaga zewnętrznego JavaScript z innej domeny, która jest zablokowana lub nie została załadowana”. co sprawia, że ​​korzystanie z PITA z lokalizacji, w której zapory ogniowe googleapis.com i inne niezaufane domeny, jest poważną PITA.
Cofnij

3

Jeśli nie potrzebujesz, dodaj do dziury w pliku hosts, dodając

0.0.0.0 ajax.googleapis.com

Równie dobrze możesz zapoznać się z samouczkiem i listą bloków, aby zapewnić Ci bezpieczeństwo.

Dobrym pomysłem jest zablokowanie połączeń z komputerem z tych domen zamiast próby zablokowania skryptu już ustanowionego połączenia.


1

Czy Firebug to jedyne rozszerzenie, które załadowałeś? Co z NoScript lub Adblock? Spróbuj uruchomić Firefoksa w „ trybie awaryjnym ” i uzyskać dostęp do adresu URL Google, którego próbowałeś wcześniej.


Tak, to jedyny.
OscarRyz

1

ajax.googleapis.comURL odnosi się do zewnętrznej biblioteki JavaScript, która posiada funkcje strona internetowa może być pomocą w niektórych inline JavaScript jego własny.

W większości (jeśli nie wszystkich) przeglądarek nic na stronie nie jest renderowane, dopóki wszystkie wbudowane skrypty nie zostaną wykonane * . Nawet jeśli wbudowany JavaScript nie potrzebuje niczego z zewnętrznych bibliotek JavaScript, Twoja przeglądarka musi najpierw pobrać wszystkie zdefiniowane biblioteki zewnętrzne, na wypadek, gdyby były potrzebne. Jeśli więc zewnętrzny skrypt nie znajduje się w pamięci podręcznej przeglądarki (lub: za każdym razem , gdy wyraźnie odświeżysz przeglądarkę ), wszystko się zatrzyma, dopóki skrypt nie zostanie pobrany.

ajax.googleapis.comŁadunki URL dobrze na moim połączenia internetowego i zakładam, Safari i Chrome nadal mają biblioteki w ich pamięci podręcznej? Co do bardzo wolnego serwera proxy: może to być skaner antywirusowy (niezbyt prawdopodobny na komputerze Mac) lub zapora ogniowa? Jeśli problem dotyczy serwera proxy, nie ma na to wpływu, więc (zakładając, że musisz użyć tego serwera proxy): skontaktuj się z administratorami? Tymczasem możesz powtórzyć test dla innych bibliotek hostowanych w Google, takich jak jQuery 1.3.2 lub jQuery UI 1.7.2 .

(Jeśli naprawdę wszystko inne zawiedzie, możesz spróbować znaleźć sposób na przepisanie żądania ajax.googleapis.com/[..]/1.3.2/jquery.min.jsadresu URL innego hosta ...)


* Zobacz (wolny) przykład w Cuzillion . I choć IE8 jest pierwszą przeglądarką, która pobiera skrypty równolegle , nadal nie będzie wykonywać ich równolegle.

Google mówi przeglądarce, aby buforowała ją przez 31 536 000 sekund, czyli 365 dni. Pozwala to na publiczne buforowanie, więc proxy może buforować go i używać go również dla innych klientów.

Po naciśnięciu przycisku Odśwież, w przypadku elementów z pamięci podręcznej większość przeglądarek doda If-Modified-Sincedo żądania nagłówek, a zatem pobiera naprawdę tylko wtedy, gdy zawartość pamięci podręcznej jest nieaktualna. Ale: nawet jeśli serwer zareaguje HTTP/1.x 304 Not Modified, przeglądarka nadal musi czekać na tę odpowiedź. Więc: wciśnięcie Odśwież, gdy rzeczy są wolne, może pogorszyć sytuację!


1

Przypadkowo natrafiłem na to wcześniej w Firefoksie. Jeśli pojawi się Firebug , możesz przejść do zakładki Sieć, kliknąć prawym przyciskiem myszy skrypt, który wciąż się ładuje, i wybrać „Zatrzymaj ładowanie”. Obejdzie to problem.


0

Czy możesz wpisać „link winowajcy” (z którego korzysta co druga witryna 2.0) w pasku adresu Fx i załadować go ręcznie?

Wypróbuj inne witryny, które odwołują się do tej biblioteki JQuery. Wystarczy Google URL, znajdziesz wystarczająco dużo przykładów.

Czy wypróbowałeś go z nowym, czystym profilem? Dodatki czasami działają przeciwko sobie ( problem NoScript vs. ABP ...)


Fx to Firefox? Tak, zrobiłem to i mam ten sam wynik (no cóż, wynik jest taki, że plik pozostaje w „pobieraniu” przez długi czas)
OscarRyz

Fx jest wyłączony. abbr. fa. Firefox To naprawdę brzmi dziwnie. Czy wypróbowałeś już czysty profil?
guerda,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.