I am working on a plattform that will have a lot of users in the so called "developing countries". So many of them will be using old computers and old browsers in tiny internet cafes.

We want to make sure to give them a good user Experience and make sure the website loads as fast as possible.

Problem is, that while you can save a lot of requeasts and time, using jQuery/AJAX, it also brings along a lot of Problems: - Will the Computers be powerfull enough to deal with the client side scripts? - Will the old Browsers handle jQuery?

Does anyone have any experience with these sort of problems or might know of some sort of article on the topic?

  • Can you specify those "developing contries" a little closer. Depending on the country, the browser usage is very different. In China, for instance, there is 22%+ IE6. Did you do some research of the top browsers in your target countries?
    – Michael
    Jun 18 '12 at 11:22
  • @Michael: Good point. It will be used all over the world (hopefully). So the Browsers var from IE6 to Firefox 12. Our current position is to keep the site as simple as possible so it runs in all areas, but i am unsure about weather or not IE6 might be able to do "some" jQuery/AJAX. Jun 18 '12 at 14:42
  • 1
    Yes, IE6 supports ajax, but JS performance is really bad in those old browsers, so keep that in mind and add "loading" dialogs to prevent too many clicks by waiting users.
    – Michael
    Jun 18 '12 at 15:18
  • @Michael, could you put that comment into an answer? Jun 19 '12 at 3:47

Depending on the country, the browser usage is very different. In China, for instance, there is 22%+ IE6. When developing for old browsers, keep in mind that even if they support ajax and other fancy javascript stuff, they probably do it a lot slower than more modern browsers.

We did a comparison for a customer project some time ago. IE6, compared to a Firefox 4 was more than ten times slower in javascript execution speed, so we had to add a lot of tweaks (for instance do not add js click handlers on dom ready event, but on mouse over of each element seperately). It's also a good idea to show loading/waiting indicators to the user during expensive js tasks to prevent further clicking which will again cost performance.

  • Thanks, that's really helpfull advise. Would you maybe know a good article on that as well? Jun 19 '12 at 8:11
  • 1
    No I don't, but we found out the major performance issues by measuring execution time for each separate feature. The best advice is only to improve functionalities you know to be slow (in contrast to you only think they are).
    – Michael
    Jun 19 '12 at 8:15

On the server side, you can detect the browser by looking at the HTTP_USER_AGENT header: https://support.microsoft.com/en-us/kb/306576 You can then use different versions of javascript files for different browsers like

<script type='text/javascript' src='MainLibraryIE6.js'></script>

Another trick is using browser conditional commands such as

<!--[if IE 6]>
<script type="text/javascript" src="FixIE6Problems.js"></script>

Also, JQuery 1.9 supports IE 8. JQuery 2.0 only supports IE 9 and higher.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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