[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 07/09 07:25 / Filesize : 76 KB / Number-of Response : 251
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Mozillaでプログラミング(XUL)



1 名前:Moziller [02/04/25 12:12]
ム板住人のうちMozilla使ってる人は何%くらいかわかりませんが、
Mozilla 1.0 RC1がリリースされ、
XUL 1.0の仕様が一応フリーズしました。
なので、そろそろXULアプリケーションも出始めることでしょうし(希望的観測)
MozillaでのXULプログラミングについて騙りませんか。

Mozillaスレッド M10
pc.2ch.net/test/read.cgi/software/1019550671/


195 名前:デフォルトの名無しさん mailto:sage [02/06/30 02:17]
ユーザープロファイルが入ってるフォルダのパスってどうやって取得するんでしょう?
そこに設定ファイルや個人のtempファイルを置こうかなーと思ってるのですが。


196 名前:デフォルトの名無しさん mailto:sage [02/06/30 02:38]
>>195
Piroさんのウェブページで解説されてたと思うよ。

197 名前:デフォルトの名無しさん mailto:sage [02/06/30 02:46]
>>196
おぉ!本当だ!すんばらしい!

198 名前:デフォルトの名無しさん [02/07/01 00:12]
2ch用ブラウザを使っていないので2ch用の各ブラウザが
どうやってるのかは知らないのですが、例えば取得したdatファイルを
HTML化して表示するには、一度ローカルに書き出してからそのローカルファイルを
ロードするという方法が常道なのでしょうか?
Moz2chもそうしてるようですし。

199 名前:デフォルトの名無しさん mailto:sage [02/07/01 00:17]
普通はそんなことしないよ
必要以上にディスクIO増えて遅くなるだけ

200 名前:デフォルトの名無しさん mailto:sage [02/07/01 00:19]
先に保存しておけば、保存し忘れるということはない。
例えクラッシュした場合でさえ。

201 名前:デフォルトの名無しさん mailto:sage [02/07/01 00:19]
普通はどうやるんでしょうか?

202 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/01 00:32]
>>198
2ちゃんねる→Moz2ch→ログを保存
        ↓
       データを処理
と並行してやってる。
Moz2chは、一応データを処理してからログに吐き出すようにしてるから
ローカルに書き出してからロードするというようにはしてないよ。
2回目以降はログ読み優先にしてあるから、ログ読みに逝くけど。

203 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/01 00:34]
ちなみに、漏れの記憶が正しければMonazillaスレの初期のものは
一旦ローカルにデータを落としてから、
いろいろ弄るような形式になってたと思われ。
当時はDAT直読みができなかったから、データ解析が大きな処理で
データのダウンロード、保存とは分けて考えたかったからだと思う。
違ったらスマソ。ツッコミよろしく。



204 名前:201 mailto:sage [02/07/01 01:16]
>>202
んー、すいません。どこでデータ処理してるかわかりません。
教えていただけないでしょうか。
moz2chSure.writeEnd()でHTMLソースの作成が完了して、
f.write(this.html);でmoz2ch.htmlというローカルファイルに
書き出して、
document.getElementById("sureBrowser").loadURI(f.URL,
 Components.interfaces.nsIWebNavigation.LOAD_FLOAGS_NONE);
でそのmoz2ch.htmlをロードしている、と思っていたのですが、
データを処理(変数内のHTMLソースを直接表示)するのはどこで
やっているのでしょうか?

205 名前:199 mailto:sage [02/07/01 01:21]
あーごめんちょっと勘違いした。

ローカルに保存した.datをHTMLとして出力する時に、テンポラリファイルとして
.htmlを作るようなことは普通しない、という意味で書いた>199

206 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/01 01:29]
>>205
読み違えてた。スマソ。。。
普通は.htmlを作ることはないと思いますが、
Moz2chでそうしているのは
JavaScriptにはスレッドがないので(多分)
document.write()などJavaScriptのメソッドで
連続して大量のデータについて重い処理をすると、
固まったようになっちゃうので、
暫定的にファイル書き出し、読み込みするようにしています。

データを溜め込むバッファみたいなのを用意しておいて
setTimeoutなどで定期的にバッファを処理するようにしてやれば
うまくいくような気はしてるんですが、今はネットワーク周りと
基本的な設計とか構造に関することが気にかかってるので
そのあたりは後回しです(汗

207 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/01 01:31]
ちなみに、差分getをサポートしたら、
逐次レンダリングをしようと考えてるんだけど
そのときにもう少し効率のよい描画方法として
上の方法を試そうと予定しています。

208 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/01 01:33]
話の流れ上ここで話しちゃったけど
>>179

