Google字体URL在w3.org上破坏HTML5验证
我使用此HTML标记加载3种不同大小的字体:Google字体URL在w3.org上破坏HTML5验证,html,w3c-validation,google-font-api,Html,W3c Validation,Google Font Api,我使用此HTML标记加载3种不同大小的字体: <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic|PT+Serif:400,400italic|Bree+Serif"> W3C标记验证程序现在不喜欢什么?URL在href属性(%7C)中对(管道字符)进行编码: 必须将字符|替换为相应的
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic|PT+Serif:400,400italic|Bree+Serif">
W3C标记验证程序现在不喜欢什么?URL在
href
属性(%7C
)中对(管道字符)进行编码:
必须将字符|替换为相应的UTF-8字符,这将
href="http://fonts.googleapis.com/css?family=Cookie%7cAmaranth%7cKaushan+Script%7cCousine%7cBilbo+Swash+Caps%7cRancho&effect=shadow-multiple"
我用“&;”替换和,效果很好,例如:
<link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700&subset=latin,latin-ext' rel='stylesheet' type='text/css' />
有两种方法可以解决此验证问题:
URL编码链接元素的href
属性中的|(垂直条/线)字符(如%7C
):
我的案子是疯狂的断线角色。请看附件中的图片。我知道这是一篇老文章,但是有人知道分离
标签是否有任何性能(dis)优势吗?如果一次呼叫中有多个字体,Google会压缩吗?@Patrickmore 2件事:a)你的服务器上传/响应速度与最终用户下载速度b)创建另一个连接的时间(服务器响应时间与最终用户响应时间),理论上,如果你加载2个“重”字体,而你的页面加载速度很快,单独加载(以并行方式)可能会导致更快的加载。但这确实取决于a)&b)这个问题是关于
字符的,而不是&
-)这是谷歌生成的URL的问题还是w3验证程序的问题?是否有任何规范要求在HTML属性中编码管道字符?@MikkoRantalainen注意到管道字符是不安全的:其他字符是不安全的,因为已知网关和其他传输代理有时会修改这些字符。这些字符是“{”、“}”、““、”、“\”、“^”、“~”、“[”、“]”和“`”。我希望原始UTF-8在UTF-8编码的HTML中有效,不编码其他字符,但用于HTML的字符除外,例如&
、“
和”
。这些特殊字符需要按照HTML规则进行编码(例如&
等)。然后,用户代理将遵循RFC 3987,并在通过HTTP()提交之前将IRI转换为百分比编码UTF-8。
href="http://fonts.googleapis.com/css?family=Cookie%7cAmaranth%7cKaushan+Script%7cCousine%7cBilbo+Swash+Caps%7cRancho&effect=shadow-multiple"
<link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700&subset=latin,latin-ext' rel='stylesheet' type='text/css' />
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic%7CPT+Serif:400,400italic%7CBree+Serif">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=PT+Serif:400,400italic">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Bree+Serif">