根据文档模式显示内容

时间:2012-11-23 11:13:40

标签: html internet-explorer-9

有没有办法在网页上显示哪种浏览器模式和哪种文档模式设置?

这通常是否可行,是否可以根据打开的模式显示/隐藏某些内容?

我想使用一个函数来允许通过拖放上传(参见http://blueimp.github.com/jQuery-File-Upload/),但我注意到这只适用于IE处于特定文档模式的情况。如果未启用此模式,我想禁用通过拖放上传的选项。

3 个答案:

答案 0 :(得分:1)

var j = jQuery.noConflict();
j(document).ready(function(){
    /* detect usage of IE Developer Tools using different Mode for Browser and Document */
    if(j.browser.msie) {
        var browserVersion = j.browser.version.slice(0,j.browser.version.indexOf("."));
        var documentVersion = document.documentMode;
        if(browserVersion != documentVersion) {
            alert("ERROR:\nBrowser Mode and Document Mode do not match!\n\nBrowser Mode: IE"+ browserVersion +".0\nDocument Mode: IE"+ documentVersion +".0");
        }
    }
});

礼貌:http://my.opera.com/Schalandra/blog/2012/02/29/how-to-detect-different-browser-mode-and-document-mode-in-ie

也许你会发现这个答案也很有帮助。

https://stackoverflow.com/a/623071/903454

答案 1 :(得分:1)

您可以检测文档模式:

var mode = document.documentMode;

如果模式是Internet Exlporer 5,则返回5,如果是IE6,则返回6,依此类推。

但是,您可以强制使用特定的文档模式:

<meta http-equiv="X-UA-Compatible" content="IE=[IEVersion]">

[IEVersion]是以下之一:

  • Edge 始终是最新版本
  • EmulateIE9 如果设置了doctype,则模式为IE9,否则为IE5
  • EmulateIE8 请参阅 EmulateIE9
  • EmulateIE7 请参阅 EmulateIE9
  • 9 Alway IE9
  • 8 始终是IE8
  • 7 始终是IE7
  • 5 始终是IE5

PS:你的插件应该自动识别模式。

答案 2 :(得分:0)

您可以在IE中使用document.documentMode来查找html文档

  • 5页面以IE5模式显示
  • 7该页面显示在IE7mode
  • 8页面以IE8模式显示
  • 9页面以IE9模式显示