每次验证时都会出错:
<iframe class="forecast" src="http://forecast.io/embed/#lat=-26.201560&lon=28.038995&name=Johannesburg,%20ZA&text-color=#ffffff&color=#ffffff&font=Helvetica&units=ca"></iframe>
错误(截图): http://postimg.org/image/5h1kvzzuh/
我逃脱了角色,但它没有用。 感谢。
答案 0 :(得分:2)
W3C验证器维护者在这里。简而言之,请改用以下内容:
<iframe class="forecast" src="http://forecast.io/embed/%23lat=-26.201560&lon=28.038995&name=Johannesburg,%20ZA&text-color=#ffffff&color=%23ffffff&font=Helvetica&units=ca"></iframe>
也就是说,修复只是将#
替换为 %23
(#
字符的percent-encoding。
该URL中的特定问题是它包含的#
字符引用。
#
是#
(“数字符号”或“哈希”字符),根据网址标准不是valid URL code point,因此不允许在网址中使用
只有absolute URL with fragment或relative URL with fragment允许使用#
字符 - 然后,只有在之后才明确允许
就网址而言,#
和#
完全相同。
因此,您必须将其用作 %23
(即percent-encoded)。
P.S。我计划更新验证程序中的URL检查程序,以实际报告它在URL中找到的特定非法字符,但在我完成该细化之前还需要一段时间。