如何在 chameleon/zpt 模板(金字塔)中正确包含 javascript 代码?
我正在尝试在 <script> 之间嵌入一些代码</脚本>标签,金字塔但是不喜欢它并给我
ExpatError: not well-formed (invalid token)
可能是因为我有 &&在我的代码中。我尝试使用 &
代替,但它没有在浏览器中得到解释。
当我尝试将其放入 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>
I'm trying to embed some code between <script> </script> tags, pyramid however doesn't like it and gives me
ExpatError: not well-formed (invalid token)
Probably because i have && in my code. I tried using &
instead, but then it didn't get interpreted in the browser.
The same thing happens when i try to put it in CDATA block.
When I move the code to a separate js file it works. I'd like to keep it in the same file for now, just to enable quick corrections.
So, how should I do it?
EDIT:
I get the same error even for templates as simple as this one:
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我认为你应该把 && (即两倍的HTML实体代码)。
I think you're supposed to put && (i.e. two times the HTML entity code).
这应该有效:
This should work:
您是否尝试过向脚本标记添加
type
属性?:Have you tried adding a
type
attribute to your script tag?:它看起来像 xhtml 问题,因为 w3c 验证器报告了相同的错误。
我在想是否有一个开关可以将 chameleon 解析的文档类型更改为 html,但是这样就不可能包含 tal 和 metal 命名空间。
因此这是预期的行为
It looks like xhtml issue, as w3c validator reported the same error.
I was thinking if there's a switch to change the document type parsed by chameleon to html, but then it wouldn't be possible to include tal and metal namespaces.
Hence it is expected behavior