新しいスペルチェック機能が Firefox 2 で利用可能になりました。この文書は Firefox の拡張機能にスペルチェック機能を追加する mozISpellCheckingEngine コンポーネントの使いかたを紹介します。
ウェブサイトの HTML フォームにスペルチェックのサポートを追加するには HTML フォームのスペルチェック制御 を参照してください。
単語のスペルをチェックする
単語のスペルをチェックするには、最初に mozISpellCheckingEngine のインスタンスを作り、次に テストしたい文字列で check() メソッドを呼び出さなくてはなりません。このメソッドは文字列が正しいスペルなら true を、そうでなければ false を返します。
// コントラクト ID は Firefox のバージョンによって異なる
var spellclass = "@mozilla.org/spellchecker/myspell;1";
if ("@mozilla.org/spellchecker/hunspell;1" in Components.classes)
spellclass = "@mozilla.org/spellchecker/hunspell;1";
if ("@mozilla.org/spellchecker/engine;1" in Components.classes)
spellclass = "@mozilla.org/spellchecker/engine;1";
gSpellCheckEngine = Components.classes[spellclass].createInstance(Components.interfaces.mozISpellCheckingEngine);
gSpellCheckEngine.dictionary = 'en-US';
if (gSpellCheckEngine.check("kat")) {
// 正しいスペル
}
else {
// 正しくないスペル
}
候補リストを得る
スペルミスしている単語の候補リストを得るには、単語と、候補の配列を入れるオブジェクトを指定して suggest() メソッドを呼びます。
var suggestions = {};
gSpellCheckEngine.suggest("kat", suggestions, {});
if (suggestions.value) {
// suggestions.value は文字列の JavaScript 配列です。
// suggestions.value.length 個の候補が見つかりました。
}