现在的位置: 首页 > 综合 > 正文

jqGrid不支持IE8的解决办法(Grid can not be used in this (‘quirks’) mode)

2017年12月26日 ⁄ 综合 ⁄ 共 574字 ⁄ 字号 评论关闭
Web 世界中存在许多不同的文档。只有了解文档的类型,浏览器才能正确地显示文档。
HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。这就是 <!DOCTYPE> 的用处。
<!DOCTYPE> 不是 HTML 标签。它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的。
http://static.oschina.net/uploads/space/2012/0925/164839_5k7h_269725.jpg

查看源码后发现

if(document.documentMode !== undefined ) { // IE only

if(document.documentMode <= 5) {

alert("Grid can not be used in this ('quirks') mode!");

return;

}

}

其中document.documentMode值 查资料后解释如下

除ie8以外的任何浏览器上返回的值是undefined.

ie8上面如果页面没有标准头的话,返回值为5。

ie8上面如果页面有标准头的话:

将返回7或者8,确定使用的是ie7渲染模式或者是ie8渲染模式。

寻思了下 估计是文件头这类问题

仔细与其他文件对比后

增加<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> 对于文档声明后 不报此错

有的创建jsp页面会自带这个文档声明,关键版本不是XHTML1.0的,所以换成这个版本才可以使用哦!

抱歉!评论已关闭.