0

我正在使用 Jinja2 在 javascript 函数中插入一个字符串,如下所示:

<button type="button" onclick="someFunction('{{ aStringWithSignleQuote }}');">

我打开了 jinja 的自动转义功能,因此单引号呈现为

&#39;

如果我查看页面的源代码,那么这是有效的(我看到了转义字符),但是当我单击按钮时,出现错误,因为 javascript 认为,字符串以转义单引号结尾。

有人猜到这里发生了什么?

4

1 回答 1

1

由于它在 HTML 属性值中,因此在被 JavaScript 解析器处理之前由 HTML 解析器处理。

如果您想为 JavaScript 转义它,您需要为 JavaScript 转义它(使用\)。

于 2013-10-02T10:41:25.947 回答