209 名前:201 mailto:sage [02/07/01 01:54]
Moz2chでは一時的に.htmlを書き出してからそれをロードしてるということで
いいのでしょうか?そして、普通は(他の言語で作られている2chブラウザでは)
そのようなことはせずに変数内のHTMLソースを直接表示させてると
いうことでしょうか?

それでこれに関連してもう一つ。
IEコンポでは自分で作ったHTMLを表示させるにはinnerHTMLを使ったり、
ちょっとかっこ悪いですがabout:<html>....</html>をNavigate2に
渡せば表示できますが、XULではどうやるのでしょうか。
.htmlに書き出して表示させる方法しか思いつかなかったので先のような質問を
させていただきました。

210 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/01 02:11]
たとえば<browser>エレメントをdocument.getElementByIdなどで取得して
var browser = document.getElementById("myBrowser");
var doc = browser.contentDocument;
doc.writeln("<html>…</html>");
とやればいけると思われ。
doc.innerHTMLでもいけるかも。


211 名前:デフォルトの名無しさん mailto:sage [02/07/01 03:22]
ユーザースタイルシートのON/OFFを切り替えたり、
適用するユーザースタイルをいくつも登録しておけるようなアプリを作ってください。

212 名前:23 mailto:sage [02/07/01 14:09]
をぉ、>>211 のような小物は漏れ向きかも(藁 ちょいと調べてみようかな。
# 暇があれば・・・


213 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/01 23:11]
漏れの意見としては、Piroさんのコンテキストメニュー拡張に
そういう機能があったような気がするので
あっちを使うか、機能不足ならパッチ送って追加してもらうとか
そういう方向のほうがよさげかと。
似たようなアプリが乱立すると(それ自体は悪いことではないと思うけど)
干渉するというか、そういうことがままあるので。



214 名前: ◆S0qIRC9I mailto:sage [02/07/02 00:24]
userContent.cssで定義されるユーザースタイルは、XPCOMから操作できるんでしょうか?
自分は方法を見つけられなかったんですが……


215 名前:デフォルトの名無しさん mailto:sage [02/07/02 12:54]
>>241

xpcom からと言ってよいのかわからんすけど
userContent.css のスタイルは DOM Inspector から
参照できるです。 その辺りは参考にならんすか?



216 名前:215 mailto:sage [02/07/02 12:54]
>>241宛じゃなくて >>214宛す。

217 名前:デフォルトの名無しさん mailto:sage [02/07/03 21:23]
XUL で遊んでいるんだけど、Javascript がいまいちわかりません。
みなさんは、何を参考にしているんですか?


218 名前: ◆S0qIRC9I mailto:sage [02/07/03 23:39]
>>215
ありがとうございます。確かにそれっぽい処理が行われてますね。
しかしどこがその部分なのかソースを見てもさっぱりわからないという自分の低レベルっぷりが涙を誘います。


219 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/04 11:59]
>>217
漏れは手元にあるJavaScript本(古くてちゃちいやつ)と
developer.netscape.com/docs/manuals/javascript.html
あたりを参照しつついろいろやってるよ。

220 名前:デフォルトの名無しさん mailto:sage [02/07/06 09:09]
217です。

>> 219
厨房もじらーさんありがとうございます。
参考にします。



221 名前:デフォルトの名無しさん mailto:sage [02/07/06 09:58]
XUL 初心者ですが、練習をかねて作成してみました。
カスタムメニューバー
member.nifty.ne.jp/georgei/mozilla/custom_manubar.html

人柱になっても良いという方、テストしてくれませんか?
Nifty が(今の所) .xpi の mime を追加してくれないので、
自動インストールできません。あしからず。

222 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/06 10:19]
>>221
インストールしようとしてみたのですが、インストール中にこけます。
以下はログです。ファイルの場所以外はそのまま載せます。

-------------------------------------------------------------------------------
file:///*****/custommenubar-092.xpi -- 07/06/2002 10:12:33
-------------------------------------------------------------------------------

Custom Menubar (version )
--------------

** initInstall: 0
** ィ鵈 (-214): ウn{2:

Install completed successfully -- 07/06/2002 10:12:33


223 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/06 10:22]
>>222 を見てもわかるように、ファイルがコピーされてないようです。
install.jsの中を見てみたのですが、
おそらくperformInstall()する前にエラーチェックをしてないので、
インストールは成功とでます。

#たいていperformInstall()の前でこういう感じでエラーチェックします。
err = getLastError();
if (err == SUCCESS)
performInstall();
else
cancelInstall(err);




224 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/06 10:31]
改めて見てみたら、addDirectoryしているのに
custombar.xpiの中に入ってるのはcustomebar.jarでした。。。
それでファイルが見つからない(-214)のエラーがでてるようです。
修正したものを一応
xul-app.hoops.jp/moz2ch/custombar/custombar-install-fix.xpi
にageておきますた。

