0

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

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

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

4

3 回答 3

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

于 2012-11-23T11:17:55.797 回答
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总是 IE9
  • 8总是 IE8
  • 7总是 IE7
  • 5总是 IE5

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

于 2012-11-23T11:21:55.927 回答
0

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

  • 5 页面以IE5模式显示
  • 7 页面以IE7模式显示
  • 8 页面以IE8模式显示
  • 9 页面以IE9模式显示
于 2012-11-23T11:24:32.277 回答