IE7 rendering performance - ajax

I have a JSF application that is updating sections of itself dynamically via AJAX.
It runs ridiculously slow in IE7, but later versions of IE are fine, along with Firefox and Chrome.
I suspect it is an issue with client-side rendering performance - it's a pretty big chunk of HTML that is being updated dynamically, and there's not much JS code besides updating the DOM with the response (analogous to $(element).html(response) in jQuery).
Can this be tracked down to specific elements or not? For example, are there specific elements or CSS styles to focus on? Where else should I be looking?
Thanks!

A quick work around is to use chromeframe.
It renders the page use chrome engine and you can put the frame in IE6,7 and 8
http://code.google.com/chrome/chromeframe/

Dynatrace AJAX edition should be able to help you track down the issues - http://ajax.dynatrace.com/ajax/en/
Presume you're using jQuery are you using an up-to-date version?

Related

IE 8/7 defect DOM and CSS

I've just finished my personal website. Everything is good with all modern browsers but I have just a little problem with internet explorer 8/7. My website is based on feeds from all my social network all posts are performed with masonry brick and infinite scroll, so the pagination is hidden. In IE the css style disappear just in the first page of my content and masonry doesn't work good until the second page is arrived. Are there anyone who can help me to find the error? IE doesn't serve useful tools to check it out so I need someone helps me please!!! Thanks to every one!
The reason why your formatting is broken in Internet Explorer 7 and 8 is because you're using the article element; which isn't natively understood in versions of Internet Explorer prior to 9.
I dropped in the HTML5Shim (which creates some support for HTML5 elements) and refreshed your page - it solved the issue(s).

Page cache inconsistency across browsers

Ive done all my Wordpress development in Firefox and I am using a caching plugin called W3 Total Cache.
The only problem I'm facing is that in Safari and Chrome, my navigation is being reloaded each time a user works their way through the navigation, I understand this is how the web works, that assets and content are being reloaded with each click. But in FF, its perfect, the nav appears to stay in place while the navigation is extended underneath > see http://spunfilms.samuelcane.com/ then http://spunfilms.samuelcane.com/work and then that pages children. Have a look at the site in Firefox and then in Chrome/Safari.
Has anyone got any ideas why I'm getting this inconsistency across browsers?
Is there a way around it?
Thanks,
Red
By using W3TC plugin in Wordpress, I managed to optimize the site to make the page load almost instantaneous. My problem was that the plugin wasn't configured properly. I took a look at some other sites using the plugin and tried to configure it accordingly.

Is there a workaround to be able to drag and drop input types with Firefox and HTML 5?

I have a cross browser solution for dragging and dropping using HTML 5 that works for all elements in IE 9, Chrome, and Safari. Firefox works for everything except input types such as textboxes.
I have done a lot of research on this with a lot of help from these resources:
http://www.useragentman.com/blog/2010/01/10/cross-browser-html5-drag-and-drop/
http://html5doctor.com/native-drag-and-drop/
I have also scoured the HTML 5 spec and the Firefox MDN and other resources and have found no solution to the problem. I would hate to fall back to a jQuery library, but it just looks like HTML 5 is not ready for prime time and that I may have to do so.
Has anyone tried this and have a solution or am I going too far over the edge here? Glad to see workarounds are so prevalent in HTML 5 already and my dream of HTML 5 being cross browser so quickly destroyed with the first new thing I try. The spec makes it sound simple. Add a draggable attribute and handle a few events. Except, IE only supports anchor tags and image tags. Webkit browsers need CSS and Firefox apparently doesn't support input fields.
Try dragable attribute for firefox and -webkit-user-drag css property for webkit-based browsers.
See http://www.quirksmode.org/blog/archives/2009/09/the_html5_drag.html#link9

Internet Explorer 8 waits until page is completely rendered and javascript is executed

