我正在使用Jinja2在javascript函数中插入一个字符串,如下所示:
<button type="button" onclick="someFunction('{{ aStringWithSignleQuote }}');">
我打开了 jinja 的自动转义功能,以便将单引号呈现为
'
如果我查看页面的源代码,那么这是有效的(我看到转义的字符),但是当我单击按钮时,会出现错误,因为 JavaScript 认为字符串以转义的单引号结尾。
有人猜这里发生了什么?
由于它位于 HTML 属性值中,因此在由 JavaScript 解析器处理之前,它由 HTML 解析器处理。
如果你想为 JavaScript 转义它,你需要为 JavaScript 转义它(使用 )。