Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发现IE中的怪癖模式_Javascript_Css_Internet Explorer_Quirks Mode - Fatal编程技术网

Javascript 发现IE中的怪癖模式

Javascript 发现IE中的怪癖模式,javascript,css,internet-explorer,quirks-mode,Javascript,Css,Internet Explorer,Quirks Mode,我正在对一个旧的SAAS软件进行现代化改造。我是他们的第一个前端人员。他们目前只支持较旧的IE浏览器,并告诉他们的用户在较新的IE浏览器中打开怪癖模式,以确保他们的软件仍然有效 在缓慢的现代化进程中,我仍然需要这些用户的软件工作,而不是崩溃 是否有条件注释、javascript或其他功能可以让前端的我知道浏览器已手动设置为quirks模式 我不想关闭它,因为它使系统的其他部分工作,我只需要能够添加一个怪癖模式的html标记,这样我就可以在css中解决怪癖 提前谢谢 编辑 好的,我有一个js解决

我正在对一个旧的SAAS软件进行现代化改造。我是他们的第一个前端人员。他们目前只支持较旧的IE浏览器,并告诉他们的用户在较新的IE浏览器中打开怪癖模式,以确保他们的软件仍然有效

在缓慢的现代化进程中,我仍然需要这些用户的软件工作,而不是崩溃

是否有条件注释、javascript或其他功能可以让前端的我知道浏览器已手动设置为quirks模式

我不想关闭它,因为它使系统的其他部分工作,我只需要能够添加一个怪癖模式的html标记,这样我就可以在css中解决怪癖

提前谢谢


编辑

好的,我有一个js解决方案,几乎。。。这将给我一个警告,每次,但只会添加到html类时,我手动改变ie模式。有什么想法吗

$(document).ready(function() {
    var quirksMode = (document.compatMode == 'BackCompat');
    var isIE = ($('html').hasClass('ie'));
    if ( quirksMode && isIE ) {
        $('html').addClass('quirks');
            alert('IE Quirks');
        }
});

好的,我还需要手动查找他们是否处于文档模式IE 7标准,我知道这是一个混乱,但他们需要它,我认为这非常重要,足以实现这一点。我也有同样的问题,除非我手动更改内容,而不仅仅是在加载时,否则不能打开类。这是代码。。。在同一份文件中,上面已经准备好了

if ( document.documentMode == 7) {
    $('html').addClass('ie7_standard');
    alert('IE 7 Mode');
};
这就解决了这个问题。如果您在IE或IE7标准文档模式中手动设置了Quirks模式,它会向html添加一个类

IE中的F12并不总是显示新的类名,但是如果你将css绑定到该类,它就会起作用

谢谢大家的帮助


我用这个问题()作为起点,但它似乎有点过时。

我不理解这个问题。当用户单击compat模式按钮时,您是否要求站点远程向您报告?IE允许用户设置哪些域在quirks模式下工作<代码>[Alt]->工具->兼容性视图设置。。。添加所需的站点。我对Active Directory不太熟悉,但我/认为/您可以使用组策略来推送这些设置基于您给出的标记,我假设您想知道如何在Javascript中这样做?还是其他语言?如果你想知道Javascript,那就重复这个问题:听起来这家公司是他们自己最大的敌人。老实说:创建一个独立应用程序的现代版本(可能在子域中托管),并要求客户在准备好后“升级”。维护一个既现代又能在怪癖模式下工作的前端将是一场噩梦。
var quirksMode = (document.compatMode == 'BackCompat');
var isIE = ($('html').hasClass('ie'));
if ( quirksMode && isIE ) {
    $('html').addClass('quirks');
};
if ( document.documentMode == 7) {
    $('html').addClass('ie7_standard');
};