我正在尝试使用KnockoutJS和默认的jQuery.tmpl模板引擎,我的标记由Apache Wicket输出。
我发现Wicket正在改变我的javascript tmpl模板:
<script type="text/x-jquery-tmpl" id="myTemplate">
Hello, ${world}!
</script>
进入这个:
<script type="text/x-jquery-tmpl" id="myTemplate">
/*<![CDATA[*/
Hello, ${world}!
/*]]>*/
</script>
哪些可能会让KnockoutJS变得糟透了。
如果Wicket允许您禁用此类内容,是否有任何想法?
答案 0 :(得分:3)
在Wicket&#39; s JavascriptUtils中定义了与KnockoutJS混淆的<!--/*--><![CDATA[/*><!--*/\n
字符串。看看它的writeJavascript()方法。
对于通过HeaderResponse.renderJavascript()或HeaderResponse.renderOnEventJavascript()进行的每个标题贡献,将无条件地添加此前缀/后缀。
我从来没有必要改变这一点,但这种行为似乎非常不变,Wicket似乎不允许您为应用程序指定自定义HeaderResponse类,因此您可以覆盖JavascriptUtils的使用。 / p>
你是如何贡献js的?它是否在页面构建时动态生成? 如果您使用HeaderContributor.renderJavascriptReference()提供了javascript,那么您可能会对此进行排序,尽管这可能不适合您。
不太相关,但Apache Wicket用户列表中的this discussion可能表示此处的真正问题是KnockoutJS。