2

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

在现代化的缓慢过程中,我仍然需要这些用户软件能够正常工作并且不会崩溃。

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

我不想关闭它,因为它使系统的其他部分工作,我只需要能够向 html 标签添加一个怪癖模式,以便我可以解决 css 中的扭结。

提前致谢。


编辑

好的,我有一个 js 解决方案,差不多...这每次都会给我一个警报,但只会在我手动更改 ie 中的模式时将类添加到 html。有任何想法吗?

$(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');
};
4

1 回答 1

1
var quirksMode = (document.compatMode == 'BackCompat');
var isIE = ($('html').hasClass('ie'));
if ( quirksMode && isIE ) {
    $('html').addClass('quirks');
};
if ( document.documentMode == 7) {
    $('html').addClass('ie7_standard');
};

这解决了这个问题。如果您在 IE 或 IE7 标准文档模式中手动设置了 Quirks 模式,它会向 html 添加一个类。

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

谢谢大家的帮助!

我使用这个问题(如何检测当前页面的浏览器的渲染模式?)作为起点,但它似乎有点过时了。

于 2013-07-30T17:27:08.400 回答