【问题标题】:Attribute name not allowed on element meta at this point此时元素元上不允许使用属性名称
【发布时间】:2014-01-30 18:01:38
【问题描述】:

我在这里多次遇到错误

<meta name="description" content="Directus Media specialises in websites for small to medium businesses">​

http://validator.w3.org/check?uri=http%3A%2F%2Fcrimsoninformatics.info%2Fdirectus%2F&charset=%28detect+automatically%29&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.3+http%3A%2F%2Fvalidator.w3.org%2Fservices

还有链接属性错误:

我写了:-

<link rel="stylesheet"  href="css/lib/essentials.css"/>

它给了我链接缺少必需属性的错误。

请帮忙,因为我是 HTML5 新手。

【问题讨论】:

    标签: html w3c-validation


    【解决方案1】:

    在两个meta 标签之间,一个带有name="description" 和一个带有name="keywords",页面包含字节0xE2 0x80 0x8B(和一些空白)。该页面被解释为 UTF-8 编码,但该字节序列是格式错误的 UTF-8(不代表任何字符)。显然,验证器仍将其解释为数据字符。这会导致head 元素过早关闭,剩下的就是……好吧,不是历史,而是这种混乱的结果。 meta 标签中的第二个被视为在body 部分,并且有特殊规则适用,使标签无效。

    无论如何,真正的问题是存在虚假字节 0xE2 0x80 0x8B。当它们被删除时,页面会验证。

    不可能从外部知道是什么产生了这些字节。但它们看起来很像字符编码错误,可能是由于对一些已经 UTF-8 编码的数据错误地执行了 UTF-8 编码,或类似的原因。

    这是一个棘手的问题。我不得不使用 Rex Swain 的 HTTP Viewer 来检查 offending page 的原始数据。

    【讨论】:

    【解决方案2】:

    确保从所有源文件中删除 UTF BOM。 https://en.wikipedia.org/wiki/Byte_order_mark

    【讨论】:

      【解决方案3】:

      您的完整链接 - 标签是:

      <link rel="stylesheet" type="text/css" href="css/lib/essentials.css"/>
      

      和你的元标签:

      <meta name="description" content="Directus Media specialises in websites for small to medium businesses" />​
      <meta name="keywords" content="southport graphic design, liverpool web design, southport social media management" />
      <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />
      

      小心:我认为您在元标记(关键字和视口)上使用了错误的“”

      【讨论】:

        猜你喜欢
        • 2011-06-25
        • 2017-08-18
        • 2015-07-09
        • 1970-01-01
        • 2014-01-09
        • 2018-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多