225 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/06 10:43]
で、ちょっと使ってみましたが、メニューから辿る動作がない分
ラクといえばラクですね。ただ、冗長だと思わないでもないです。。。
個人的な希望としてはアイコンが入って、アイコンのみ、
アイコンとテキスト、テキストのみを切り替えられると(・∀・)イイ!!
と思うです。

ところで、ツールバーの区切りは
<label value="|"/>で実現してると思うのですが、
<toolbarseparator/>をなぜ使わないのかが気になる気になる。。。


226 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/06 10:51]
印刷プレビューは、print(印刷ボタン)のポップアップから使えるので
要らないような気がしますが、どうでしょうか?

227 名前:221 mailto:sage [02/07/06 11:17]
厨房もじらー さん。素早いコメント感謝です。
どうやら前のバージョンをアップしていたようです。失礼しました。
差し替えた(つもり)です。
最新版では
<toolbarseparator minheight="16px"/>
で処理してます。

アイコン入れるのは考えたのですが(そのためのツールチップ)、
テーマとの整合性を考えて保留にしてます。

228 名前:221 mailto:sage [02/07/06 11:29]
印刷プレビューの件ですが;
ブックマーク系もパーソナルツールバーやサイドバーに表示できるのに、
付けて欲しい、という人がいたので追加した、という経緯があり、
とりあえず入れてあります。
デフォルトから外しているのはそのためです。


229 名前:厨房もじらー ◆3mOz2Ch. mailto:sage [02/07/06 13:25]
>>227
最新版はまだ試してないのですが、
漏れがいろんなXULアプリを見てきた中で<toolbarseparator/>は
<toolbar tbalign="stretch">
<toolbarseparator label="LABEL"/>
</toolbar>
のように使われてたので、そうすると意図した表示になると思われます。

230 名前:221 mailto:sage [02/07/07 09:02]
>>229
最初は <toolbarseparator/> だけでやってみたのですが、
なぜか空白だけで区切り線が表示されない。
(<menuseparator/> では表示されるのに)
悩んだあげく <label value="|"/> で強引に表示させていました。
同等の表現は、お教えいただいた、
<toolbarseparator label="|"/> でできるかと思いますが、
これまた、他の人に教えていただいた、
<toolbarseparator minheight="16px"/> の方が他の UI と同じ
区切り線がでるので、これで行こうと思います。

231 名前: ◆3mOz2Ch. mailto:sage [02/07/07 17:10]
>>230
>>229 は間違ってました。
重要なのは、<toolbar tbalign="stretch">の部分で、
<toolbarseparator/>
にはlabelは要りませんでした。
Mozilla Messenger(メーラ)のコードはこういう風にしてあったので。

<toolbar tbalign="stretch">
<toolbarbutton label="Button1"/>
<toolbarseparator/>
<toolbarbutton label="Button2"/>
</toolbar>

のようにします。スマソ

232 名前:221 mailto:sage [02/07/08 10:49]
>>231
確認しました。
tbalign="stretch" 入れると、 <toolbarseparator/> だけで
区切り線が表示されました。
次期バージョンに取り入れたいと思います。
いろいろなご助言、ありがとうございます。

