私はテンプレートの外側からいくつかのJavaScriptコードを挿入するhtmlテンプレートを持っています。私のテンプレートデータ構造体では、文字列フィールドJS string
を作成し、それを{{.JS}}
と呼んでいます。問題は、ブラウザのすべてがエスケープされていることである。Golang:エスケープするhtmlテンプレートを停止
改行\n
<
と>
が\u003c
と\u003e
"
されているテンプレートの内部\"
同じ記号は大丈夫ですされています。 JS
フィールドをコンソールに印刷しても問題ありません。私はstring
の代わりにtemplate.HTML
タイプを使用することによって解決された同様の問題を見てきました。私の場合は全く動作しません。
EDIT 1
実際のコンテキストは
<script language="JavaScript">
var options = {
{{.JS}}
};
</script>
あなたの文字列をどこに挿入するのかという文脈がなければ、実行される 'contexts 'を知ることはできません。 https://godoc.org/html/template#hdr-Contexts – RayfenWindspear
これはおそらくあなたがしなければならないことです。 https://godoc.org/html/template#hdr-Typed_Strings(AKAのドキュメントをお読みください)。 – RayfenWindspear
@RayfenWindspear私はあなたの返事のためにすぐに私の質問を更新します – WORMrus