问题
I have been stuck on this one for a while - I couldn't figure out why a website renders differently in two identical versions of Internet Explorer. Half an hour ago I came across a compatibility mode button in IE which made me really angry.
Disabling compatibility mode has fixed my problem.
Is there a way to disable it programmatically, i.e. from a web page?
Edit:
Just came across this blog https://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx
I'll post an example code after reading the article
回答1:
If you want the "old" rendering, and no button to show up on the toolbar so that users can switch modes you can use this:
<head>
<!-- Mimic Internet Explorer 7 -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
<title>My Web Page</title>
</head>
other options (old and new) include:IE=5
, IE=7
, IE=8
, or IE=edge
(edge equals highest mode available)
回答2:
You probably need to set your DOCTYPE correctly. Check out MSDN's articles on DOCTYPE and Defining Document Compatibility for more info.
回答3:
Please also note that also IE8 browser settings can enforce a certain mode. I have a customer who has IE8 compatibility mode enforced by policy in intranet mode.
回答4:
Please add to force IE not apply Compatibility Mode
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
回答5:
In my case, I fixed it by adding the following tag after the <head>
tag:
<meta content="IE=edge" http-equiv="X-UA-Compatible">
来源:https://stackoverflow.com/questions/3803901/how-can-i-programmatically-disable-ie-compatibility-mode