ダウンロードページの Contributors に記載してもよろしいでしょうか?
「厨房もじらー さん@Mozillaでプログラミング(XUL) 」とか。
匿名希望も受け付けますが(w

233 名前: ◆3mOz2Ch. mailto:sage [02/07/09 10:35]
>>232
いえいえ、XULプログラミングの発展を願ってます。
Contributorの扱いはそちらにお任せします。
Contributeというほどのことはしてないと思いますけどね(藁



234 名前:デフォルトの名無しさん mailto:sage [02/07/09 15:44]
ネットランナーに、PiroさんのXULアプリ多分全部と、PROXYBARも入ってた...

235 名前: ◆3mOz2Ch. mailto:sage [02/07/10 00:34]
proxybar、さりげに有名に(藁

236 名前:デフォルトの名無しさん mailto:sage [02/07/12 05:23]
>>235
×「さりげに有名」
○「なにげに有名」or「さりげなく有名」

237 名前:≠235 mailto:sage [02/07/13 03:58]
>>236
非常に申し上げ難いのですが
「さりげに」は若者言葉として
既に定着した感のある
形容表現で御座いますが...

238 名前:デフォルトの名無しさん mailto:sage [02/07/13 04:52]
素直に受け止めろ。仲間内だけで使え。

239 名前:厨房もじらー mailto:sage [02/07/13 14:42]
>>236 >>237 >>238
さりげにって普段使うけど
意味は「なにげに」の場合が多いな漏れ。
と、反省させられたので
仲間内だけで使うことにするYo!
ありがd。

そんなことより>>1よ…じゃなくて
そんなことより、このスレでこういう話題しか書き込まれないのがサミスィ
漏れもそうだけど、XULプログラミング一般ってネタ少ないねやっぱり。

240 名前: ◆sX5Fl3bU mailto:sage [02/07/13 18:14]
>漏れもそうだけど、XULプログラミング一般ってネタ少ないねやっぱり。

XUL 一般となるとまだ少ないけど、
pc.2ch.net/test/read.cgi/mac/1019023586/879-886n
の bookmarklet なネタとかも合わせれば地道に増えてる気もする。
ちなみに bookmarklet については
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 = 'www.mozilla.org';
-----------------------------------------------------
こんなかんじ。もっと楽したければ Contextmenu-Extension の
JavaScript TestRun や Custom Script つかうべし。

考えてみると、これ利用すればマクロ実行とかできそうな予感。

241 名前:厨房もじらー mailto:sage [02/07/13 23:27]
>>240
おお、スゴッ
感動した!
複数行表示とか全然知らなかったよ。
JSLibにはスクリプトを読み込むinclude()関数っていうのがあるんだけど
これも使えば、外部JSファイルを追加読みこみしたりできるし
マクロ実行とかできそう。

bookmarkletネタだと漏れは
javascript:resizeTo(640,460);
javascript:resizeTo(808,680);
javascript:resizeTo(1024,748);
とかやって、ウェブページ作成のときに
画面サイズの目安にしたりしてるくらい。。。

全然フツーだな、スマソ逝ってくる。。。

242 名前: ◆sX5Fl3bU mailto:sage [02/07/14 00:46]
>>241
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);
---------------------------------------
及び
lxr.mozilla.org/mozilla/source/js/src/xpconnect/idl/mozIJSSubScriptLoader.idl
こんなもん用意されてたとはっ(当然?)

243 名前: ◆S0qIRC9I mailto:sage [02/07/14 01:29]
>>242
おぉ、そんな機能があったとは。
CustomScriptにも取り込もう……




244 名前:厨房もじらー mailto:sage [02/07/14 02:15]
ファイル読み込みができるんだから(XPCOM使って)
読み込んだファイルの内容を
eval()してやっても同じことができる?とか妄想した漏れはアレゲですか?

245 名前: ◆S0qIRC9I mailto:sage [02/07/14 03:30]
>>244
げふ。もう短縮構文作っちゃいました。後の祭り。


246 名前:厨房もじらー mailto:sage [02/07/15 00:11]
>>245
いや、>>244はネタですた(藁
普通に>>242のほうが早いと思うし、
逝ってみただけです。。。

247 名前: ◆q78mh/0k [02/07/15 04:42]
Deskmod.com に、XUL アプリを置けるカテゴリが作られてるので、
ご報告。カテゴリ名は変わるかもです。(今は mozilla plugin)
www.deskmod.com/?show=showcat&cat_name=mozplug

# 暑い・・・。

248 名前:厨房もじらー mailto:sage [02/07/16 03:54]
>>247
情報マリガトー
Piro氏のFloating Sidebarが入ってるNe!
mozdev.orgはなんかパンク状態みたいだし
もっとリソースがいろんなところに分散されるといいんだけどね
そういう意味では
DeskModはテーマだけ配ってりゃいいって思ったの漏れだけ?

249 名前: ◆sX5Fl3bU mailto:sage [02/07/16 14:28]
>>248
descmod の Floating Sidebar は Piro さんのとは別物よん。

Chatzilla の components/chatzilla-service.js みたいな
コマンドラインに -sidebar オプションつけたり
Mozilla 起動時の初期化とかしてるみたいなんだけどわけわかめ。
使いこなせれば Moz2ch にも利用できるんだろなーと思うんだが…

250 名前: ◆q78mh/0k [02/07/16 19:48]
ツールバーに Home ボタンを追加するアドオン。
ここの方々はアンインストール方法分かると思うけど、
一応、そのページにも書いています。
(overlay 、chrome.rdf 削除と、installed-chrome 編集)
home.no.net/trihand/mozilla/home/en/

Deskmod は、以前から Mozilla 以外のものを配布していたらしく、
何でもあれのような感じもします。
mozdev はどうにかならないものかと思いつつ。
一応、ヨーロッパと米国のミラーがふたつくらい名乗り出てくれたところが
あるらしいので、どうやってミラーリングするシステム組むか、とか
あるのかも知れないです。同時分散できない部分もあるし。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<76KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef