Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Today for some strange reason, Firefox stops working properly because it is trying to fetch something from ajax.googleapis.com.

Is there something I can do to avoid this? Safari and Chrome work just fine.

I tried uninstalling Firebug and clearing the cache.

The only thing that worked was disabling the JavaScript altogether.

This seems to be the culprit link:

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

What can I do?

EDIT

I think I have found where the problem is. My proxy is serving one byte at a time the file, so firefox consume it at that peace.

What I don't understand is why Safari and Chrome takes it right away.

What I did last night was, leave the FF open all the night to give him change to load the file, my hope was that I got cached and the next time there was no need to go for it.

Today in the morning, the page load successfully but the page was not cached, because the next request failed the same.

Here's a video showing the problem:

alt text

share|improve this question
2  
What is the specific problem you are having? Does Firefox completely freeze up, does it stop rendering the page, or is it just stuck with "Waiting for ajax.googleapis.com..." in the status bar? –  zacharyliu Nov 4 '09 at 4:55
    
try to start firefox in safe mode without any plugins and test the same –  ukanth Nov 4 '09 at 8:59
    
@thezachperson31: the later. –  OscarRyz Nov 4 '09 at 15:45
    
I'm guessing Chrome and Safari still have it cached from an earlier connection? What does the proxy do for other Google-served libraries, like the full version at ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js or like the UI tools at ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js –  Arjan Nov 4 '09 at 18:20
    
That xx.mxmc proxy you're using is something needed in your office or required for your internet provider, right? (And just to confirm that your curl --proxy name:port url works fine for me, with my provider's proxy.) –  Arjan Nov 5 '09 at 15:54

6 Answers 6

Could you enter the "culprit link" (that every 2nd web 2.0 site uses) in your Fx address bar and load it manually?

Try some other sites that references this JQuery library. Just Google the URL, you'll find enough examples.

Have you tried it with a new, clean profile? Addons sometimes work against eachother (NoScript vs. ABP problem...)

share|improve this answer
    
Fx is Firefox? Yeah I did that, and I have the same result ( well, the result I've got is, the file stays in "downloading" for a long time ) –  OscarRyz Nov 4 '09 at 15:47
    
Fx is the off. abbr. f. Firefox. That really, really sounds strange. Have your tried the clean profile? –  guerda Nov 5 '09 at 21:01

Is Firebug the only extension you had loaded? What about NoScript or Adblock? Try starting Firefox in "safe mode" and accessing the Google URL you were trying before.

share|improve this answer
    
Yeap, that's the only one. –  OscarRyz Nov 4 '09 at 15:46

The ajax.googleapis.com URL refers to an external JavaScript library, that holds functions the web page might be using in some inline JavaScript of its own.

In most (if not all) browsers, nothing in the page is rendered until all inline scripts are done executing*. Even when the inline JavaScript does not need anything from that external JavaScript libraries, your browser needs to download all of the defined external libraries first, just in case they are needed. So, if the external script is not in your browser's cache (or: whenever you explicitly refresh your browser) then everything halts until the script is downloaded.

The ajax.googleapis.com URL loads fine on my internet connection and I assume Safari and Chrome still have the library in their caches? As for the very slow proxy: this could be some virus scanner (not too likely on your Mac) or some firewall? If the problem is in the proxy then that's out of your control, so (assuming you need to use that proxy): contact the administrators? Meanwhile, you could repeat your test for other libraries hosted at Google, like jQuery 1.3.2 or jQuery UI 1.7.2.

(If really all else fails, then you could try to find some way to rewrite request for ajax.googleapis.com/[..]/1.3.2/jquery.min.js to a URL of some other host...)


* See (slow) example at Cuzillion. And though IE8 is the first browser to download scripts in parallel, it will still not execute them in parallel.

Google tells your browser to cache it for 31,536,000 seconds, thus 365 days. And it allows for public caching, so a proxy is allowed to cache it, and use it for other clients as well.

When hitting Refresh, then for cached items most browsers will add a If-Modified-Since header to the request, thus only truly downloading if the thing in the cache is outdated. But: even if the server responds with HTTP/1.x 304 Not Modified, the browser still needs to await that answer. So: hitting Refresh when things are slow might make things worse!

share|improve this answer

There are some severe Firefox performance issues with some of the Google API's available from ajax.googleapis.com. One, of many, examples is slow or missing characters when typing into Google's own search bar.

I used Adblock Plus to block access to all the Ajax API's from Google'a "http://ajax.googleapis.com/*. This fixed many Firefox Web performance issues. The down side is that some web newer sites may require the Ajax API's to appear or function properly.

share|improve this answer
2  
This is not the best idea. If you've blocked those files, you won't get those files and the web sites won't perform as expected. Blocking jQuery files would be akin to not filling your car with fuel. –  Nick DeVore Dec 7 '12 at 22:18

I've randomly ran into this before with Firefox. If you get Firebug, you can go to the Net tab, right click the script that is still loading, and select "Stop loading". This will get around the issue.

share|improve this answer

If you don't need it, black hole it in the hosts file by adding

0.0.0.0 ajax.googleapis.com

You might as well take a look at a tutorial and a block list to keep you safe.

It's a good idea to block the connections to your computer from those domains rather than try to block the script of an already established connection.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.