Mozillaでプログラミング(XUL)
■ このスレッドは過去ログ倉庫に格納されています
0001Moziller
NGNGMozilla 1.0 RC1がリリースされ、
XUL 1.0の仕様が一応フリーズしました。
なので、そろそろXULアプリケーションも出始めることでしょうし(希望的観測)
MozillaでのXULプログラミングについて騙りませんか。
Mozillaスレッド M10
http://pc.2ch.net/test/read.cgi/software/1019550671/
0558デフォルトの名無しさん
NGNGそれはこっちのバグじゃないと思うけど、どうよ?
クリーンインストールしても、ブックマークのコンテキストメニューを操作すると、
再現しない?
0559デフォルトの名無しさん
NGNGブックマークのコンテキストメニューでプロパティを見ると、同様の症状になる。
多分来れかナーってのが↓
http://bugzilla.mozilla.org/show_bug.cgi?id=203183
0560山崎 渉
NGNG0561557
NGNG漏れブックマークツールバー使ってないよ(つД`)
0562山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0563デフォルトの名無しさん
NGNGってのもここで質問してもいいですか?
bookmarkletを作って、javascriptをbookmarkに入れられた、成功、
とかやってたんですよ。
で、この勢いでprefbarのbuttonにしようと思ったんだけど、
どうもうまくいかない。
ふと思いついて、document.って書いてた部分を
getBrowser().contentDocument.に変更したら動いた。
でもこうすると今度はbookmarkでは動かない。
これって何故ですか?
もしかして俺、かなり重要な部分を理解していないですか?
0564デフォルトの名無しさん
NGNGwindow.top.document.getElementById("content")になるわけよ。
で、contentってIDを持ってる要素がbrowser.xulに定義されてて、
それが<bowser/>だったり、<tabbrowser/>だったりする。
contentレベルからアクセスできる最上位documentは、chromeレベルから見ると
document.getElementbyId("content").contentDocumentに相当する。
ウェブ上のjavascriptから、chromeを操作されちゃうと気分悪いでしょ?
0565563
NGNGなるほど。
ブックマークとは違うってことなんですね。
見かけ上は似たようなもんなのにな…。
もう一点いいですか?
prefbarのボタンを押すと望みの動作をするようになったのはいいんですが、
これ、ボタン押さないでも勝手に全ページに適用する方法ってないですかね?
厳格なHTMLが好きな人には怒られそうですが、
hr color=がIEのように反映されるようにスタイルを設定するJavaScriptを作りました。
他にも、img altの内容をtitleにも設定する、とかって
全ページに勝手に適用できたら嬉しい人もいそうな気がするんですが、
そんなことはできないんでしょうか?
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG一点目はわからんが
二点目のは piro さんの Popup ALT Attributes
ってのが近いと思うんだけど。
0568デフォルトの名無しさん
NGNGおお。ほんとだ。
bookmarkletとしてだったら自分にも書けるんですが、
なかなかすごい量ですね。
xpiとして動かす部分が大半なのかなあ?
それにしてもXULアプリ作るのって大変そうだ…。
user.jsにこう書けば全ページで自動実行するJavaScriptを定義できるよ、
みたいなのがあるかと期待してたんですが、
そんなものはないからXULアプリ作ってるんですよね、きっと。
>>566
日本語なら、このスレとか。英語なら>>6とか。
0569デフォルトの名無しさん
NGNGCross Platform Installation.
スタイル関連のことなら、userContent.cssをいじるだけで、
大概のことは出来ると思う。
userContent.cssからバインディングすれば、インストールなしで、
スクリプトを動かせるはずだが、試した事は無い。
0570デフォルトの名無しさん
NGNGコンテキストメニュー拡張のカスタムスクリプト機能で何とかなりませんか?
ページごとの自動実行も一応可能ですので。
0571デフォルトの名無しさん
NGNGそーゆーちょっとしたものなら
http://saru.oops.jp/puki/pukiwiki.php?jsActions
http://macroeditor.mozdev.org/
この辺が使える。
0572デフォルトの名無しさん
NGNGコンテキストメニュー拡張もなかなか楽しそうだ。
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGttp://www.xulplanet.com/
ttp://www.at.wakwak.com/~btm/mozilla/xul-hack.html
ttp://www.mozilla.gr.jp/~kazhik/xul/tut00.html
↓おすすめ
ttp://www.google.co.jp/
0577デフォルトの名無しさん
NGNGttp://white.sakura.ne.jp/~piro/xul/tips/x0012.html
とか?
0578デフォルトの名無しさん
NGNGわからないが、とりあえず読んでみることにする。>>576サンクス
0579デフォルトの名無しさん
NGNGXULというのは、XMLによって記述するGUIフレームである。
XULで記述するのはあくまで配置等の大まかなフレームだけであり、
細かいGUIの設定はCSSを使う。
また何かイベントが起きた場合の動作はJavaScriptによって記述する。
一般に、こうしたXULとCSSとJavaScriptすべてをひっくるめてXULと呼ぶようだ。
長所は
・GUIのクロスプラットフォームであり、Mozillaさえあればどこでも同じように動く。
短所は
・最大シェアを持つIEで動かすことが出来ない→結局ユーザがいない
・プログラムをJavaScriptで書かねばならない→厳しいセキュリティ制限がつく
といったところである。
0580デフォルトの名無しさん
NGNGこれは間違い。xpconnectと呼ばれる方法で、C++で書いたバイナリを
javascriptから直接呼ぶことができる。
HD全消去とかは、5行くらいのスクリプトで可能。
スパイウェアなら30行くらいかなぁ。
Mozilla系列はメーラーやエディターもXulで動いてるわけだから、
単純な比較はできんよ。
つっても、メーラーは全く普及してないが。
0581デフォルトの名無しさん
NGNG↑これは既出?
0582デフォルトの名無しさん
NGNGmozilla.orgからもリンク張られまくりだし、
個人的に、この間出た本より分かりやすいと思う。
ただ、XPCOMは微妙にスレ違いだな。
こっちのスレの方が近いかもしれない。
http://pc2.2ch.net/test/read.cgi/tech/1023546699/l50
0583デフォルトの名無しさん
NGNG知らなかった。ありがとう。
でも大まかなアウトラインはあってるんだね?
> これは間違い。xpconnectと呼ばれる方法で、C++で書いたバイナリを
> javascriptから直接呼ぶことができる。
> HD全消去とかは、5行くらいのスクリプトで可能。
> スパイウェアなら30行くらいかなぁ。
でもそうするとセキュリティが心配だけど大丈夫なのかな?
インストールがやたら面倒とか?
JavaScriptしか使わないのであれば安心だけどな。
0584デフォルトの名無しさん
NGNG悪意のあるプログラムは危険って但し書きがでて、
そこさえくぐれば何でもし放題。
そこをくぐらなければ、例えローカルファイルでも、
web上のスクリプトと同じ権限しかない。
>>565でブックマークレットがって嘆いてるのはそのせい。
ブックマークはローカルファイルだけど、
インストールされてないので、出来る事が限られてるから、
XPI(インストール)を使って本格的なのをやろうか、という話。
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNG実装はクロスプラットフォームでなくてもいいんだけどね。
実際にクロスプラットフォームなバイナリは
idlをコンパイルした部分だけだが、それで十分役にたってる。
0587デフォルトの名無しさん
NGNGほかのプラットフォームでは動かないということですか?
逆にいうと、XPCOMを作るときクロスプラットフォームを意識するならば、
Mozillaが出ているすべてのプラットフォームで実装する必要があるんですか?
0588デフォルトの名無しさん
NGNGでも、普通にC++でコーディングすれば、
プラットフォームの違いを意識する必要はない。
COMのいいところは他のCOMをブラックボックスとして使えるところだから、
プラットフォームの違いがクリティカルになりそうな奴、
(waveoutとか、DCとかファイルアクセスとか型のビット数の違いとか)
は、すでに誰かがやってくれてあるので、
いまさらOSに依存する部分を新たに作る方がしんどいと思う。
例えば、xpcomには3Dを扱うオブジェクトがないので、
direct3Dをそのままwrapしたようなコンポーネントを作れば、
確かに、windowsでしか動かないだろう。
でも、OpenGL+glutとかでcomponentを作れば、
他のプラットフォームは何も考えなくても、
ビルドツールが勝手にコンパイルしてくれるはず。
0589デフォルトの名無しさん
NGNG色々詳しく説明してくれてありがとう。
ふーむ。感覚がいまいちつかめないので、
こういうときは実際に作ってみるに限るな。
とりあえずmozillaをインストールせねば。
0590デフォルトの名無しさん
NGNG素晴らしい
ttp://www.linet.gr.jp/~ishida/geckocatp.xpi
スクリーンショット ttp://www.linet.gr.jp/~ishida/xul2.png
素晴らしスギ
0591デフォルトの名無しさん
NGNG1.0っていつの話だ?
0592591
NGNG0593デフォルトの名無しさん
NGNG需要があるか激しく疑問であるが。。。
晒してみる。
0594デフォルトの名無しさん
NGNG申し訳ない。
0595デフォルトの名無しさん
NGNGむ!頂きまつ
0596デフォルトの名無しさん
NGNGなんだかまっさらなプロファイルにインスコすると落ちちゃうみたい。。。
というわけで最新版落としてくださいです。。。
すみません。
0597age
NGNG0598デフォルトの名無しさん
NGNGlxrが微妙に進化してる…。
最初はなんの事かよく分からなかったが、
xpcomの親子ツリーを図解したりしてる。
つーか、http://lxr.mozilla.org/からそこに飛ばされてしまった。
0599デフォルトの名無しさん
NGNGそこはソースじゃなくてDoxygen後のドキュメントみたいだけど?
0600デフォルトの名無しさん
NGNGこれいつからあったんだろ?全然知らなかった。飛ばされないし。
まあソース見りゃ済むからいらんのだけどなあ。
0601デフォルトの名無しさん
NGNGソースの上に継承図がある。
http://lxr.mozilla.org/seamonkey/source/xpcom/io/nsILocalFile.idl
MFCのアレ見たいな感じ。
前回使ったのは1ヶ月ほど前だが、その時にはなかったと思う。
0602デフォルトの名無しさん
NGNGうぉっ!ほんまや。そういうことやったんか。ありがとう。
俺毎日見てるけど気付かなかった。
0603デフォルトの名無しさん
NGNGhttp://unstable.elemental.com/mozilla/ は俺の知る限り2年前にはもうあった。
以前は lxr 各ソースの上のほうにリンクがあっただけだったんだが、
ずーーーーーっとリンク切れしてた。
単に doxygen しただけのもんだけど、
http://unstable.elemental.com/mozilla/build/latest/mozilla//xpcom/dox/interfacensILocalFile-members.html
みたいなプロパティの継承関係とかソースだけだとわかりにくかったんで便利だったよ。
ちなみに mozilla ビルドすると
http://lxr.mozilla.org/seamonkey/source/config/doxygen.cfg.in
の doxgen.cfg 使って自前でも作れるけどね。
0604デフォルトの名無しさん
NGNGttp://cgi29.plala.or.jp/~mozzarel/addon/firebird/custombutton/custombutton.xpi
スクリーンショット。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firebird/custombutton/screenshot_custombutton.png
0605デフォルトの名無しさん
NGNG(*゚∀゚)=3
Toolbar Enhancementsで縦置きツールバー使ってるんで、
縦に並べられるようにできませんか?
0606デフォルトの名無しさん
NGNGuserChrome.cssで、
toolbar > toolbaritem.toolbaritem-custombutton-container{
-moz-box-orient: vertical;
}
を設定すればいいはずです。
効かなければ、!importantを付けてみてください。
toolbar >の部分はもっと絞り込めると思いますけどね。
なんてたって、縦置きなんだし…。
0608デフォルトの名無しさん
NGNGtoolbox[vertical="true"] > toolbar > .toolbaritem-custombutton-container{
-moz-box-orient: vertical;
}
0609デフォルトの名無しさん
NGNGhttp://www.hevanet.com/acorbin/xul/top.xul
0610デフォルトの名無しさん
NGNG拡張を探しても無かったので・・・。
0611デフォルトの名無しさん
NGNGできます。
nsIHTTPChannelを複数(デフォじゃ3個以上は無意味だが)
作ってそれぞれに別のrangeを割り振ればいいんです。
http以外ではどうなるのかよく分からんが…
0612デフォルトの名無しさん
NGNGありがとー^^
0613デフォルトの名無しさん
NGNGこれを受けて、拡張をプログラムファイルの方にインストールするのは
廃止する方針のようですね。
0614デフォルトの名無しさん
NGNGdatasources="rdf:files" ref="file:///c:"
とすると、日本語は文字化けすると思いますが
文字化けを解消させるにはどうしたいいのでしょうか?
環境は、Win me,Firebird 0.7en
0615デフォルトの名無しさん
NGNGたとえば、アドレスバーに、"file:///c:"って打つと、
chrome://communicator/content/directory/directory.xulは
まさに、そのdatasourceをそのrefでみてテンプレから作ってるわけで…
この時点で既に文字化けしてるんだったら、ばぐじら行きかもね。
0616ヽ(゚∀゚)メ(゚∀゚)ノ ◆tRZ80FPU5k
NGNGえと、間違いだったらスマソ
WinMeだったらファイルシステムがFATなので内部文字コードがSJISの為に
文字化けするのかも。。。アクティブディレクトリならUNICODEですよね
身近にMeが無いので確認できんですよ
上記の問題だとすれば
http://www.xulplanet.com/references/xpcomref/ifaces/nsIScriptableUnicodeConverter.html
このへんで対処できるですか?
0617ヽ(゚∀゚)メ(゚∀゚)ノ ◆tRZ80FPU5k
NGNG>>616はガセネタのような気がしてきた。。。
まあ漏れらしいけど。。。
0618デフォルトの名無しさん
NGNGそれに、わざわざ文字列を拾ってコンバーターにかけると、
rdfのありがたみが一挙に薄れるような。
0619614
NGNG文字化けの感じがUTF-8文字をShift_jisで変換しているようだったから
開いているxulドキュメントの先頭にencoding="utf-8"にしたらいいと思ってたんですが
RDFから読み込んだ部分にはまったく反映されないみたいですね。
勉強してきます。
0620デフォルトの名無しさん
NGNG↑というわけで遊んでみようかと思って↓のJavaScript版を書いてみようと思ったんですけど、
http://lxr.mozilla.org/seamonkey/source/netwerk/test/TestServ.cpp
var serv=Components.classes["@mozilla.org/network/server-socket;1"].getService();
serv.QueryInterface(Components.interfaces.nsIServerSocket);
serv.init(80,true,5);
とすると
Exception... "Component returned failure code: 0xc1f30002 (NS_ERROR_ALREADY_INITIALIZED) [nsIServerSocket.init]"
って返ってきてしまいます。
http://lxr.mozilla.org/seamonkey/source/netwerk/base/src/nsServerSocket.cpp
http://bugzilla.mozilla.org/show_bug.cgi?id=92928
も見てみましたがそれらしい記述が見つからないので困っています。
誰かわかるかた居ませんでしょうか。
ちなみにWin98、Moz1.6b: 2003112918trunkで試しています。
0621デフォルトの名無しさん
NGNGvar serverSocket=Components.classes["@mozilla.org/network/server-socket;1"]
.createInstance(Components.interfaces.nsIServerSocket);
serverSocket.init(80,true,5);
ですね。逝ってきます…
0622デフォルトの名無しさん
NGNG最近公開されたRSSニュースリーダーに
ReadOne
http://www.readone.net/
というのがあります。現在はまだInternet Explorerのプラグイン版
しかないそうですが、サポートBBSの以下の書き込みを読んだ限り
ではmozilla版も脈ありのようです。
>なお、作りたいとは考えておりますのでmozillaサイドバー(XUL)の
>開発を手伝ってくださる方がいらっしゃれば比較的近いうちに作成
>できるかもしれません。
私はmozillaもRSSリーダーも単なるユーザーで知識皆無なので手伝いは
無理なんですが、どなたかが開発に参加されてmozillaでRSSリーダーが
一つ増えればいいなあと思います。
0623デフォルトの名無しさん
NGNG最近,XULをいじりたくなって,イロイロと調べてるのですが,
XULのDTDってどこにあるのでしょう...?
もしかして,DTDなんてものはなくて,
XML-Schema とか,他の手段で定義されてんでしょうか???
0624デフォルトの名無しさん
NGNGttp://www.mozilla.org/xulだとだめ?
0625デフォルトの名無しさん
NGNGCSS と XBL の組み合わせでどんどん要素名・属性の追加拡張が可能だから
DTD 書いてもナンセンス、のような感じ。
基本的なものは XUL Tutorial でわかるけど、追加物はソースを見るしかない。
box や menu とかの基本セットについてはあってもいいと思うけど。
0626デフォルトの名無しさん
NGNGttp://cgi29.plala.or.jp/~mozzarel/addon/firebird/bookmarksftp/bookmarksftp0_2.xpi
自分で試してる時、ftpのURLを間違えてブックマークが空になった後、
焦って正しいURLを入れたら、サーバー上のファイルを空のブックマークで
上書きしてしまったよ…
0627デフォルトの名無しさん
NGNG>>626
いつもながら乙
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNGどうだろ。0.7が最新みたいだけど、
あれからリクエストまわりでけっこう大きな変更あったからね。
0630デフォルトの名無しさん
NGNGどうもありがとう。
久しぶりに日本語化してみました。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firebird/bookmarksftp/bookmarksftp0_3_1.xpi
FB0.8の新しいXPインストーラーは、
どういう風なるんだろうね。
0631デフォルトの名無しさん
NGNG将来的にはmozilla.orgのほうで拡張の認証とかするのかな。
0632デフォルトの名無しさん
NGNGUnsignedは古いインストーラーでも出てたけど…
まあ、mozdevあたりかなぁ、やるとすれば。
databaseプロジェクトって今でも人気投票やろうってくらいだから。
0633デフォルトの名無しさん
NGNG0.8 が今日出たばっかりみたい。
http://livehttpheaders.mozdev.org/installation.html#0.8
新しいFBでも動きそうだけど…試してみるわ。
simple URL filter ってなんだろ?
0634デフォルトの名無しさん
NGNGチュートリアルなんかで、使える例題載せてるところってないですか?
やっぱ英語ですか?
0635デフォルトの名無しさん
NGNGやりたがってる人はいろいろ居るみたいだけど…
0636デフォルトの名無しさん
NGNGhttp://www.hevanet.com/acorbin/xul/top.xul
上の圧縮
http://www.hevanet.com/acorbin/xulpt.zip
ソースも見るとけっこういいサンプル。
基本要素は1.0からあんまり変わってないのね。
0637デフォルトの名無しさん
NGNG>609
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGXULアプリを作ったんだけど,需要はあるんだろうか?
0640デフォルトの名無しさん
NGNGむ、ほしい。RSS を変換させたやつを保存したかったり。
0641デフォルトの名無しさん
NGNGはっきり言って完成度は3%にも満たない試作品以下のレベルだけど.
http://tool-ya.ddo.jp/2ch/trash-box/file/20040110181719911.xpi
piro氏やflyson氏のソースからかなり流用しています.
特にinstall.jsなんかrssreaderから丸パクリ.
ついでにアンインストール機能なんてものは無い.
0642641
NGNG0644641
NGNG0645デフォルトの名無しさん
NGNG0646641
NGNG保存ドキュメントが整形して出力されるようになった.
ENCODE_FLAGS_FORMATTEDに気づくまで2時間くらいかかった.
自らの英語力の無さを痛感.
Mozilla Firebird 0.7で使用すると日本語がUnicode エスケープされる.
Mozilla Suite 1.6bだと大丈夫.
0647641
NGNGhttp://xulisyahookup.hp.infoseek.co.jp/
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG何も返さないと思いますが。
html文書をDOMとして得るにはどうすればいいですか?
0650デフォルトの名無しさん
NGNGvar URI =HTMLファイルのURI;
var doc = document.implementation.createDocument('', '', null);
doc.load(URI);
doc.addEventListener('load', docLoaded, false);
function docLoaded {
ここからdocを使用する処理を記述
}
0652デフォルトの名無しさん
NGNG...
var str=httprequestobject.responseText;
var doc=(new DOMParser()).parseFromString(str,"text/html");
alert(doc.documentElement.localName);
うろ覚えだから関数名は間違ってるかもしれないけど…
詳しくはここ。
http://www.mozilla.org/xmlextras/
0653デフォルトの名無しさん
NGNGイベントリスナーは先に追加してほしい。
0654デフォルトの名無しさん
NGNGUTF-16がデフォルト?
それとも、スクリプトやRDFだけUTF-16なのか?
0655デフォルトの名無しさん
NGNGnsStringがUTF-16だからデフォルトはUTF-16なんじゃないの?
0656デフォルトの名無しさん
NGNGhttp://wp.netscape.com/eng/intl/docs/iuc17/browser/slide32.html
0657デフォルトの名無しさん
NGNGお、この図はわかりやすいなぁ。
ありがとう。
■ このスレッドは過去ログ倉庫に格納されています