如果我在我的Scala代码中生成一些Javascript:
<script type="text/javascript">
foo("{bar}");
</script>
并且Javascript包含双引号字符(如示例中所示),当XML转换为字符串时,它将显示为"
,并且Firefox将拒绝此Javascript,因为语法错误。
如果不删除实际需要 的"
,我该如何避免此Javascript错误?
我正在使用Play框架1.2.4和Scala模块0.9.1,这需要Scala 2.8.1。
答案 0 :(得分:16)
这样的东西对你有用吗?
scala> val bar=scala.xml.Unparsed(""""hello"""")
bar: scala.xml.Unparsed = "hello"
scala> val x = <script type="text/javascript">foo({bar});</script>
x: scala.xml.Elem = <script type="text/javascript">foo("hello");</script>
答案 1 :(得分:0)
如果你是从Play模板调用它,你应该可以执行$ {myscript.raw()}而不仅仅是$ {myscript}。 #{verbatim /}标签也应该有用。