当名称中包含双引号时,无法成功传递安全转义的名称。 onclick="shareItem('{-6ren">
gpt4 book ai didi

javascript - Handlebars 特定 - 在传递 Handlebars 表达式时转义单引号和双引号

转载 作者:技术小花猫 更新时间:2023-10-29 12:18:14 26 4
gpt4 key购买 nike

HTML 和 Handlebars :

onclick='shareItem("{{name}}")'> 

当名称中包含双引号时,无法成功传递安全转义的名称。

onclick="shareItem('{{name}}')"> 

当其中包含单引号时,无法成功传递安全转义的名称。

我需要处理这两种情况,甚至是在同一个字符串中。

必须定义一个 JS 变量并将其传递给反斜杠加法器感觉很草率。

有没有更简洁的方法来使用 Handlebars 或 Moustache?

最佳答案

您需要注册一个inline helper操纵上下文。在您的情况下,您需要转义单引号或双引号。

Handlebars.registerHelper('escape', function(variable) {
return variable.replace(/(['"])/g, '\\$1');
});

通过注册这样的助手,您可以将它与变量一起使用来实现您想要的。

{{ escape name }} # expects to escape any ' or "

我在 jsfiddle 上写了一个简单的例子来演示:http://jsfiddle.net/VLy4L/

关于javascript - Handlebars 特定 - 在传递 Handlebars 表达式时转义单引号和双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22105510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com