テンプレート内にいくつかの JavaScript コードを含めようとしています。
私のhtmlページのコード:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="jquery-jtemplates.js"></script>
</head>
<body>
<div id="infos"></div>
<div id="my_template"></div>
<script type="text/javascript">
$(document).ready(function() {
$('#my_template').setTemplateURL("my_template.html");
try {
$('#my_template').processTemplate({'var' : 1});
}
catch (e) {
$('#infos').html('error : '+e);
}
$('#my_button').click(function(){
alert('it works outside');
});
});
</script>
</body>
</html>
そしてテンプレート
content of the template<br/>
{#if $T.var == 1}
<script type="text/javascript">
$(document).ready(function() {
$('#my_button').click(function(){
alert('it works inside');
});
});
</script>
<input type='submit' id='my_button' value='click me' onclick='alert("direct");'/>
{#else}
not working
{#/if}
infos
バリス内でエラーが発生する
error : SyntaxError: missing } 関数本体の後に
alert('it works inside');
バリスの中に入れただけでscript
(jquery関連のコードをすべて削除)、ページの読み込み、「直接」と「外部で動作します」という2つのメッセージが表示されますが、「内部で動作します」というメッセージは表示されません。
ドキュメントページで述べたように動作すると思われます
テンプレートでの JavaScript コードの使用を許可する
ありがとうございました