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

发布于 2024-10-20 04:55:01 字数 735 浏览 6 评论 0原文

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

ExpatError: not well-formed (invalid token)

可能是因为我有 &&在我的代码中。我尝试使用 &amp; 代替,但它没有在浏览器中得到解释。

当我尝试将其放入 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

鹿童谣 2024-10-27 04:55:01

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

I think you're supposed to put && (i.e. two times the HTML entity code).

往日 2024-10-27 04:55:01

这应该有效:

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

This should work:

<script type="text/javascript">
    //<![CDATA[
        // my javascript
    //]]>
</script>
执着的年纪 2024-10-27 04:55:01

您是否尝试过向脚本标记添加 type 属性?:

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

Have you tried adding a type attribute to your script tag?:

<script type="text/javascript">
...
</script>
梦开始←不甜 2024-10-27 04:55:01

它看起来像 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文