iframe src URL W3C验证错误

时间:2015-09-27 02:18:32

标签: validation url src w3c-validation percent-encoding

每次验证时都会出错:

<iframe class="forecast" src="http://forecast.io/embed/&num;lat=-26.201560&amp;lon=28.038995&amp;name=Johannesburg,%20ZA&amp;text-color=&num;ffffff&amp;color=&num;ffffff&amp;font=Helvetica&amp;units=ca"></iframe>

错误(截图): http://postimg.org/image/5h1kvzzuh/

我逃脱了角色,但它没有用。 感谢。

1 个答案:

答案 0 :(得分:2)

W3C验证器维护者在这里。简而言之,请改用以下内容:

<iframe class="forecast" src="http://forecast.io/embed/%23lat=-26.201560&amp;lon=28.038995&amp;name=Johannesburg,%20ZA&amp;text-color=&num;ffffff&amp;color=%23ffffff&amp;font=Helvetica&amp;units=ca"></iframe>

也就是说,修复只是将&num;替换为 %23 #字符的percent-encoding

解释

该URL中的特定问题是它包含的&num;字符引用。

&num;#(“数字符号”或“哈希”字符),根据网址标准不是valid URL code point,因此不允许在网址中使用

只有absolute URL with fragmentrelative URL with fragment允许使用#字符 - 然后,只有之后才明确允许将网址规范定义为实际网址。

就网址而言,&num;#完全相同。

因此,您必须将其用作 %23 (即percent-encoded)。

P.S。我计划更新验证程序中的URL检查程序,以实际报告它在URL中找到的特定非法字符,但在我完成该细化之前还需要一段时间。