gpt4 book ai didi

javascript - Chrome 多功能框特殊字符抛出错误

转载 作者:行者123 更新时间:2023-11-29 19:15:22 26 4
gpt4 key购买 nike

我正在编写一个基本的 Chrome 扩展程序,以在多功能框中添加来自 JSON 提要的建议。几乎所有输入的查询都会在建议下拉列表中显示预期的结果。

但是,似乎每当返回一个和号 (&) 作为描述的一部分时,Chrome 就会抛出错误。

抛出的错误为 "xmlParseEntityRef: no name(...)" 并从 Chrome 中的 parseOmniboxDescription 方法调用。

如有任何帮助,我们将不胜感激。我不确定这是唯一有这个问题的 Angular 色还是更普遍。

最佳答案

当前的多功能框建议 API 要求将它们指定为编码的 XML 文本,而不仅仅是纯文本。一些字符包括 &将需要适当编码。

要在浏览器 JavaScript 中对整个 XML 字符串进行编码,您可以这样做:

function encodeXml(s) {
var holder = document.createElement('div');
holder.textContent = s;
return holder.innerHTML;
}

console.log(encodeXml("Good & Bad > Bad & Good"));
// "Good & Bad > Bad & Good"

如果您在将文本传递给多功能框 API 之前对其执行此操作,错误应该会消失。

根据 the documentation你可以使用 <url> , <match> , 和 <dim>进一步注释您的结果。但是,您可能希望为此使用结构化程度更高的 XML 构建方法,而不是简单地连接字符串。 (我不知道这些 XML 元素是否有任何属性,但如果有,上述方法可能不足以编码属性值。)

关于javascript - Chrome 多功能框特殊字符抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35802159/

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