5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Mozillaでプログラミング(XUL) その3

1 :デフォルトの名無しさん:2006/11/27(月) 20:00:38
オラ拡張作る。

XULはXMLベースのUI記述言語です。
Mozilla、Firefox、Thunderbird、Netscape等の
Gecko系のソフトウェアために開発されました。

このスレはXUL、JavaScriptで利用できるXPCOM、
拡張の作り方などを主に話しあうスレです。

前スレ
Mozillaでプログラミング(XUL) その2
http://pc8.2ch.net/test/read.cgi/tech/1102172958/
姉妹スレ
Geckoベースのブラウザを作ろう
http://pc5.2ch.net/test/read.cgi/tech/1023546699/l50

参考サイト
Mozilla Developer Center
http://developer.mozilla.org/
XULPlanet
http://www.xulplanet.com/

過去スレ
Mozillaでプログラミング(XUL)
http://pc5.2ch.net/test/read.cgi/tech/1019704370/

>>2-50あたりに関連リンク、近況などがあるかも。

343 :デフォルトの名無しさん:2009/02/01(日) 01:14:09
ttp://hg.mozdev.org/verbosio/file/cfde69c5c5d1/mozilla/verbosio/core/modules/FileCommon.jsm
こーゆーモジュールをガシガシ書いてもらって標準化してほしいぜ(それなんて jslib
FUEL はいったい何を目指しているのか…このスレを加速させる燃料にもならないぜ…

344 :デフォルトの名無しさん:2009/02/02(月) 17:12:42
FUELはただのラッパだよ。正露○じゃないよ。

345 :デフォルトの名無しさん:2009/02/02(月) 23:53:32
そういえばFirefox 2系が公式にサポート切れたからFUELがんがん使ってももう問題ないんだな

346 :デフォルトの名無しさん:2009/02/03(火) 20:56:31
そういう問題じゃないだろ

347 :デフォルトの名無しさん:2009/02/03(火) 20:58:30
なんで mozcrt19.dll 存在するの?

348 :デフォルトの名無しさん:2009/02/04(水) 00:45:29
malloc を書き換えてるから。詳しくは firefox jemalloc でググれ

349 :デフォルトの名無しさん:2009/02/06(金) 23:52:54
>>348
勉強になったよ

350 :デフォルトの名無しさん:2009/02/10(火) 15:19:59
履歴を表示できるのですが、その表示されたURLをクリックしてもそのサイトに移動しません。
HTML要素を追加したがうまくできないです。誰か教えてください。

351 :デフォルトの名無しさん:2009/02/11(水) 01:24:08
まず質問を他人にも理解できる日本語で書き直してください
次にスレッドタイトルを読み、質問するのに適切なスレッドであったか確認してください

352 :デフォルトの名無しさん:2009/02/11(水) 01:47:41
真性だな、こりゃwww

353 :デフォルトの名無しさん:2009/02/12(木) 00:07:25
StorageのAPI使ってplaces.sqliteから情報を取り出す処理を書いています。
Firefox3.0ではopenDatabaseで新規に接続ハンドルを作る必要があると思いますが、
作った接続ハンドルは用がなくなったらすぐにcloseした方がいいですか?
それとも次回使うときのためにポインタを保持しておいても問題ないですか?

354 :デフォルトの名無しさん:2009/02/13(金) 22:32:58
places.sqlite のDBハンドルを close すると bookmark が追加変更できなくなったりしない?
保持してても問題ないと思う。

355 :デフォルトの名無しさん:2009/02/14(土) 00:59:58
Firefox3.1だとAPIによってハンドルが一本化されているので、
closeするとブックマークが使用できなくなりますね。
ありがとうございました。

356 :デフォルトの名無しさん:2009/02/16(月) 00:17:03
コマンドラインから
firefox.exe -chrome "c:\app.xul"

とすれば単体でXULアプリとして起動できますが
このとき以下のようにxulファイル以外の引数を同時に渡し、
firefox.exe -chrome "c:\app.xul" "hoge" "foo" "bar"

app.xul内でwindow.arguments[n]としてアクセスできませんか?
window.arguments.lengthはなぜかいつも5で、中身は全部nullです。


357 :デフォルトの名無しさん:2009/02/16(月) 03:08:27
っ[ https://developer.mozilla.org/ja/Chrome/Command_Line ]


358 :デフォルトの名無しさん:2009/02/16(月) 12:09:01
>>357
あーまさにこれです。
ありがとうございました

359 :デフォルトの名無しさん:2009/02/18(水) 18:40:51
履歴をツリー状に表示するアドオンもしくはそのようなサンプルプログラム
を載せているサイトを教えてくださるとうれしいです。

360 :デフォルトの名無しさん:2009/02/18(水) 18:48:58
履歴をツリー状にって・・・Firefox自体のコード見たらいいんじゃないの?
サイドバーとかブックマークの管理とか

361 :デフォルトの名無しさん:2009/02/25(水) 04:04:14
-no-remoteで別インスタンスで起動しているウィンドウ間で
データをやりとりする方法ってありませんでしょうか?

362 :デフォルトの名無しさん:2009/02/26(木) 16:24:22
現在開いてるwebページのURLを取得して表示させるプログラムをXULでつくりたい
のですが、何か良い参考サイトやプログラムありませんか?

363 :デフォルトの名無しさん:2009/02/27(金) 02:24:19
Firefoxのロケーションバー

364 :デフォルトの名無しさん:2009/02/27(金) 13:23:47
>361
ソケット通信使うのが正道だと思う

>362
Firefoxのメインウィンドウの中なら
gBrowser.currentURI.specかcontent.location.hrefで
今開いてるページを取れる


365 :デフォルトの名無しさん:2009/03/03(火) 16:36:15
Firefox3で終了なのか再起動なのかはどうやったら判定できますか?

quit-application-granted 時に
終了か再起動かで処理を分岐させたいのですが

366 :デフォルトの名無しさん:2009/03/03(火) 20:53:32
http://mxr.mozilla.org/mozilla-central/source/toolkit/components/startup/src/nsAppStartup.cpp#306
quit-applicationの方のdataで判別できるみたいだよ

367 :デフォルトの名無しさん:2009/03/04(水) 02:01:36
>>366
できました。

本当にありがとうございました!


368 :デフォルトの名無しさん:2009/03/05(木) 14:24:48
ブラウザやwebサイトの読み込み完了時にスクリプトを処理するにはどうすればいいですか?

xulファイルに

window.onload = "aaaa();" //aaa();は作った関数

と記述したのですがうまく動作しません

369 :デフォルトの名無しさん:2009/03/05(木) 15:27:48
>>368
JavaScript本を買って一から勉強し直してください

370 :574:2009/03/05(木) 22:56:18
正解は
window.onload = aaaa;
しかし、この次元で躓いているとXUL関連やFIrefoxの拡張は敷居が高いよ。
まだまだマニュアルや情報源の情報源の十分に整備された世界ではないから…


371 :デフォルトの名無しさん:2009/03/06(金) 00:30:14
From: [370] 574 <>
みっ、みらいじんだー。

もしかしたら、これを期に勉強して成長した、未来の>>368が、
自らを叱咤激励するために、書き込んだのか〜?


372 :デフォルトの名無しさん:2009/03/07(土) 19:13:32
nsILocalFileのdirectoryEntriesのgetNext()で取得できる
ファイルエントリの順番って保障されてますか?

373 :デフォルトの名無しさん:2009/03/07(土) 22:24:07
いいえ。

374 :デフォルトの名無しさん:2009/03/09(月) 00:49:43
>>373 ありがとうございます

375 :デフォルトの名無しさん:2009/03/11(水) 09:14:18
Firefox3のProfileManagerに
アドオンから改造を加えることって可能?

376 :デフォルトの名無しさん:2009/03/15(日) 08:50:18
Windowsの自作アプリケーションから、「現在起動中の」Firefox3にクッキーをセットしたいのですが、
どうしたらできるでしょうか?

IAccessible->IServiceProvider->ISimpleDOMDocument->IDOMHTMLDocumentで余裕とか考えていたのですが、
XPCOMがCOMじゃないということに気が付くのに丸2日かけてしまいましたorz
IEばかり使ってきたのでよくわかかりません…

377 :デフォルトの名無しさん:2009/03/15(日) 08:53:29
あっ、XULの話題のスレみたいなので他所行った方がいいのかな

378 :デフォルトの名無しさん:2009/03/15(日) 18:26:38
正攻法だと無理かも。

379 :デフォルトの名無しさん:2009/03/15(日) 18:43:36
IServiceProviderでnsSupportsは取れるみたいなんですが
nsSupports以外の何物でもありませんでした…ダメか…

380 :デフォルトの名無しさん:2009/03/16(月) 12:18:34
>>379
nsSupports.QueryInterfaceしてキャストでいけない?

381 :デフォルトの名無しさん:2009/03/17(火) 15:18:54
ひょっとしてFirefoxのsqliteはメモリ上にデータベース作成できない?

382 :デフォルトの名無しさん:2009/03/17(火) 21:48:18
mozIStorageService.openSpecialDatabase("memory")

383 :デフォルトの名無しさん:2009/03/20(金) 16:04:11
>>382
ありがとうございます。

openDatabase(null)
でもいけるみたいですね。

384 :デフォルトの名無しさん:2009/03/24(火) 04:30:25
nsIFileでファイルのlastModifiedTimeは書き換えできますが
ディレクトリのlastModifiedTimeは書き換え不可なのでしょうか?
必ず例外NS_ERROR_FILE_ACCESS_DENIEDが発生します。

パーミッションは確認しましたし
そのディレクトリを使用中なわけでもありません。

具体的にやりたいのは
新規ディレクトリ、もしくは既存のディレクトリの
lastModifiedTimeを任意の値に変更する
ということです。

385 :デフォルトの名無しさん:2009/03/24(火) 07:44:36
ttp://mxr.mozilla.org/mozilla-central/source/xpcom/io/nsLocalFileWin.cpp#1894
ttp://mxr.mozilla.org/mozilla-central/source/xpcom/io/nsLocalFileUnix.cpp#994
ttp://mxr.mozilla.org/mozilla-central/source/xpcom/io/nsLocalFileOSX.mm#844
実装を見ればどこに原因があるか分かるかも?

386 :384:2009/03/24(火) 10:22:49
>>385
とりあえずわかったことはWindows限定の問題だということです。
Ubuntu8.10とLeopard10.5.2では書き換え可能でした。

Win2000SP4/WinXPSP3/WinVista(SPなし)とWin7で同じく
ディレクトリのlastModifiedTime書き換え試行時に
NS_ERROR_FILE_ACCESS_DENIEDが発生します。

Firefox3.0.7で実行しています。


提示されたソースのほうはC++が書けないので
なんとなくしか理解できず原因を特定するのは難しそうです。

何か試してみた方がよさそうなことはありませんか?

387 :デフォルトの名無しさん:2009/03/24(火) 22:33:16
>>385
ディレクトリの時刻を変更するには、CreateFile()でFILE_FLAG_BACKUP_SEMANTICSを
指定する必要があるが、それがないから無理だな。

388 :384:2009/03/25(水) 00:44:38
>>387
つまりLinux版やMac版ではFILE_FLAG_BACKUP_SEMANTICSがあるけど
Windows版ではそれがないのでディレクトリ更新時刻は書き換え
できないということですか?

なぜWindows版だけそんな仕様に・・・?

389 :デフォルトの名無しさん:2009/03/25(水) 01:34:30
>>388
そういうレベルの話ではない。
更新時刻の変更はOSによってやり方が全然違っていて、CreateFile()云々は
Windows固有のやり方。それに加えて、WindowsではUnixとは異なり、
ファイルと同じ方法ではディレクトリの更新時刻は変更できない。

390 :384:2009/03/25(水) 01:45:04
>>389
なるほど。では結論として、

Windows上のXULアプリからはディレクトリの
lastModifiedTimeは変更できない

と考えて問題ありませんか?

妥協策としてnsIProcessでWindowsアプリをrunして変更する
といった方法で対応するしかないという理解でいいでしょうか?

391 :デフォルトの名無しさん:2009/03/25(水) 10:40:54
興味本位で聞くけどそもそも何故ディレクトリの更新時間を変更したいの?
それって本当に必要なの?

392 :デフォルトの名無しさん:2009/03/25(水) 12:47:18
>>391
2つのディレクトリ間の同期をとる処理を書いています。
それでディレクトリの更新日時まで同期したいわけですが

108 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)