我怎么才能写出这样的东西来包含在模板中,而不是包含在Haml中?
<script>
$(document).ready( function() {
$('body').addClass( 'test' );
} );
</script>
发布于 2012-03-17 04:37:44
:javascript
$(document).ready( function() {
$('body').addClass( 'test' );
} );
文档:http://haml.info/docs/yardoc/file.REFERENCE.html#javascript-filter
发布于 2014-09-18 15:40:49
您实际上可以像Chris Chalmers在他的回答中所做的那样做,但是您必须确保HAML不会解析JavaScript。当您需要使用不同于text/javascript
的类型时,这种方法实际上很有用,这正是我在MathJax
中需要做的。
您可以使用plain
过滤器来防止HAML解析脚本并抛出非法的嵌套错误:
%script{type: "text/x-mathjax-config"}
:plain
MathJax.Hub.Config({
tex2jax: {
inlineMath: [["$","$"],["\\(","\\)"]]
}
});
发布于 2013-05-16 02:25:34
所以我尝试了上面的:javascript,它是有效的:)然而,HAML将生成的代码包装在CDATA中,如下所示:
<script type="text/javascript">
//<![CDATA[
$(document).ready( function() {
$('body').addClass( 'test' );
} );
//]]>
</script>
下面的HAML将生成包含(例如) typekit或google分析代码的典型标记。
%script{:type=>"text/javascript"}
//your code goes here - dont forget the indent!
https://stackoverflow.com/questions/9744169
复制相似问题