0

当尝试验证包含打开 iFrame 的 prettyPhoto 链接的站点时,我在任何包含?iframe=true&height=100%的 href 上收到以下错误

元素 a 上的属性 href 值错误:查询组件包含后跟两个十六进制数字的百分号。

& 没有开始字符引用。(& 可能应该被转义为 &。)

我尝试将数据库中的 & 替换为 &,href 存储在其中,甚至将 % 替换为 %,但这也不能满足验证器的要求。然后我尝试了 & 和 % 它将 href 正确显示为 ?iframe=true&height=100% 但它不再影响 iframe 的大小。

有没有办法解决这个问题,还是我只需要接受有 15 个错误,只要 iframe 可以工作?

4

1 回答 1

1

这里有两层。

  1. 百分号在 URL 中具有特殊含义,因此必须使用%25.

  2. 如果将此值作为 HTML 插入到标记中,则必须使用&& 符号。另一方面,如果您使用 Javascript(例如element.setAttribute('href', 'foo?bar1&bar2'))执行此操作,则不需要此操作。

于 2013-11-11T05:05:29.980 回答