iframe src URL W3C 验证错误

iframe src URL W3C validation error

每次验证时出错:

<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/

我对字符进行了转义,但是没有用。 谢谢

这里是 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;#(“数字符号”或“散列”字符),根据 URL 标准,它不是 valid URL code point,因此在 URL.

中是不允许的

# 字符只允许出现在 absolute URL with fragment or relative URL with fragment 中——然后,在 URL 规范的 部分之后明确只允许 定义为实际 URL.

并且对于 URLs 而言,&num;# 完全相同。

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


P.S。我计划更新验证器中的 URL 检查器,以实际报告它在 URL 中发现的特定非法字符,但我还需要一段时间才能进行改进。