2

次のTALのテンプレートを使用しています。

<iframe tal:attributes="src view/src" />

ここで、view.srcは、アンパサンドを含むクエリ文字列を含むURLを返します。

テンプレートはこれをうまくレンダリングしますが、Diazoを通過した後、アンパサンドは&amp;としてエスケープされます。

Diazoがこれを行うのを防ぐにはどうすればよいですか?

4

1 に答える 1

1

テンプレートが無効なHTMLを返しています-CDATAスクリプトとスタイルタグの外では、アンパサンドはエンティティとしてエンコードする必要があります(http://htmlhelp.com/tools/validator/problems.html#amp)。HTMLParserはあなたが何を意味するかを推測できますが、シリアライザーは途中でデータを正しくエンコードし、それを回避する方法はありません。

例を挙げると、これはデータの単なるHTMLエンコーディングであることに注意してください。

<iframe src="http://example.com?foo=1&amp;baz=2" />

iframeのsrc属性の値http://example.com?foo=1&baz=2です。

于 2012-03-29T09:56:26.643 に答える