I'm helping build a site for a client in Adobe CQ5. Due to the preferences of the client I cannot post the source, but we are having trouble with IE8.
When we try to view the site in IE8 the page will not render. When using the dev tools we can browse the HTML and the select tool does successfully highlight elements with the blue outline, but none of them render. The page is simply white. Things render properly in IE7 browser mode but not in IE8 or IE8 Compatibility Mode.
I've run the html through the W3 validator and nothing egregious jumped out. Anyone have any leads?
there must be some javascript error which causing this. otherwise CQ5 render well in ie8
If it works in IE7 but not IE8 you can try adding this to the <head> section
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
This forces IE7 emulation. You can also try playing with the doctype to see if this makes any difference.
Related
My team have a legacy project where we use the X-UA-Compatible tag to garantee Internet Explorer render the page in Compatibility View Mode since we need to support IE7 and beyong.
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
It works in IE but the Page Inpector in Visual Studio 2013 render the page like it renders in IE with standard Document Mode instead.
We can only troubleshoot the problem with this compatibility in place since it does not occur in standard mode.
There is any configuration or hack to make Page Inspector renders the page in Compatibility Mode?
No there is no hack or configuration to make Page Inspector renders the page in compat mode.
The site renders fine for me in IE8 in Standards mode using a strict doctype. They have IE8 as well and I think it's rendering in Quirks mode for them.
Why would it render in Quirks mode for them and not anyone else? Could it be their Compatibility View Settings? I gave them instructions to uncheck "Display Intranet sites in Compatibility Mode” and “Display all websites in Compatibility Mode”.
If this doesn't work is there any other ideas?
IE defaults to Quirks mode when rendering a site on a local network, but standards when from localhost. Try adding a meta tag at the top of your head tag.
<meta http-equiv="X-UA-Compatible" content="IE=8" >
When you say that you "think it's rendering in quirks mode"-- why do you think that? If you hit F12 on the page, what do you see in the Developer Tools toolbar for the Document Mode?
"Display Intranet sites in Compatibility Mode" will show Standards Mode sites in IE7 Standards Mode (rather than IE8 or IE9 Standards), and Quirks mode sites will continue to render in Quirks mode.
when i include the <!DOCTYPE HTML> for IE v8 the dialog box are opening with the same sizes but the layout of the Page gets disturbed
any suggestions how to prevent the change in the web page layout ??
If you don't have a doctype tag, the page will be rendered in Quirks Mode. This means that it tries to be compatible with ancient versions of the browser, and for IE this means among other things that it uses a non-standard box model.
When you add a doctype tag the page will be rendered in Standards Compliance Mode, where the browser tries to follow the web standards as closely as possible.
If you have designed your page for Quirks Mode in IE, it's very likely that you have taken advantage of some of the rendering bugs in IE. This would mean that it doesn't render as you expect in any other browser, or in Standards Compliance Mode.
Specifying a doctype such as <!DOCTYPE html> is a good thing.
If you don't specify a doctype, IE will fall back to rendering in "quirks mode", which is basically a backward compatiblity mode that renders the page as it would have been with IE5.5 and earlier.
All versions of IE since IE6 have supported the doctype as a mechanism for triggering standards mode. This means that the layout will be rendered using the correct rules, and should look the same in other browsers.
If your layout changes when you add a doctype, this means that your page has switched from quirks mode to standards mode. You can't prevent it from changing the layout; if it looked right in quirks mode and broken in standards mode, then it is the layout that is at fault and needs to be fixed.
You should adapt your layout to work with standards mode. You should also test the page in other browsers.
I have a menu here:
http://www.gardensandhomesdirect.co.uk/menutest
It works as it should in Chrome, FF and IE9.
However if you try it in IE7/8, the first menu, Garden Furniture, when you try to hover over any other option than All Garden Furniture the menu closes. This doesnt happen on any of the other menu categories.
Im at a loss as to why this is the case, it is likey right in front of me!
Any help is appreciated.
Thanks!
That menu doesn't work in IE9, IE8, or IE7.
It would work in both IE8 and IE9, but you're forcing those browsers into IE7 mode with this meta tag:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
If you remove that, only IE7 will remain broken.
IE7 is broken because it has known bugs concerning z-index, see:
div layering problems
Why is my CSS drop-down menu opening behind a DIV in IE7?
IE 6 & IE 7 Z-Index Problem
I will investigate and provide exact instructions on how to fix this in IE7 if:
You're sure you care about IE7.
You need the exact instructions.
The absolute position of all the sub-menus one of top of another is causing this confusion. The first sub menu of 'garden furniture' does not overlap any other submenu beneath it, which is why I think this is the only one that works.
Try setting increasingly higher z-index values for each submenu in .side_nav. If you can't add classes to do this, you can do it with jQuery.
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.