26

我的网站在验证时收到此错误。

Error: A charset attribute on a meta element found after the first 512 bytes.

这是导致此问题的代码:

<!DOCTYPE html> 
<html class="not-ie no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> 
<head>
<link rel="stylesheet" type="text/css" href="http://mywebsite.com.au/wp-content/cache/minify/000000/TY3RDsIgDEV_SFb5pAqVgLDWFTb79y6bWXw6ybk3OR4KdcHwgsZxVFLYckzUL97uoN0q7QyqUN6DFpueOAd78Gdqef4ta47EruifwhEzS0WjZfWH97CJSw1FcjdHqOYSc6rkdqdnaU_LdRHW7k79BQ.css" media="all" />
<script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/hY7RDsIgDEV_aFCXmCzxb5DVDQSKtDj164W5dx977rltV5F8ATDevPRCtAQ02bG2FHcGwV0Z_KNiecOoJz0eg44uac_DCTxDpBlLcp-ibWWh-KNPNyMpz10dztBWRkyiCuaw14exsSTGirpRiWoCl2yoM3JvH2d68l9mW1wWbpJHycbe-0s1tHDLS6GVvg.js"></script>
<script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/M9YvzdTPKixNLarUK83UK89MSU8t0cvNzAMA.js"></script>
<script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/ZY5BDsIwDAQ_RNIWxEt4gUkMuKRxsJPS8HpacahQLnuYnZW270btFAO6TDN9xED0BpcsYH6URe1E8dBvoqAmjn4H46ugVIugFO9msKemukF09cqLTeCef42rLqCFEJqNTiD5krcI5FEagZQzJ2z46EC4rMf3BoonTgEqyjw0g8zFPS5vSrieP9rzLriimacv.js"></script>
<meta charset="UTF-8">
4

4 回答 4

27

meta条目移到所有其他条目之上,例如:

<!DOCTYPE html> 
<html class="not-ie no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> 
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="http://mywebsite.com.au/wp-content/cache/minify/000000/TY3RDsIgDEV_SFb5pAqVgLDWFTb79y6bWXw6ybk3OR4KdcHwgsZxVFLYckzUL97uoN0q7QyqUN6DFpueOAd78Gdqef4ta47EruifwhEzS0WjZfWH97CJSw1FcjdHqOYSc6rkdqdnaU_LdRHW7k79BQ.css" media="all" />
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/hY7RDsIgDEV_aFCXmCzxb5DVDQSKtDj164W5dx977rltV5F8ATDevPRCtAQ02bG2FHcGwV0Z_KNiecOoJz0eg44uac_DCTxDpBlLcp-ibWWh-KNPNyMpz10dztBWRkyiCuaw14exsSTGirpRiWoCl2yoM3JvH2d68l9mW1wWbpJHycbe-0s1tHDLS6GVvg.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/M9YvzdTPKixNLarUK83UK89MSU8t0cvNzAMA.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/ZY5BDsIwDAQ_RNIWxEt4gUkMuKRxsJPS8HpacahQLnuYnZW270btFAO6TDN9xED0BpcsYH6URe1E8dBvoqAmjn4H46ugVIugFO9msKemukF09cqLTeCef42rLqCFEJqNTiD5krcI5FEagZQzJ2z46EC4rMf3BoonTgEqyjw0g8zFPS5vSrieP9rzLriimacv.js"></script>

您的问题在于您违反了W3C HTML5 建议

包含字符编码声明的元素必须在文档的前 1024 个字节内完全序列化。

无论您使用什么测试都有些过时,限制曾经是 512 字节,但(最迟)在 2012 年 12 月更改。

那些相当厚实script的标签将字符集规范推到了测试工具的 512 字节范围之外。即使您使用识别更改为 1024 字节的更高版本的测试工具,它可能仍然是一个问题。将meta标签放在前面的建议应该可以解决任何一种情况。

于 2013-08-02T02:33:44.153 回答
10

就放

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

喜欢完整的句子,而不是只写

<meta charset="UTF-8">

这对我来说可以。

于 2013-10-14T09:02:02.967 回答
1

尝试将元标记作为头内的第一件事

于 2013-08-02T02:34:05.197 回答
0

如果标签在页面上的代码中多次出现,也会出现此错误<head>。检查你有没有无意中写了两次。

于 2015-07-14T17:43:01.037 回答