We have a pretty big web page with a bunch of javascript. When loading it in Firefox/Chrome, the page gets loaded gradually. First the html that already is received is rendered and shown and then the javascript gets executed.
Internet Explorer 8 however waits until the request is completely received and its javascript executed before it shows. This gives the impression that the application is unresponsive for a short period.
We have one laptop on which IE8 loads the page like Firefox/Chrome and we've been searching for a setting on IE8 to indicate that it doesn't have to wait until all javascript is executed before showing the page or part of it.
Does anyone have a clue if there is such a setting and where it can be found? We checked that the Chrome frame for Internet Explorer is not installed.
Update:
For more clarification, as #Thariama points out in the comments I also thought that IE8 always waits to render the entire page but seeing this laptop render it I am pretty sure that it loads the 'Firefox-way'. The laptop had half the RAM and CPU power a comparable desktop had and it looked and feeled faster (because of the rendering).
I ran into the same issue today when trying to determine why IE8 would render incrementally when loading from localhost, but wouldn't when loading from an intranet server.
The fix is to tell IE which rendering engine to use. I prefer to always have it render using the latest engine available.
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
...
The reason it was happening is because when loading from localhost IE was rendering with the IE8 engine in standards mode. When loading from the intranet, IE defaulted to rendering in compatibility mode using the IE7 engine. The IE7 engine would pause until the whole table was loaded before rendering, but the IE8 engine would render the table incrementally.
To check which mode IE is in for a particular page, hit F12 to pull up the developer tools, and in the menu area there's a "Browser Mode" which tells you which rendering engine it chose, and "Document Mode" which indicates quirks mode or standards mode.
I was recently tasked with resolving an IE8 page rendering issue in a legacy webapp (without changing much server-side code). I wrapped the largest sections of the page in textarea elements (on the server-side) and used JavaScript to extract their contents, remove the textareas and insert the html where the textarea was... it worked out nicely... it even seems to load faster in modern browsers.
If people use IE and it always does that, they've gotten used to this 'unresponsive' idea, whenever I zap open IE to check for compatibility, I just accept the fact that all pages look 'unresponsive' for a while.
It's part of IE, people that live in ignorance are used to that, they won't click away.
Not as much a solution to your problem, which is probably not there as telling you it's not that much of a problem. I don't think there is a way to give a browser instructions to adjust its rendering model for you though, and there shouldn't be, users should be able to adjust rendering models though, but not sites. Those things are a gateway to virus.

Debugging Websites in Various Browsers

I am having my first foray into website design and I am learning a lot. I am also now seeing why web developers are not a huge fan of developing for Internet Explorer. Nothing seems to work how I expect. However, since the website has to work cross-browser, I am spending time looking at it in Firefox, Chrome, and IE. Something that is very non-obvious to me, however, is how to tell where problems lie in the website.
For example, the layout of one of my pages forces a footer to the bottom of the page. It looks great in Chrome and Firefox, but there's something broken in IE that make the footer align to the right (and cause a horizontal scroll to appear). I have played around with the code, but nothing really is responding to how I want in IE (even though it does in other browsers).
Are there any tools that can help "debug" the problems on a web site so fixing it is more than just a trial-and-error approach? Thanks.
One of my favorites that works in all browsers is X-Ray. You simply stick the link on that page into a bookmark and it loads some external JavaScript on top of the page you're testing. It reveals a bunch of parameters about the DOM object you click on, as well as its hierarchy in the model.
As for your specific footer problem, I would look to a potential lack of clearing of floats and divs that are wider than their parent containers somewhere up the line.
There are frameworks like GWT, ext-js, YUI which hide a lot of the browser bugs from you. But today (near the end of 2009), there still isn't a good, realiable way to narrow down browser issues and to fix them.
PS: I'm collecting tools that help during debugging here: Which tools do you use to debug HTML/JS in your browser?
I assume you have checked that your code is valid, with
HTML validator, for example: W3C Markup Validation Service
CSS checker, for example: W3C CSS Validation Service
And, of course, you should have correct doctype in your html file. Without doctype, some browsers go to quirks mode to emulate bugs in old browsers.
A cross-browser JavaScript library, like jQuery and its UI components, can be very helpful in avoiding idiosyncrasies between browsers. Microsoft provides the IE Developer Toolbar, it's not quite as easy to use as Firebug, but can still be very helpful. A Just-In-Time debugger like MS Script Debugger or Visual Studio are also a time saver.
I like Firebug for Firefox
and IE8 has Developer Tools from the tools menu and IE Developer Toolbar for older versions.
Chrome has similar tools from the page menu.
All of which allow you to see elements on the page as they are rendered in their specific browsers, which I usually find very helpful in debugging browser specific problems.

Resources