我收到错误:X-UA兼容的META标记('IE = 7')被忽略,因为文档模式已经完成。
我已经读过这个问题的解决方案是在head标签中没有声明meta标签,但我尝试将这个meta标签移动到head标签的第一行并且不能修复错误。
我正在使用Grails .gsp文件,该文件也使用knockout js。
以下是相关代码:
<!doctype html>
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"><!--<![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>myInfinitec Membership Management</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/ucpmanagementportal/static/images/favicon.ico" type="image/x-icon">
<meta name="layout" content="main"/>
<script src="/ucpmanagementportal/static/plugins/jquery-1.7.1/js/jquery/jquery-1.7.1.min.js" type="text/javascript" ></script>
<link href="/ucpmanagementportal/static/bundle-bundle_coreCSS_head.css" type="text/css" rel="stylesheet" media="screen, projection" />
</head>
编辑:在IE开发人员窗口中,每行之间都会生成“文本空文本节点”行。也许这算是在X-UA兼容元标记之前有一些东西。我读到修复是为受影响的元素添加display:block和zoom:1但这不起作用。以下是我所描述的一个例子:
<head>
Text - Empty Text Node
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
Text - Empty Text Node
<meta style="display: block; zoom: 1;" http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
Text - Empty Text Node
答案 0 :(得分:0)
好吧我解决了我的问题,虽然我的问题与我描述的错误没有任何关系。由于IE缓存了ajax调用,我遇到了错误,并且能够通过添加jQuery.ajaxSetup({cache:false})解决问题。
答案 1 :(得分:0)
这对我来说没有用。我找到的修复是将X-UA-Compatible值添加到每个控制器的拦截器之前,这似乎使它每次都可以工作。例如,在每个控制器中我都有
def beforeInterceptor = [action : this.&setBrowserCompat]
private setBrowserCompat(){
response.addHeader("X-UA-Compatible", "IE=edge")
}
这似乎总能奏效。希望这有用