base64エンコードしたい場合、window.btoaは楽ではあるが、問題もある。 var str = window.btoa("あいうえお"); /* [Exception... "String contains an invalid character" code: "5" nsresult: "0x80530005 (InvalidCharacterError)" location: "chrome://libe... 続きを読む
拡張機能や XUL アプリにて、 JavaScript から特定の XPCOM サービスを頻繁に使用するケースがよくあります。そのような場合に処理やソースコードを効率化するためのテクニックをいくつか紹介します。ここでは、例として nsIObserverService を頻繁に利用するケ... 続きを読む
このページでは、Mozilla XPCOM インターフェースを利用して、chrome JavaScript コードから他のプログラムを起動する方法について解説します。プログラムを実行するには二つの方法があります。一つ目はnsILocalFile:launch メソッドで、二つ目は nsIProcess イ... 続きを読む
Firefox の拡張機能 (add-on の一種) を作ってみよう、ということで作り始めた AppLauncher。 前回は、コンテキストメニューに AppLaunhcer の項目を追加しました。今回はいよいよ外部アプリケーションの起動を行うということをします。AppLauncher ver.0.3 の... 続きを読む
XPConnectも使えるコマンドラインのJavaScript実行環境で、xpcshellという物がある。XULRunnerをダウンロードするとおまけでついてくる。 引数無しで実行すると対話インターフェースが起動する。irbみたいな感じで使える。 -fオプションを付けると外部のファイ... 続きを読む
この文書では、chrome JavaScript 内でローカルのファイル入出力を行う方法について解説しています。 ファイルシステムには、Mozilla XPCOM コンポーネント経由でアクセスできます。ローカル I/O のために利用されるコンポーネントのリストは XUL Planet にあり... 続きを読む
///////////////////////////////////////////////// ///////////////////////////////////////////////// // // Basic JavaScript File and Directory IO module // By: MonkeeSage, v0.1 // ///////////////////////////////////////////////// /////////////... 続きを読む
XULからローカルのファイルを読み書きする必要があったので,その方法を調べていた. Mozilla developer centerを見ているとFIle I/Oについてのページがあって,これによるとXPCOMを利用することによって,ローカルファイルにアクセスすることが可能になるよう... 続きを読む
この文書では、Mozilla 設定システムを利用しようとする拡張機能開発者向けのサンプルを示しています。ここにあるものは、Mozilla Suite、Firefox、Thunderbird、そしておそらくその他の Mozilla ベースのアプリケーションに適用可能です。Mozilla での設定シス... 続きを読む
Firefox 3 以前 Firefox を再起動するとき、 Firefox 3 までは以下のようなコードを書く必要があった。 var appStartup = Cc["@mozilla.org/toolkit/app-startup;1"].getService(Ci.nsIAppStartup); appStartup.quit(appStartup.eRestart | appStartup.eAttempt... 続きを読む
I would like to develop a XPCOM component (http://www.mozilla.org/projects/xpcom/) that will be used in firefox extension that is similar to this - https://addons.mozilla.org/en-US/firefox/addon/8090. The code should be in native Windows code... 続きを読む
JavaScript | 10:03中身がまったく別物になってきたので別のGistにしました。ちゃんと動いてる気がする。http://gist.github.com/69913 普通の実行cmd:command例「cmd:ruby -e "puts 1"」 ファイルにコードを保存して実行cmd:command;code;args例「cmd:vbs; WSH... 続きを読む
JavaScript | 16:23昨日の発展したやつです。「eval:言語;コード」で実行します。(たとえば「eval:vbs;WSH.Echo(1)」とか「eval:ruby;puts 1」とか) Language.evaluatorsに色々追加していけば色々実行できると思います。Tomblooを使わないようにしたら、Tombl... 続きを読む
JavaScript, WSH | 14:02Firefox3のXPCOMUtilsを使うと、短いコードで独自プロトコルを登録できるんですね。Components.utils.import - MDCmozilla mozilla/js/src/xpconnect/loader/XPCOMUtils.jsm2008-12-03 - 趣味プログラマの外部記憶 XPCOMUtilsを使わない... 続きを読む
document.cookie の覚え書き JavaScript | 16:15 | ちと余り良く分かってなかったので覚え書き。 key-value の設定 key が foo で value が bar だとすると、 document.cookie="foo=bar"; で設定出来る。 ところで、a=1, b=2 と言う二つを同時に設定する事は出... 続きを読む
Firefoxの2.0系はSQLiteを内臓してるらしいというのを偶然発見し、XPCOMを使ってローカルのSQLiteデータベースから画像データなどのバイナリをとってきてブラウザに表示したら面白いかもと思ったのでやってみた。 ちなみにXPCOM とは、mozillaのソフトウェアな... 続きを読む
XPCOMオブジェクトのインターフェースを一覧する JavaScript mozilla mozilla/extensions/cview/resources/content/cview-utils.js オブジェクト/インスタンスがどのインターフェイスを実装しているかは、Components.interfacesの全てのインターフェースをオブ... 続きを読む
Spket IDE、XPCOM、開発環境、Eclipseプラグイン JavaScript Spket IDE XUL、XPCOMなどを使ったアプリケーションの開発環境。 (LzszloとかYahoo! Widgetにも使えるみたい。) Eclipseプラグインとしても、単体のアプリケーションとしても動作する。 今日も新しい... 続きを読む
The JavaScript Component Wizard generates an XPCOM component skeleton to meet your needs. It is intended to save the time you would normally spend copying and pasting from your previous extensions or sample extensions. 続きを読む