如何在chameleon/zpt模板中正确包含JavaScript代码(使用pyramid)?
我想在<script>和</script>标签之间嵌入一些代码,但pyramid不喜欢这样,给了我一个错误提示:
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 个回答
1
这个应该可以用:
<script type="text/javascript">
//<![CDATA[
// my javascript
//]]>
</script>
1
我觉得你应该用&&(也就是两个HTML实体代码)来表示。
0
看起来这是个xhtml的问题,因为w3c验证器也报告了同样的错误。
我在想是否有个开关可以让变色龙把文档类型解析成html,但这样的话就不能包含tal和metal这两个命名空间了。
所以这是正常的表现