IE10 breaking changes compatibility

Microsoft feeds us. New versions they introduce gives business to developers like us :-P.

IE10 release preview got released. Along with other changes to conform the browser's behavior with html standards, there were two changes which broke one old and one new applications of ours.

First one: support for .htc files (very old html control files) got removed.Although we had started porting our htc into asp.net user controls, there is still a huge part still in htc.

Second one: support for conditional html statements got removed.
http://www.sitepoint.com/microsoft-drop-ie10-conditional-comments/

To add to this, for some reason we are still analyzing, telerik controls got some issue with working with IE10.

The only option remaining was to force IE10 into emulate IE9 mode.
(Although IE10 users can explicitly use the compatibiliy mode, users generally are not aware of this and raise an issue with the support team.)

However, to add to our problems, IE10 wont allow htc to run in IE9 mode also. We had to force it to ie8 mode. ( Even in this mode, still some alignment issues remain.)

We decided to add the header
Or rather the IIS trick to add HTTP-Response-Header. This will make IE7 load as IE7 and rest all as IE8. (we are not bothered about ie6 :-P)

Now the major problem begins: The header changes will affect all machines ie6 to ie9. We have an intermediate production release of our web application in one week. We were not sure if this will break previous IE versions.

We took did a workaround to fix this so that our web application can safely work with all IE versions including IE10. Dont know if this was the right thing to do, but went ahead with this with just 1 week left for our release. Added this to global.asax.

void Application_EndRequest(object sender, EventArgs e)
{
if (Request.Browser.MajorVersion == 10)
{
Response.AddHeader("X-UA-Compatible", "IE=5");
}
}

We have both classic asp and aspx pages. So only global.asax changes were not sufficient. Also. the classic global.asa does not have Application Beginrequest and end request events. So, we decided to add the following code in a common asp file which has been included from all other .asp files.



So far good... We will revert this if any major issues are found and call out no support for IE10.
Please comment if any one finds a better but safe approach.

Comments

  1. the code for the classic asp file does not show for me ..? could you post it again, that would be a big help ! :-)

    ReplyDelete

Post a Comment

Popular posts from this blog

Setting localized tooltips in a sort enabled radgrid

Dirty workarouds: dirty page checking + AJAX