如何在chameleon / zpt模板(金字塔)中正确包含javascript代码?

时间:2011-03-03 04:01:02

标签: javascript python pyramid template-tal

我正在尝试在< 脚本>之间嵌入一些代码<的 /脚本>标签,但金字塔不喜欢它并给我

ExpatError:格式不正确(令牌无效)

可能是因为我有&&在我的代码中。我尝试使用&,但之后没有在浏览器中解释。

当我尝试将其放入CDATA块时,会发生同样的事情。

当我将代码移动到单独的js文件时,它可以工作。我现在想将它保存在同一个文件中,只是为了快速更正。

那么,我该怎么做呢?

修改

即使对于像这样简单的模板,我也会得到同样的错误:

<html
    xmlns:tal="http://xml.zope.org/namespaces/tal"
    xmlns:metal="http://xml.zope.org/namespaces/metal">
    <head>
    </head>
    <body>
        <span onclick="alert(true && false);">test</span>
    </body>
 </html>

4 个答案:

答案 0 :(得分:1)

我认为你应该把&amp;&amp; (即HTML实体代码的两倍)。

答案 1 :(得分:0)

您是否尝试在脚本代码中添加type属性?:

<script type="text/javascript">
...
</script>

答案 2 :(得分:0)

看起来像xhtml问题,因为w3c验证器报告了同样的错误。

我在想是否有将chameleon解析的文档类型更改为html的转换,但是不可能包含tal和metal命名空间。

因此是预期的行为

答案 3 :(得分:0)

这应该有效:

<script type="text/javascript">
    //<![CDATA[
        // my javascript
    //]]>
</script>