坏值X-UA兼容的元素上元属性HTTP的当量(Bad value X-UA-Compatible f

2019-07-17 22:17发布

我已经使用了相同meta是HTML5的样板是使用和W3C HTML验证抱怨:

坏值X-UA兼容的属性HTTP-当量的元素元。

 <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'> 

有什么不对这个meta标记?

Answer 1:

无论是X-UA兼容不是“标准”的HTML(FSVO“标准”这涉及一个出现在公开编辑维基页面由规范引用)或验证是不是最新的与维基的当前状态。

在写这篇文章时(20130326)X-UA兼容出现的wiki页面下,指出一节:“下面的提议的扩展还不符合在HTML规范的所有注册要求,并因此还不允许在有效文档“。 所以,验证是正确的拒绝这个值。



Answer 2:

如果你正在寻找使其技术上有效(每个人都喜欢看到绿色的图标)W / O进行任何功能,你应该能够只是把它包在一个“如果IE”标签。

<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->


Answer 3:

一个可能的解决方案是在头实现的修复服务器端,在提出这个漂亮的写了亚伦雷顿。 (所有的功劳要去找他,我会转述,而不是抄袭......)

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

“当Internet Explorer遇到此行也将改变正在使用先Chrome Frame的发动机,如果安装了插件,然后到边缘(浏览器支持的最高文档模式)。”

步骤

  • 修复页面验证 - 这是通过简单地删除代码实现
  • 渲染速度 - 而不是等待浏览器中看到的标签,然后改变模式,我们将发送正确的模式,前期的响应头
  • 确保我们只显示Internet Explorer的修复 - 我们只需要使用一些服务器端浏览器检测和仅将其发送到IE

要添加在PHP中,我们可以只添加这对我们的页面标题:

if (isset($_SERVER['HTTP_USER_AGENT']) &&
    (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
        header('X-UA-Compatible: IE=edge,chrome=1');


或者你可以把它添加到您的.htaccess文件,如下所示:

<FilesMatch "\.(htm|html|php)$">
    <IfModule mod_headers.c>
        BrowserMatch MSIE ie
        Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
    </IfModule>
</FilesMatch>


链接到原始文章,检查可能的注意事项的意见。 此外,还包括C#实现。

修正错误的值X-UA兼容一劳永逸

希望这可以帮助!



Answer 4:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

请参阅本文可能修复



Answer 5:

..可这是一个很好的答案?

设置HTTP标头PHP:

  • http://www.joshuawinn.com/fix-html5-validator-error-bad-value-x-ua-compatible-for-attribute-http-equiv-on-element-meta/

这不是我自己的工作,但我希望这是对别人有用的。



Answer 6:

如果您下载/构建验证码SRC,您可以添加养活自己。

以下内容添加到一个文件,如html5-meta-X-UA-Compatible.rnc )然后将其包含在html5full.rnc

我做这个和它的作品很好地用于验证。

meta.http-equiv.X-UA-Compatible.elem =
  element meta { meta.inner & meta.http-equiv.X-UA-Compatible.attrs }
  meta.http-equiv.X-UA-Compatible.attrs =
    ( common.attrs.basic
      & common.attrs.i18n
      & common.attrs.present
      & common.attrs.other
      & meta.http-equiv.attrs.http-equiv.X-UA-Compatible
      & meta.http-equiv.attrs.content.X-UA-Compatible
      & ( common.attrs.aria.role.presentation
        | common.attrs.aria.role.menuitem
        )?
    )
    meta.http-equiv.attrs.http-equiv.X-UA-Compatible = attribute http-equiv {
      xsd:string {
        pattern = "X-UA-Compatible"
      }
    }
    meta.http-equiv.attrs.content.X-UA-Compatible = attribute content {
      xsd:string {
        pattern = "IE=((edge)|(EmulateIE(7|8|9|10))|7|8|9|10|11)(,chrome=(1|0))?"
      }
    }

common.elem.metadata |= meta.http-equiv.X-UA-Compatible.elem


Answer 7:

请删除,chrome=1从meta标签,将工作的罚款。 随着验证:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />


Answer 8:

我有同样的问题,并添加和包围整行补救的情况。

<!--[if IE]><meta http-equiv="x-ua-compatible" content="IE=9" /><![endif]-->


文章来源: Bad value X-UA-Compatible for attribute http-equiv on element meta