0

iFrame を開く prettyPhoto リンクを含むサイトを検証しようとすると、?iframe=true&height=100%を含むすべての href で次のエラーが発生します。

要素 a の属性 href の値が正しくありません: クエリ コンポーネントに、2 桁の 16 進数が続かないパーセント記号が含まれています。

& は文字参照を開始しませんでした。(& はおそらく & としてエスケープされているはずです。)

href が保存されているデータベースで & を & に置き換え、% を % に置き換えてみましたが、バリデーターも満足しませんでした。私はそれから試してみました。そして % href を ?iframe=true&height=100% として正しく表示しましたが、iframe のサイズには影響しなくなりました。

これを解決する方法はありますか、それともiframeが機能する限り、15個のエラーがあることを受け入れる必要がありますか?

4

1 に答える 1

1

ここには 2 つのレイヤーがあります。

  1. パーセント記号は URL で特別な意味を持つため、 でエスケープする必要があります%25

  2. この値を HTML としてタグに挿入する場合は、&for アンパサンドを使用する必要があります。一方、これを Javascript で行っている場合 (例: element.setAttribute('href', 'foo?bar1&bar2'))、これは必要ありません。

于 2013-11-11T05:05:29.980 に答える