gpt4 book ai didi

javascript - 为什么knockout-secure-binding会遇到这个语法错误

转载 作者:行者123 更新时间:2023-11-30 19:24:49 26 4
gpt4 key购买 nike

我正在使用 Knockout Secure Binding (KSB) 使 Knockout 与 Chrome 浏览器扩展中的内容安全策略兼容。

以下使用 Knockout 的默认绑定(bind)器,其中 plaintext 是返回字符串的可观察值:

 <section data-bind="foreach: plaintext().match(/.{1,17}/g)">

但是当尝试应用与 KSB 的绑定(bind)时,这个错误被记录到控制台:

{
name: "SyntaxError",
message: "Expected ')' but got '/'",
at: 28,
text: "foreach: plaintext().match(/.{1,17}/g)"
}

由于 / 似乎是问题所在,我尝试使用以下语法创建 RegExp:

 <section data-bind="foreach: plaintext().match(new RegExp('.{1,17}', 'g'))">

但 KSB 同样提示,这次:

{
name:"SyntaxError",
message:"Expected ')' but got 'n'",
at:28,
text:"foreach: plaintext().match(new RegExp('.{1,17}', 'g'))"
}

这表明它根本不会接受 match() 括号内的任何内容。在阅读文档和 repo 问题时,我没有发现任何关于不使用匹配或正则表达式与 KSB 的信息。

我在这里错过了什么?

最佳答案

默认的 Knockout 绑定(bind)提供程序允许任何有效的 JS 表达式。 KSB 的目的是改变这种行为,所以像这样的东西不再起作用是有道理的。

您可能应该将您的正则表达式移动到计算的可观察对象。

关于javascript - 为什么knockout-secure-binding会遇到这个语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57028136/

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