2

だから私は次のような独自のHTMLエンコーディング関数を書くことができることを知っています:

function getHTMLEncode(t) {
    return t.toString().replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
}

しかし、XPCOMコンポーネントで利用できるこのためのネイティブ機能があるかどうか疑問に思いました。オーバーレイではなくコンポーネントを作成しているので、DOM要素の作成やその設定などのトリックを実行するためのDOMがありませんinnerHTML

4

2 に答える 2

1

答えはノーのようです-FirefoxにはXPCOMコンポーネントから文字列をHTMLエンコードする組み込み関数はありません。

于 2009-10-26T04:34:08.733 に答える
0

理論的には、XML ドキュメントを作成し、それを使用して HTML div を作成し、そのテキスト コンテンツをエンコードされていない文字列に設定し、その innerHTML を読み取ることができます。これは lt、gt、および amp 文字のみをエンコードし、quot はエンコードしないことに注意してください。

于 2009-10-01T19:14:32.587 に答える