The Scenario
I have a very old website developed in .net (framework 1.1). The site has several problems with Internet Explorer 10/11 that can be fixed using compatibility view.
The Problem
Problem is that framework 1.1 doesn't recognize Internet Explorer 10/11 as an advanced capability browser, so a lot of features (for example javascript code) are disabled when a user with Internet Explorer 10/11 accesses the website.
Microsoft released patches to fix this problem for .net framework versions >=2.0 but not for framework 1.1.
What I already tried
I tried forcing IE7 Compatibility Mode in web.config or adding HTTP Header in IIS or directly inside html pages with:
<meta http-equiv="X-UA-Compatible" content="IE=7" />
but this is not a valid solution, since javascript code is still missing due to the 1.1 framework issue.
The only working solution I found is manually setting Compatibility View in the browser, but some of my customers have problems activating Compatibility View since they don't have confidence with PCs.
My two cents
I know that probably the best solution would be to convert the entire project to a newer version of the framework (>=2.0), unfortunately the project is huge and its conversion would be very complex (the solution includes a lot of other projects, older classic ASP sections, Crystal Reports reports and so on...)
The real question
Is there a solution that doesn't require project conversion or manual operations from end user?
edit the web.config file and in the <system.web>
section add
<browserCaps>
<case match="IE[ /](?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))">
browser=IE
version=${version}
majorversion=${major}
minorversion=${minor}
frames=true
tables=true
cookies=true
javascript=true
javaapplets=true
activexcontrols=true
ecmascriptversion=1.5
vbscript=true
backgroundsounds=true
isMobileDevice="true"
<filter match="[4-9]" with="${major}">
ecmascriptversion=1.3
css1=true
css2=true
xml=true
<filter match="[5-9]" with="${major}">
w3cdomversion=1.0
</filter>
</filter>
<filter match="^b" with="${letters}">
beta=true
</filter>
</case></browserCaps>