拡張機能や XUL アプリにて、 JavaScript から特定の XPCOM サービスを頻繁に使用するケースがよくあります。そのような場合に処理やソースコードを効率化するためのテクニックをいくつか紹介します。ここでは、例として nsIObserverService を頻繁に利用するケースを想定します。なお、Cc は Components.classes, Ci は Components.interfaces への参照です。 方式1: 毎回 XPCOM サービスを呼び出す 特に工夫をしない場合、以下のように XPCOM サービスを利用するたびに毎回そのスコープ内で呼び出し手続きを行うことになります。 var MyExtension = { init: function() { var observerSvc = Cc["@mozilla.org/observer-service;1"].
Firefox のアドオン (拡張機能等) を開発する際に、文字コードを変更する必要がでてくることもあるかと思います。 ここでは、JavaScript のコード中の文字列の文字コードを XPCOM *1 を使用して変更する方法について記します。 ここに書いてある方法はあくまで Firefox アドオン中で実行可能な方法であり、通常の web ページ内の JavaScript などでは使用できません。 文字コードの変換はアドオンから外部のプログラムなどに文字情報を送る際などに必要になると思います。 nsIScriptableUnicodeConverter 使用するのは nsIScriptableUnicodeConverter です。 これを使用することで JavaScript 上の通常の文字列 *2 を各種文字コードでエンコードされた文字列に変換したり、逆に各種文字コードでエンコードされ
株式会社クリアコード/下田 洋志 SHIMODA Hiroshi http://www.clear-code.com/ 本章では,JavaScriptだけでは行えない高度な処理を実現するため,XPCOMの活用方法を解説します. はじめに JavaScriptには,ファイルの読み書きや文字コードの変換などの処理をする機能はありません.こういった高度な処理を行うには,それ以外の技術を併用する必要があります.Internet ExplorerではそのためのしくみとしてActiveX がありますが,Firefox ではXPCOM(Cross Platform Component Object Model)というしくみを使います. XPCOMとは XPCOMは,プラットフォームに依存しないコンポーネント(プログラムの部品)を開発するためのフレームワークです.また,そのフレームワークに則って開発された
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く