我正在研究旧版SAAS软件的现代化。我是他们的第一个前端人物。他们目前只支持较旧的IE浏览器 - 并告诉他们的用户在较新的IE浏览器中打开怪癖模式,他们的软件仍然有效。
在缓慢的现代化过程中,我仍然需要这些用户软件才能工作而不会崩溃。
是否有条件评论,javascript或其他功能可以让我在前端知道浏览器已手动设置为怪癖模式?
我不想把它关掉,因为它正在使系统的其他部分工作,我只需要能够在html标签中添加一个怪癖模式,这样我就可以解决css中的问题。
提前致谢。
修改
好的,我有一个js解决方案,差不多......这会每次都给我一个提醒,但是当我手动更改模式时,只会将类添加到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 Standard中,我知道这是一团糟,但他们需要它,我认为重要的是要实现这一点。我遇到了同样的问题,除非我手动更改内容,而不仅仅是在加载时才打开课程。这是这段代码......它在上面准备好的文档中。
if ( document.documentMode == 7) {
$('html').addClass('ie7_standard');
alert('IE 7 Mode');
};
答案 0 :(得分: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绑定到该类,它将起作用。
感谢大家的帮助!
我用这个问题(How to detect Render Mode of browser for current page?)作为起点,但似乎有些过时了。