Mozillaでプログラミング(XUL)
■ このスレッドは過去ログ倉庫に格納されています
0001Moziller
NGNGMozilla 1.0 RC1がリリースされ、
XUL 1.0の仕様が一応フリーズしました。
なので、そろそろXULアプリケーションも出始めることでしょうし(希望的観測)
MozillaでのXULプログラミングについて騙りませんか。
Mozillaスレッド M10
http://pc.2ch.net/test/read.cgi/software/1019550671/
0239厨房もじらー
NGNGさりげにって普段使うけど
意味は「なにげに」の場合が多いな漏れ。
と、反省させられたので
仲間内だけで使うことにするYo!
ありが�d。
そんなことより>>1よ…じゃなくて
そんなことより、このスレでこういう話題しか書き込まれないのがサミスィ
漏れもそうだけど、XULプログラミング一般ってネタ少ないねやっぱり。
XUL 一般となるとまだ少ないけど、
http://pc.2ch.net/test/read.cgi/mac/1019023586/879-886n
の bookmarklet なネタとかも合わせれば地道に増えてる気もする。
ちなみに bookmarklet については
http://www.squarefree.com/bookmarklets/
とか。
直接は関係ないけど XUL 開発に使えるかもしれない Tips をばひとつ。
● Chatzilla を JavaScript のちょっとしたテスト実行に使う。
・Chatzilla は *Client* タブの画面でコンソールに JS 式を書くと
直接実行される。
・コンソールで Ctrl + ↑ を押すと複数行入力が出来る。
送信は Ctrl + Enter。
・display() が組み込まれてるので、表示画面に返り値など表示できる。
これらを利用して…
-------------------------------------------
function setLoadImage(value)
{
var prefkey = 'network.image.imageBehavior';
var pref = Components.classes['@mozilla.org/preferences;1']
.getService(Components.interfaces.nsIPrefBranch);
pref.setIntPref(prefkey, value);
display("load Image mode: " + pref.getIntPref(prefkey));
}
setLoadImage(2);
-----------------------------------
とか入力すると、画像表示可・不可の切替が出来る。
現在のブラウザウィンドウを参照するときは
--------------------------------------------
const WINMAN = Components.classes['@mozilla.org/appshell/window-mediator;1']
.getService(Components.interfaces.nsIWindowMediator);
function getWin() { return WINMAN.getMostRecentWindow('navigator:browser'); }
// 上2行ブラウザウィンドウを取得するのに必要。
getWin().getBrowser().contentDocument.location.href = 'http://www.mozilla.org';
-----------------------------------------------------
こんなかんじ。もっと楽したければ Contextmenu-Extension の
JavaScript TestRun や Custom Script つかうべし。
考えてみると、これ利用すればマクロ実行とかできそうな予感。
0241厨房もじらー
NGNGおお、スゴッ
感動した!
複数行表示とか全然知らなかったよ。
JSLibにはスクリプトを読み込むinclude()関数っていうのがあるんだけど
これも使えば、外部JSファイルを追加読みこみしたりできるし
マクロ実行とかできそう。
bookmarkletネタだと漏れは
javascript:resizeTo(640,460);
javascript:resizeTo(808,680);
javascript:resizeTo(1024,748);
とかやって、ウェブページ作成のときに
画面サイズの目安にしたりしてるくらい。。。
全然フツーだな、スマソ逝ってくる。。。
include()関数?と思って JSLib 見てみたら…
---------------------------------
const PROG_ID = "@mozilla.org/moz/jssubscript-loader;1";
const INTERFACE = "mozIJSSubScriptLoader";
const Inc = new Compornents.Constructor(PROG_ID, INTERFACE);
(new Inc()).loadSubScript(aScriptPath);
---------------------------------------
及び
http://lxr.mozilla.org/mozilla/source/js/src/xpconnect/idl/mozIJSSubScriptLoader.idl
こんなもん用意されてたとはっ(当然?)
おぉ、そんな機能があったとは。
CustomScriptにも取り込もう……
0244厨房もじらー
NGNG読み込んだファイルの内容を
eval()してやっても同じことができる?とか妄想した漏れはアレゲですか?
げふ。もう短縮構文作っちゃいました。後の祭り。
0247 ◆q78mh/0k
NGNGご報告。カテゴリ名は変わるかもです。(今は mozilla plugin)
http://www.deskmod.com/?show=showcat&cat_name=mozplug
# 暑い・・・。
0248厨房もじらー
NGNG情報マリガトー
Piro氏のFloating Sidebarが入ってるNe!
mozdev.orgはなんかパンク状態みたいだし
もっとリソースがいろんなところに分散されるといいんだけどね
そういう意味では
DeskModはテーマだけ配ってりゃいいって思ったの漏れだけ?
descmod の Floating Sidebar は Piro さんのとは別物よん。
Chatzilla の components/chatzilla-service.js みたいな
コマンドラインに -sidebar オプションつけたり
Mozilla 起動時の初期化とかしてるみたいなんだけどわけわかめ。
使いこなせれば Moz2ch にも利用できるんだろなーと思うんだが…
0250 ◆q78mh/0k
NGNGここの方々はアンインストール方法分かると思うけど、
一応、そのページにも書いています。
(overlay 、chrome.rdf 削除と、installed-chrome 編集)
http://home.no.net/trihand/mozilla/home/en/
Deskmod は、以前から Mozilla 以外のものを配布していたらしく、
何でもあれのような感じもします。
mozdev はどうにかならないものかと思いつつ。
一応、ヨーロッパと米国のミラーがふたつくらい名乗り出てくれたところが
あるらしいので、どうやってミラーリングするシステム組むか、とか
あるのかも知れないです。同時分散できない部分もあるし。
0251厨房もじらー ◆Moz2cH0k
NGNGPiroさんのとは別物でしたか。。。確かめずに書いてスマソ
起動時の初期化はJSComponentとしてどうこうで必要だった様な。
JSComponent関連は全然わからぬのですが(苦笑
Homeボタン、アイコンはよくできてると思うんだけど
ボタンは四つがまとまりがいいなあ。。。
どうせやるなら、ツールバーボタンの編集機能をつけるとか
もっと斬新なことをやってほしい感じ。
DeskModは、帯域に余裕があるなら何したってかまわないんだけどね。。。
っていうか、Mozdevはいろんなサービス提供しまくってるわりに
リソース不足だから、Webホスティング機能がパンク状態みたいな。。。
うーん。。。XULアプリ開発の中心的存在としては
もっとなんとかなってほしいですね。。。
0252221
NGNGhttp://member.nifty.ne.jp/georgei/mozilla/custom_menubar.html
(URL の誤字を修正)
フルスクリーンモードに対応、ですが、内部的には、
fullscreentoolbar="true" を足しただけです。(w
0253厨房もじらー ◆Moz2cH0k
NGNG入れてみました。普段は使わないんですけどね(藁
前もあったのかも知れませんが、ツールバーボタンのツールチップに
どのメニューのアイテムか(表示 | 大きくみたいに)
出るようになってるのが(・∀・)イイ!!と思いますた。
フルスクリーンモードは普段使わないので特に感想なし!
Mozilla 1.0.1では新タブボタンがタブバーに付くようなので
Navigator タブはいらなくなるかな。
で、やっぱりアイコンがホスィ。。。
XULアプリはテーマとの兼ね合いが難しいと思った今日この頃。。。
0254デフォルトの名無しさん
NGNGHomeボタンは、レディーメイドで、ヘルプ用に用意されているものですね。
ちなみに、それが既定の Toolbar 用アイコンで、ナビゲータの方は
small ツールバーモードになります。たしか。
>>252
テキストの Larger/Smaller がとても便利です。Navigator Tab ボタンは、
1.0.1 自体に組み込まれそうなので不要になってしまいそうです。と、253 と同じことを感じました、、。
1.0 の API の固定化というのは、ベースの部分なので、
フロントエンドは 1.0.x でも結構変わるのではないかなあ、と予想してます。
(でも、1.0.1 以降は大幅には変わらないような予感です)
Show/Hide の縦表示が長いので、これは Scroll ボタンを付けたほうが良いかな、
と思いました(XGA だと全部見えない)。
個人的には、ブックマークは、ContextMenu Extentions のコンテクストメニューからがベストかな。フルスクリーンはたまに使うほうなので、良いです。リストアするときも同じボタンでできるのですね。
ワンクリックアクセスで制御できる部分に絞ると他と棲み分けできて良いかも、とか、ツールバーではなくて、フロートにしてしまったほうが面白いかも、と勝手なことを考えました。
テーマとの兼ね合いが難しいところってどういう点でしょう?
自前で用意することもできますよね?
[Print Preview] にワンクリックで行けるのも結構便利です。
思ったのですが、[back][forward][reload][stop] も組み込んで、
[open URL] も一応組み込むと、テキストオンリー的な使い方も出来て良いかも知れないです(メインのツールバーが無くても、ナビゲーション出来るようにしてしまう形)。
連続書き込み失礼。
と思いました(XGA だと全部見えない)。
すいません、Moz を再起動したらちゃんと出てきました。
自前で適当に弄ったもので少し実験していたからかも知れないです。
0259252
NGNGども。
ツールチップの大項目は、
単品ではわかりにくそうなメニュー項目だけに付けてます。
「Navigator タブ」は、次期バージョンでデフォルトから外します。
アイコンが課題ですね。少し遊んでみます。
0260252
NGNG好意的な評価とコメント、ありがとうございます。
> フロートにしてしまったほうが...
いや、確かに面白いのですが、力量が伴いません。(藁
Piro さんのフローティングサイドバーを研究してみます。
> テーマとの兼ね合いが難しいところ...
アドオン作者側としては、ユーザーがどんなテーマを使用しているか
がわからないので、
自前のアイコンとユーザーが使用しているテーマとが
ミスマッチするとイヤ、という点があります。
全てのテーマに、メニュー項目に対応したアイコンセットが準備されている、
と言うのが理想なのですが。
> テキストオンリー的な使い方も出来て...
冗長度120%アップ(当社比)ですね。
これは比較的簡単なので、要望が多いようなら追加します。
Bugzilla に乱入する勇気がわいてきました。
これから逝ってきます。
不要なアドバイスかも知れませんが……
関数で最近アクティブだったNavigatorウィンドウを取得するようにして、
oncommand="navWindow().addBookmarkAs();"
とかすれば、フロート化したウィンドウからそれぞれの機能が使えます。
あとは、別ウィンドウ時はノッチを隠すとか、そんな感じでどうでしょう。
0262260
NGNGコメントありがとうございます。
> 不要なアドバイスかも知れませんが……
XUL 初心者に不要なアドバイスは存在しません。(藁
厨な質問で恐縮ですが、
> 関数で最近アクティブだったNavigatorウィンドウを取得する...
http://www.cc-net.or.jp/~piro/xul/tips/x0001.html
で良いのでしょうか?
> 別ウィンドウ時はノッチを隠す
「ノッチ」って何でしょう? タイトルバー?
>http://www.cc-net.or.jp/~piro/xul/tips/x0001.html
なんか……今見たら、途中でドキュメントが混ざっちゃってますね(汗)
まあともかく、nsIWindowMediatorを使ってnavigatorのウィンドウを取得するという話です。
ただ、Moz1.0からはクラスの登録名が変わったのか何なのか、1.1くらいになるとこれだとエラーになります。
if (Components.classes['@mozilla.org/appshell/window-mediator;1'])
var WINMAN = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator);
else
var WINMAN = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService(Components.interfaces.nsIWindowMediator);
Moz1.0以降でしか動作させないなら、条件分岐させずに前者で決め打ちしちゃってOKではないかと。
あと、ノッチじゃなくて、グリッピーでした。ツールバー左端にあるアレです。
http://www.cc-net.or.jp/~piro/xul/tips/x0019.html
0265超ぉ〜Anne
NGNGワシ忙しくてなんもできん・・・
とりあえずネタフリでもしておきますと、誰か script debugger の
使い方分かる人いらはりませんかね?
#次ここを見られるのは何日後だろう・・・
Venkman のこと? < script debugger
http://www.mozilla.org/projects/venkman/venkman-walkthrough.html
の Venkman Test Drive 以下見たりしてやったこと
1. mozilla -venkman で起動する。(こうしないとデバッガモジュールがロードされない)
2. メニューの [Window] - [Moz2ch] とかで XUL App 起動
(contextmenu extention なら [Window]-[Navigator] とか)
3. 左上から二番目のソースリストからデバッグしたい js ファイルを選ぶ
4. 右上のソース表示画面で[-]をクリックするとブレークポイントが設定される。
5. いっぺん Moz2ch ウィンドウを閉じて[Window] から再度起動すると
ブレークポイントで止まる。
6. Step 実行させて prop this とか 右下のプロパティツリーで変数など
確認する。
これで Moz2ch とか Contextmenu-Extension の処理の流れを見たりしたんだけど…
・プロパティツリーの見方とかわしもよくわからん。
・App ウィンドウ何度も開いたり閉じたりしてるとばんばん落ちる(ぉ
・Mozilla 1.0 だと[Window] メニューがない。
open-dialog コマンドで chrome://... 指定すればいけそう。
・Mozilla 1.1b で 1.(mozilla -venkman) しなくてもよくなったのかな?
http://www.hacksrus.com/~ginda/venkman/faq/venkman-faq.html
見てくれ。
こんなんでどぉ?
0267デフォルトの名無しさん
NGNG0268厨房もじらー ◆Moz2cH0k
NGNG漏れが知ってることしか書いてなければ必要ないし(藁
書籍というのは、得てして「最新」でありにくい、というのもあるしね。。。
XULプログラミングは動きが激しいから。
0269デフォルトの名無しさん
NGNG0270厨房もじらー ◆Moz2cH0k
NGNG作者さんが今忙しいみたいなんで(>>265参照(藁
今は動きがないですが
時間ができたらまた弄るんじゃないですかね
漏れにはわからないけど。。。
0271デフォルトの名無しさん
NGNG一度上げておきましょう
0272デフォルトの名無しさん
NGNG0273今日 XUL の存在を知った奴
NGNG再起動せずに制作中の XUL を更新する方法が分からない。「chrome の
キャッシュを無効にしろ」という記述があったが設定が見つからない。
良い方法を教えて下さい(毎回再起動じゃ実験にならん)
あと、XUL を使って、どのページ閲覧中でも強制的に最上位に描画を
するような物は作れるんでしょうか。具体的に言えば「ブラウザ内に
常駐デスクトップアクセサリ(マウスカーソルを追いかけるやつとか)
を作ることが出来るのか?」ということなのだが
Preferences > Debug > Events
Mozilla1.1などのマイルストーンビルドでは項目が隠されているので要注意。
prefs.jsを直接いじるなら、 "nglayout.debug.disable_xul_cache" を有効にして下さい。
ウィンドウの最前面表示は、window.openDialogでフラグに ",alwaysRaised"を加えれば可能です。動的な変更はできませんが。
作れるウィンドウの形は矩形に限られるので、アクセサリの作成には向いてないと思います。
一つのウィンドウ内で動作させるだけで良ければ、<image>をCSSのポジショニングを使って配置するとかすれば実現可能かと。
0275273
NGNGなるほど、だから無いんですね
>prefs.jsを直接いじるなら
このファイル自体ありませんね(Mozilla1.1)。grep しましたが
nglayout.debug.disable_xul_cache の設定をしている js ファイル自体
見つかりませんでした。そこで
default/pref/all.ja の最後に
pref("nglayout.debug.disable_xul_cache", true); という記述を追加
してみたところ、キャッシュが無効になりました。これで色々実験が
出来ます
>動的な変更はできませんが
うーん、残念
>ウィンドウ内で動作させるだけで良ければ
それは作ってあるので、これが Mozilla に常駐出来たら面白いかなと
思ったんですけどね
0276デフォルトの名無しさん
NGNG誰か理由が推測できる人、解説キボン
0277デフォルトの名無しさん
NGNGあー、なんとなくわかった
prefs.jsはもじらのインストールディレクトリ下ではなく、
プロファイル関係のディレクトリに入ってるんだが。
0278デフォルトの名無しさん
NGNG親ディレクトリ等が隠されている場合、prefs.jsなどの中身のファイルも見えなくなるようです。
0279273
NGNG再度探したところ、
C:\WINDOWS\Application Data\Mozilla\Profiles
の下のユーザー名の下の zlbi7tjz.slt というディレクトリ
(なんじゃ、この名前は)にありました。Mozilla は D ドライブに
インストールしてたので気づかなかった。ってゆーか、勝手にこんな
所にデータ作ってるとは...
# ってゆーか、その前に Windows 版だって書いてませんでしたね。失礼
# しました。
ちなみにここの pref.js にも xul cache の設定は無かった。自分で
書く必要がありそうです。試してませんが。
0280デフォルトの名無しさん
NGNG変な名前のディレクトリを作るのは、セキュリティのためだそうです。
隠し設定は元々の設定ファイルには記述されていないので、大概は自分で書く必要があります。
0281デフォルトの名無しさん
NGNGIEやOEなどもこの方法をとってる。さらに言えばdoc/viewモデル。
シリアライズされたデータは実行ファイルとは分けて考える。
pref.jsにない項目をいじる場合、user.jsファイルを追加して
そこに書きこむと反映される(pref.jsにコピーされる)、だったかな。
0282デフォルトの名無しさん
NGNGxpfe/components/find/resources/finddialog.jsも書き換えたいな…
0283デフォルトの名無しさん
NGNGに行けないよぉ。鯖落ちしてるだけならいんだけど。
0284超ぉ〜Anne
NGNG鯖落ちですスマソ。ここ数日ずっと落ちてるみたいです。
ただ、当方現在(って何箇月前からだよ(涙))多忙につき、引越し先を
探してる暇がないんです・・・
# 「そのくらいあるだろ」と言われそうですが、なかなか・・・
>>282
勉強不足で申し分けないんですが、それ何ですか?
ちょいとディレクトリ掘ってみたけど見当たらず・・・
ついでにphoenixでproxy設定が出来ないんでproxybarを付けようと思ったら
何故かOverlayを読み込んでくれない模様。何か変わったんですかねぇ?
誰か何か知ってたら情報キボンヌ。proxyさえクリアできればphoenix常用なんですが・・・
# 当方ノートで場所毎にproxyが違うんでpref.jsいじるのはちょっと勘弁
0285283
NGNGphoenix は変わったっつーか、navigator.jar がなくなって browser.jar に、
toolkit.jar 内が大幅に変更されてる様子。navigatorOverlay.xul もなくて
browser.jar!/browser.{xul.js} に全部書いてあるっぽいんでそっちに
Overlay すればいいのかな?全部書き換えないと無理っぽい肝
0286デフォルトの名無しさん
NGNG隊長、findbar発見しました!
ttp://rh.vinelinux.org/~shom/moz/
0287超ぉ〜Anne
NGNGまさか利用者がいるとは思っていなかったっす(w
どうもご利用ありがとうございます。ヘタレなブツでスマソ
なんでしたらテンポラリなメアドでも教えて頂ければお送り致しますが・・・
navigatorOverlay.xul は overlayinfo にも書いてあるし、comm.jar にも入ってる
んですが、もしかして使われてないんですか!?
それならproxybarも呼ばれないの納得ですわ・・・
さてどーすべぇか・・・
>>286
そんなのもあるんですね。
名前が被るとどーなるか分からないんで恐くてインストールしてないんですが、
ソース見た感じではツールバーで同じ事してるっぽいですね。
個人的にはステータスバー派なのですけど、>>283 氏も別にステータスバーに
こだわらなければこちらでもよろしいのではないかと。
0288超ぉ〜Anne
NGNG昔取ったまま何も使ってなかった垢発見しますた(藁
とりあえず再利用ってことでここに置いておきます。
よろしければどーぞ。
0289デフォルトの名無しさん
NGNGまぁ、Phoenixはnavigatorのコードを全部捨てて(XULレイヤで)ゼロから作り直してるわけですから、navigator用のアドオンは全滅と考えておいた方がいいかもしれません。
0290デフォルトの名無しさん
NGNGhttp://www.xulplanet.com/
Preferences Toolbar も大幅アップデート!
http://www.xulplanet.com/downloads/prefbar/
・・・でも、腰を据えて弄りまわす時間的余裕が無い・・・。
0291超ぉ〜Anne
NGNGいのコードっぽいですなぁ。しょーがないから自分用browser.xulに書き変えてちまったぃ。
これで快適じゃ…ってアップデートするたんびにこんなことするのメンドクセェな…
0292デフォルトの名無しさん
NGNG> ちょいとディレクトリ掘ってみたけど見当たらず・・・
間違えて、1.0rc1のsource読んでた…
見つからなかった時のdialog windowがウザイので、
./xpfe/communicator/resources/content/findUtils.jsの
> gPromptService.alert(window, gFindBundle.getString("notFoundTitle"), gFindBundle.getString("notFoundWarning"));
を何とかしようと思っている。
0293デフォルトの名無しさん
NGNGメールボムかも〜ん
0294デフォルトの名無しさん
NGNG通報しました
0295デフォルトの名無しさん
NGNGhttp://downloads.mozdev.org/
0296デフォルトの名無しさん
NGNGl h「¬| どいてどいてぇ〜。
/ ̄ ̄\__,ト、々/____
/ /-∧i. / jテ、 f ̄ヨ
/ ./293) / / /.il iー――‐u' ̄
./ /ー'' / / / / l l
i' / l ヽ../ レ' l l
. / _/ \ !、 lヽ____」 l
. !、/ \. \ \lN =口= ト./
ト、__\/ト、/ト、 y l
l  ̄( )y ) /l i
l l Y''/ー' / .l l
!、 l l./ / l l
/ / l/ ,/ i' l
/_ ./l l`ー‐〈 ト.__」
L_``^yト._」、ー" `ヽ_」
`ー' `ヽ_」
0297デフォルトの名無しさん
NGNGがOpen Public Licenseで読めるようになってるみたいなので
参考にするひとはどぞー
http://books.mozdev.org/index.html
0299デフォルトの名無しさん
NGNGMozilla の アドオンを Phoenix でも動作させる
http://ryuzi.dyndns.org/mozillazine/view.php?articlenum=2524
http://www.mozillazine.org/weblogs/hyatt/extensions.html
非常にあっさり。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGそれらを全て(将来的にはボタン押下毎にURLを上から5つ程度)
新規タブで開くという機能を追加したいのだけれど
実現方法に悩んでいます。できればアドバイスください。
XULを使用してMozillaと関係ないアプリと通信する方法はあるでしょか。
あるいは他の選択肢を選んだ方がいいでしょか。思い付いたのは↓3つ
・DDEのWWW_OpenURL→既存ウィンドウの選択中タブに表示される
・XUL→XPCOMはMSのCOMとはどうも別物っぽい(?)
・SideBar→実態はHTMLらしいので自分で更新して実現できる、か?
#スレ違いだったらスンマセン
0302デフォルトの名無しさん
NGNGwindow.argumentsで引数が取得できますから、
navigatorではない別のダミーの(ウィンドウを生成しないような)XULアプリを経由してメッセージを送るとか、そんなのは駄目でしょうか。駄目ですね。
0304デフォルトの名無しさん
NGNG実際やるなら、流れとしてはこんな感じでしょうか。
NativeApps > "mozilla.exe -chrome chrome://receiver/content/ %1" で、
receiver.xulの中で
var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var nav = windowManager.getMostRecentWindow("navigator:browser");
if (nav) nav.getBrowser.addTab(window.arguments[0]);
else window.open(window.arguments[0]);
window.close();
みたいな。
ちなみに、最近のNavigatorは'\n'区切りのURLのリストを渡すと全てタブで開くようになってます。
0305訂正
NGNG0307デフォルトの名無しさん
NGNG念のため書いとくと、Navigator起動時の引数の話ね。
0308デフォルトの名無しさん
NGNGマルチプラットフォームには難しいか。
あ、最初に他のブラウザを登録させればいいのかな。
このくらいならステータスバーでも邪魔にならないでよさそう。
問題は作り方がぜんぜんわかんないことなんだけどね。
|_・) 物欲しげな目でちらっ
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGContextMenu-Extensionsからパクればよいのでは
0311デフォルトの名無しさん
NGNGその手が、って開いてみたけど・・・。
チュートリアルからやり直してみる。
0312デフォルトの名無しさん
NGNG2chブラウザを作るとなると全部JavaScriptってのは逆にしんどくありませんか?
0313301
NGNG1つのURLを開く事はできるんだけど、肝心の2つ以上がちと。
\nという文字列で区切ったりキャラクタコードの10,13,13+10で
区切ったり色々試したけどなんか駄目ですた。
Netscape/7.0@Gecko/20020823 使ってるんですが…
ひょっとして、最新Mozillaじゃないと駄目すか?
0314デフォルトの名無しさん
NGNGその通りです。
Mozilla1.2b以降の機能です。
0316デフォルトの名無しさん
NGNGonclickはなんと書けば良いのでしょうか。全然わからない。。。
0317デフォルトの名無しさん
NGNGgetBrowser().addTab("view-source:" + getBrowser().contentDocument.location.href)
こんなんかな
0318デフォルトの名無しさん
NGNGlocation.hrefよりgetBrowser().currentURI.specの方がいくない?
気分的にだけど。
0320デフォルトの名無しさん
NGNGを読もうと思ったら404なんですけど、うちだけでしょうか?
他にチュートリアルの邦訳を提供しているサイトってありますか?
0321デフォルトの名無しさん
NGNGhttp://xul-app.hp.infoseek.co.jp/
ここが、「やろうとしている」のは知ってる。
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGhttp://xul-app.hp.infoseek.co.jp/xultu-janit/
もしかしたらどこか欠けてるかも知れないけど
例のサイトを保存しておいてます。どうぞ
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNGhttp://books.mozdev.org/chapters
を訳しませんか?
0329デフォルトの名無しさん
NGNGさぁ、はじめよう
君ができるだけ早くアプリを作れるよう、このチャプターでは2つの
"Hello World" の例を示そう。
最初の例はブラウザウィンドウにロードされるシンプルな XUL
ファイルだ。この例はスタイルシートや Java スクリプトの関数を
XUL ファイルに追加することで拡張することができる。
第二の "hello World" の例はどうやってこれらのファイルをパッケ
ージにするかを教えてくれる。これらはモジュールになっていて
Mozilla アプリケーションや新しい Mozilla モジュール
を作るのにぴったりだ。
これらの例は Mozilla アプリの開発について検討するための背景
を提供してくれる.
最初の例は基本的なファイルの作成と編集に焦点をおいている。
第二の例はMozillaアプリの構成と配布に焦点をおいている。
0330デフォルトの名無しさん
NGNGに XUL の簡単な例を示す。
この小さな例は イベントハンドラの利用やウィンドウ内のレイアウト
のためのボックスなど XUL プログラミングにおけるいくつかの重要
な面を示している。また、この例はファイルフォーマット、ネームス
ペース、XULプログラミングにおける習慣などの言語についての一
般的な。。。を教えてくれる。
エディタを使って Example 2-1 を hello.xul という名前で保存し、
Mozilla で開いてみよう。ブラウザウィンドウの左上角にボタンが
見えるだろう。ボタンをクリックするとアラートボックスが表示される
はずだ
Figure 2-1 に表示されるアラートポップアップウィンドウを示す。
次のいつくかのセクションでこの例について詳細に説明しよう。
ファイルそのものやマークアアプの文法、XUL のネームスペース、
XUL ファイルの基本的なレイアウトについて解説する。
0331デフォルトの名無しさん
NGNG別スレ立てるかサイト作りたいけど一人で続けるだけの体力がない。
0332デフォルトの名無しさん
NGNGExample 2-1: Hello xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box align="center">
<button label="hello xFly" onclick="alert('Hello World');" />
</box>
</window>
0333デフォルトの名無しさん
NGNGExample 2-1: Hello xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box align="center">
<button label="hello xFly" onclick="alert('コンニチハ セカイ');" />
</box>
</window>
0334デフォルトの名無しさん
NGNG例 2-1: コンニチハ xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box align="center">
<button label="コンニチハ xFly" onclick="alert('コンニチハ セカイ');" />
</box>
</window>
0335もくじ
NGNG目次
[chapter 00]: はじめに
[chapter 01]: プラットフォームとしてのMozilla
[chapter 02]: Getting Started
[chapter 03]: XUL要素とその機能
[chapter 04]: MozillaアプリケーションのCSS
[chapter 05]: Mozillaのスクリプト
[chapter 06]: パッケージングとアプリケーションのインストール
[chapter 07]: XBLによるUIの拡張
[chapter 08]: XPCOM
[chapter 09]: XULテンプレート
[chapter 10]: RDF, RDFツール, 内容モデル
[chapter 11]: ローカライズ
[chapter 12]: リモートアプリケーション
[Appendix:A]: Mozillaのソースの入手とビルド
[Appendix:B]: 開発ツール
[Appendix:C]: プログラマのためのリファレンス
[resources] : リソース
[corrections]: 訂正
03360章
NGNG[PREV][TOC][NEXT]
はじめに
MozillaはただのWebブラウザではありません。Cascading Style Sheets (CSS),
XML-based User-interface Language (XUL) や eXtensible Binding Language
(XBL)、Resource Description Framework (RDF)などのXMLアプリケーションなど
の標準技術を用いてクロスプラットフォームなアプリケーションを作成するため
のフレームワークでもあるのです。
MozillaのレンダリングエンジンのGeckoは、XPConnectやXPCOM、Mozillaのコン
ポーネントモデルなどの他の技術とともに、このフレームワークの一つとして働
きます。また、Mozillaの開発環境はJavaScript, C++, C, Python, IDLなどのプ
ログラミング言語も使用します。
Mozillaのフレームワークは、MozillaをベースとするNetscapeのブラウザ
(Netscape 6.xや7.x)、GaleonやChimeraなどの他のブラウザ、ChatZillaや
JabberZillaなどのチャットクライアントにも使われます。また、アプリケーショ
ンの開発者は、Mozillaを開発ツールやブラウザ自体の拡張機能、ゲーム、その
他のアドオンを作るのにも使います。
この本は、Mozillaでどのようにしてアプリケーションを作るのかを説明し、
Mozillaの強力なクロスプラットフォームの開発環境を使ってあなたがプログラム
を作るための手順をステップアップ形式で提供します。また、他の既存のアプリ
をMozillaによる開発の可能性のデモンストレーションのために例として含んでい
ます。
03370章
NGNGNetscape Communications社(以下Netscape社)が設立された時、Netscape社は、
当時インターネットへのアクセス用に一番普及していたNCSA Mosaicよりも、優れ
たブラウザを作ることを計画しました。この新しいアプリは「Mosaicキラー」とな
るものでした。そうこうするうち、このフレーズは「Mozilla」と略されるように
なり、Netscapeのブラウザのコードネームとなりました。
MozillaはNetscapeの製品一つの代名詞となりました。そして1998年3月31日、
http://www.mozilla.org/はNetscapeの次世代のCommunicator 5.0ブラウザ環境を
開発するためのサイトとして発足しました。この時点で、Mozillaはオープンソー
スのプロジェクトとなり、Netscapeでの起源を越え、独立した存在となりました。
NetscapeがCommunicatorのソースコードをオープンソースのコミュニティへ公開し
た時、それは前例のない行為でした。有名なソフトウェア企業で自社の商品のソー
スコードを公開したところは、それまでまったくありませんでした。この時、この
ことは、多くのソフトウェア業界の人々や報道関係者の間で議論を呼びました。
多くの企業が、Netscapeに続いて、彼らの製品をオープンソースコミュニティへ公
開しだしました。サン・マイクロシステムズはhttp://www.openoffice.org/ や
http://www.netbeans.org/などを含むいくつかのプロジェクトに資金援助をしまし
た。アップル社も、新しいOSの核となる部分を、Darwinと呼ばれたオープンソース
のプロジェクト(http://developer.apple.com/darwin/)を元に開発しました。
03380章
NGNGMozillaのソースコードが公開されて1年後、Netscapeの古参の経営者の一人である
Mike Homerはこんな風にコメントしました。「MozillaはNetscapeよりも大きく、
そしてそれがMozillaの意義です。Mozillaは本質的に、ある一つの商業的な存在に
よって後援される共同のプロジェクトです。mozilla.orgのスタッフの中には
Netscapeの社員の人もいますし、提供されたソースコードは以前はNetscapeが所有
していました。しかし、そのソースコードがいつかそれ自身独り歩きするようにな
るだろうというのは真実です。」
このプロジェクトが始まってから、多くのNetscape(今ではAOL)の社員がその進
歩に協力したのは事実ですが、多くのNetscape社外の人々もこのコミュニティに参
加しました。Mozillaコミュニティは元々のmozilla.orgを超えるものに成長しつつ
あります。また、Mozillaの支持するニュースサイトのhttp://www.mozillazine.org/
や、Mozillaのアプリケーションのプロジェクトを擁するhttp://www.mozdev.org/
など、他の有用な情報を提供するコミュニティも生まれました。
IBM, Red Hat, AcitveState, サン・マイクロシステムズなどの企業もMozillaのコ
ミュニティに協力しています。例えばRed Hatは、それまで彼らのLinuxディストリ
ビューションに含まれていたクローズドソースのNetscape 4.xブラウザ環境に対し
て、オープンソースのソフトウェアの選択肢を与えるために、Mozillaのサポート
を提供しています。AOLも、最新のコンピュサーブのクライアントやAOLのクライア
ントでのMozillaの利用を研究しています。
Mozillaの全ソースコードは、興味を持っている人なら誰でも入手することができ、
それ故にMozillaコミュニティは、バグ報告や修正パッチ、新しい開発者の増加な
どの利益を得ています。Mozillaがオープンソースのソフトウェアとして最初に公
開された時からプロジェクトに関係していた人々とともに、コミュニティに参加し
た新しい人たちや企業が、Mozillaプロジェクトの方向性や成果を形成するのに協力
しました。
■ このスレッドは過去ログ倉庫に格納されています