jade をテンプレート エンジンとして使用して、express/nodejs にアプリがあります。
テンプレート ファイルには次の段落が
p.btn(onclick='clicked( #{entity._id} )') Click
あり、この段落の後 (いくつかのタグの後) には、javascript 関数があるスクリプト タグがあります。
問題は、段落をクリックするとスローされることです
Uncaught SyntaxError: Unexpected token ILLEGAL
スクリプトタグで。DOM インスペクタでこのスクリプト タグが表示される場合、強調表示されている不正な構文ですが、不正な構文ではありません。
さらに、上記の段落の onclick 属性を削除#{entity._id}
しても、エラーは発生しません。
なんで?jade テンプレートにスクリプト タグを記述して含めるためのベスト プラクティスは何ですか?
編集:
生成された段落の HTML は
<p onclick="clicked(5025)" class="btn">Click</p>
クリック ハンドラーは外部ファイル (script タグに含まれる) にあり、
var clicked=function(id){
location.href='/click/'+id+'/';
};
次のスクリプト タグ (段落の後のタグ) でエラーがスローされます。
<script>flowplayer("5025","/javascripts/flowplayer/flowplayer-3.2.12.swf",{
clip:{
autoPlay:false
}
});
</script>