IE8里判断当前网页显示模式

我们知道IE8 的一个重要更新就是加入了标准模式(standards mode)的显示引擎,但IE8里面仍然保留以前IE版本的显示模式,比如Strict Mode 以及 Quirks mode, 我们统称之为兼容模式 (compatibility view)。

那么如何判断IE8 用什么模式显示当前网页呢? IE8 里面新加Javascript 函数 document.documentMode 能够很好帮助我们解决这个问题。

document.documentMode  的返回值有3个,其含义如下:

5 表示老版本IE的Quirks mode.
7 表示老版本IE的Strict mode.
8 表示IE8的标准模式 standards mode.
document.documentMode  只有在IE8上有,对于老版本IE需要使用其他API。以下代码可以让你在所有版本IE下判断显示模式:

view plaincopy to clipboardprint?
engine = null;    
if (window.navigator.appName == "Microsoft Internet Explorer")    
{   
   // 当前浏览器是IE,下面判断具体的显示模式   
   if (document.documentMode) // IE8   
      engine = document.documentMode;   
   else // IE 5-7   
   {   
      engine = 5; //  quirks mode unless proven otherwise   
      if (document.compatMode)   
      {   
         if (document.compatMode == "CSS1Compat")   
            engine = 7; // standards mode   
      }   
   }   
   alert("IE的当前显示模式是" + engine);   
}  
engine = null; 
if (window.navigator.appName == "Microsoft Internet Explorer") 
{
   // 当前浏览器是IE,下面判断具体的显示模式
   if (document.documentMode) // IE8
      engine = document.documentMode;
   else // IE 5-7
   {
      engine = 5; //  quirks mode unless proven otherwise
      if (document.compatMode)
      {
         if (document.compatMode == "CSS1Compat")
            engine = 7; // standards mode
      }
   }
   alert("IE的当前显示模式是" + engine);
}

Tips:你可以在IE地址栏里面输入 javascript:alert(document.documentMode); 来查看当前网页的显示模式。

时间: 2024-08-01 11:53:54

IE8里判断当前网页显示模式的相关文章

VB判断webbrowser网页加载完毕

'====VB判断webbrowser网页加载完毕 Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) If (pDisp Is WebBrowser1.Object) Then Msgbox "网页下载完毕!" End If End Sub

android在sqlite数据库的SQLiteOpenHelper中的onUpgrade里判断表是否存在

private boolean tabbleIsExist(String tableName, SQLiteDatabase db) { LogUtils.d("DatabaseHelper", "checking tabbleIsExist " + tableName); boolean result = false; if (tableName == null) { return false; } Cursor cursor = null; try { Stri

IE8/IE9/IE10打开网页后,自动设置浏览器模式为“IE8/IE9/IE10兼容性视图”

http://blog.snsgou.com/post-16.html 作者:SNSGOU 发布于:2013-07-17 22:23:05  分类:CSS/HTML     评论(0)  浏览(1323) IE8及以后的IE9/IE10浏览器,为了实现IE兼容基于其它网页标准开发的网站,IE浏览器还专门提供了"兼容性视图"功能.当IE浏览器检测到某网站不兼容时,地址栏右侧就会出现兼容性视图按钮,出现问题只需轻轻一点,大部分网页显示就会正常了. 下面以IE8浏览器举例: IE8兼容性问题

sql事务,在sql2000里判断执行是否成功用@@ERROR 判断

原文:sql事务,在sql2000里判断执行是否成功用@@ERROR 判断 贴个sql事务,在sql2000里判断执行是否成功用@@ERROR 判断 这个东西多少还是有点问题,sql2005了可以用try..catch了,不管那块错都能捕捉,然后在回滚,很方便,贴出来晾晾 BEGIN TRANSACTION; BEGIN TRY  --try 执行sql       SELECT 1/0; END TRY BEGIN CATCH  --cache抓错     SELECT         ERR

php 使用自定义函数 在循环里判断闰年

<?php /** 使用自定义函数 在循环里判断闰年 **/ function is_runnian($year){ //自定义函数 if($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0) { return true; }else { return false; } } for($year=1500;$year<=2000;$year++) { if(is_runnian($year)) { echo $year.'

黄聪:如何阻止iframe里引用的网页自动跳转

今天做了个网页,要在网页里设置一个iframe,然后套用其他的网站.使用http://luanqi-cat.blogbus.com 这个网址的时候,出现了莫名其妙的问题,我的网页居然会强制自动跳转到这个网页上.搜索了一番,才知道原来这个网页用了如下的一段代码: if (top.location != self.location) {top.location=self.location;} 使用里这段代码之后,会自动判断当前的location是否是顶层的,即是否被嵌套到iframe里面了,如果是,

怎么用JS判断当前网页文件处于什么样的网络状态?

需要判断以下几种状态... 先挖个坑放在这,等有一天知道答案了再补全. 1.当前的网页文件是处于服务器端还是客户端? 解释:由于很多网页是需要和服务器端进行交互的,否则无法完全展示网页究竟有哪些功能.比如说我把自己做好的项目发给HR,当HR打开的时候,JS自行检测HR的电脑环境,如果没有部署好服务器环境或者没有把项目放在服务器所对应的文件夹里,就提醒下HR. 2.当前有没有联网?局域网不能算是真正的联网. navigator.onLine功能还是比较有限的, 如果电脑是无线联网,把水晶头拨了都还

怎么在html页面和js里判断是否是IE浏览器

HTML里: HTML代码中,在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了.在HTML代码中,区别各种浏览器的代码如下,以ie6为例 <!--[if IE 6]>仅IE6可识别<![endif]--> <!--[if lte IE 6]> IE6及其以下版本可识别<![endif]--> <!--[if lt IE 6]> IE6以下版本可识

[C#] 如何在WPF程序里显示/打开网页

玩WPF初阶段,搞个在程序里面显示网页的WPF程序,百度没仔细搜索,没什么资料,大概是太简单了吧,没人说.. 今天在VS里编个程序,在想着如何码代码的时候,想不起什么英语单词.. 于是随手点了个 " Web " 自动提示 <WebBrowser 从单词上理解,就应该是调用浏览网页了的. 随即MSDN,得出 假如我要我的WPF程序显示 "www.baidu.com" 的话,XAML代码: <WebBrowser Source="http://ww