所以我知道我可以这样编写自己的HTML编码函数:
function getHTMLEncode(t) { return t.toString().replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">"); }
但我想知道是否有 本地设施 对于Xpcom组件可用的。我在写一个组件,而不是覆盖,所以我周围没有一个do m来做一些技巧,比如创建一个do m元素并设置它 innerHTML .
innerHTML
答案似乎是否定的——在firefox中没有内置函数来对xpcom组件中的字符串进行HTML编码。
理论上,您可以创建一个XML文档,使用该文档创建一个HTMLDIV,将其文本内容设置为未编码的字符串,并读取其innerhtml。请注意,这只编码lt、gt和amp字符,而不是Quot。