- 1 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 20:00:38 ]
- オラ拡張作る。
XULはXMLベースのUI記述言語です。 Mozilla、Firefox、Thunderbird、Netscape等の Gecko系のソフトウェアために開発されました。 このスレはXUL、JavaScriptで利用できるXPCOM、 拡張の作り方などを主に話しあうスレです。 前スレ Mozillaでプログラミング(XUL) その2 pc8.2ch.net/test/read.cgi/tech/1102172958/ 姉妹スレ Geckoベースのブラウザを作ろう pc5.2ch.net/test/read.cgi/tech/1023546699/l50 参考サイト Mozilla Developer Center developer.mozilla.org/ XULPlanet www.xulplanet.com/ 過去スレ Mozillaでプログラミング(XUL) pc5.2ch.net/test/read.cgi/tech/1019704370/ >>2-50あたりに関連リンク、近況などがあるかも。
- 331 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:25:18 ]
- パスみえとやらのソースをもらって解析してみればいいんじゃないでしょうか
- 332 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 18:05:05 ]
- quickware.a-quest.com/passmie/about.htm
これか? 右クリックとか D&D にこだわらなければ楽だ。用途にもよるが
- 333 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 19:18:27 ]
- >>331
パスみえを解析してもXULプログラミングは出来ないと思います >>332 D&Dでドロップターゲットを取得するところまでが分かりません 右クリックは使用しません
- 334 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:07:03 ]
- 似たような拡張のコードは見たのか?普通にあると思うけど
- 335 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 11:06:18 ]
- developer.mozilla.org/Ja/DragDrop/Drag_and_Drop
汎用にするとしたらdragendでドロップ位置を取って座標で要素を取得すればいいと思ったけど Firefox 3.0.5で試してみたけどdragendではscreenX, screenYはどちらも0になるので難しそう。 Firefox上で表示されてるパスワード入力欄についてだけパスみえのように動作するアドオンを作りたいのなら こんな感じでどうだろう。 1.draggestureかdragstartイベントで以下の事をやる。 ・application/x-pasumie-targetのような独自の型でデータを登録する。 ・全ウィンドウの全フレームのパスワード入力欄に、この型のデータを受け取るdragdropかdropのイベントリスナを登録する。 2.ドロップ先要素のdragdropかdropのイベントリスナでドロップされたパスワード入力欄を特定して、パスワードを表示させる。 3.ドラッグ元要素のdragendで、全ウィンドウの全フレームのパスワード入力欄に登録したイベントリスナをremoveEventListenerする。
- 336 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 11:08:54 ]
- >全ウィンドウの全フレームのパスワード入力欄に
全ウィンドウの全フレーム だけでよかったスマソ
- 337 名前:330 mailto:sage [2008/12/22(月) 20:42:18 ]
- >>336
今回はまさにFirfox内の要素のみを対象として考えていました 大変分かりやすい解説をありがとうございました
- 338 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:15:35 ]
- コマンドラインのフロントエンドを作ろうとしてます。
nsIProcessだと実行しかできないようですが、 標準出力を拾う方法は無いでしょうか?
- 339 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 21:16:03 ]
- >>338
以前調べた限りでは www.mozdev.org/source/browse/enigmail/src/ipc/ にそういう機能があるらしいけど使ったことがないから何とも言えない。 https://bugzilla.mozilla.org/show_bug.cgi?id=68702 でこれをMozillaに入れるとか入れないとかしているみたい。
- 340 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 00:00:18 ]
- >>339
ありがとうございます。 連休にでも読んでみようと思います。 しかし、標準のままじゃできないんですね…
- 341 名前:デフォルトの名無しさん [2009/01/16(金) 15:03:56 ]
- contentフォルダにsample.xulとsample.jsファイルをいれてます。
sample.jsのプログラムがうまく動きません。他に必要なファイルがあれば教えてください。
- 342 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 04:47:13 ]
- try {
Components.classes["@mozilla.org/browser/sessionstore;1"] .getService(Components.interfaces.nsISessionStore) .persistTabAttribute('hoge'); } catch (e) { } browser.sessionstore.enabled が false のときエラーになると聞いて try-catch したのに どっちにしろ謎のエラーが・・・ ちゃんと pref 見ないとだめか
- 343 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:14:09 ]
- ttp://hg.mozdev.org/verbosio/file/cfde69c5c5d1/mozilla/verbosio/core/modules/FileCommon.jsm
こーゆーモジュールをガシガシ書いてもらって標準化してほしいぜ(それなんて jslib FUEL はいったい何を目指しているのか…このスレを加速させる燃料にもならないぜ…
- 344 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 17:12:42 ]
- FUELはただのラッパだよ。正露○じゃないよ。
- 345 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 23:53:32 ]
- そういえばFirefox 2系が公式にサポート切れたからFUELがんがん使ってももう問題ないんだな
- 346 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 20:56:31 ]
- そういう問題じゃないだろ
- 347 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 20:58:30 ]
- なんで mozcrt19.dll 存在するの?
- 348 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:45:29 ]
- malloc を書き換えてるから。詳しくは firefox jemalloc でググれ
- 349 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 23:52:54 ]
- >>348
勉強になったよ
- 350 名前:デフォルトの名無しさん [2009/02/10(火) 15:19:59 ]
- 履歴を表示できるのですが、その表示されたURLをクリックしてもそのサイトに移動しません。
HTML要素を追加したがうまくできないです。誰か教えてください。
- 351 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 01:24:08 ]
- まず質問を他人にも理解できる日本語で書き直してください
次にスレッドタイトルを読み、質問するのに適切なスレッドであったか確認してください
- 352 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 01:47:41 ]
- 真性だな、こりゃwww
- 353 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 00:07:25 ]
- StorageのAPI使ってplaces.sqliteから情報を取り出す処理を書いています。
Firefox3.0ではopenDatabaseで新規に接続ハンドルを作る必要があると思いますが、 作った接続ハンドルは用がなくなったらすぐにcloseした方がいいですか? それとも次回使うときのためにポインタを保持しておいても問題ないですか?
- 354 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 22:32:58 ]
- places.sqlite のDBハンドルを close すると bookmark が追加変更できなくなったりしない?
保持してても問題ないと思う。
- 355 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:59:58 ]
- Firefox3.1だとAPIによってハンドルが一本化されているので、
closeするとブックマークが使用できなくなりますね。 ありがとうございました。
- 356 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 03:08:27 ]
- っ[ https://developer.mozilla.org/ja/Chrome/Command_Line ]
- 358 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:09:01 ]
- >>357
あーまさにこれです。 ありがとうございました
- 359 名前:デフォルトの名無しさん [2009/02/18(水) 18:40:51 ]
- 履歴をツリー状に表示するアドオンもしくはそのようなサンプルプログラム
を載せているサイトを教えてくださるとうれしいです。
- 360 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 18:48:58 ]
- 履歴をツリー状にって・・・Firefox自体のコード見たらいいんじゃないの?
サイドバーとかブックマークの管理とか
- 361 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 04:04:14 ]
- -no-remoteで別インスタンスで起動しているウィンドウ間で
データをやりとりする方法ってありませんでしょうか?
- 362 名前:デフォルトの名無しさん [2009/02/26(木) 16:24:22 ]
- 現在開いてるwebページのURLを取得して表示させるプログラムをXULでつくりたい
のですが、何か良い参考サイトやプログラムありませんか?
- 363 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 02:24:19 ]
- Firefoxのロケーションバー
- 364 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:23:47 ]
- >361
ソケット通信使うのが正道だと思う >362 Firefoxのメインウィンドウの中なら gBrowser.currentURI.specかcontent.location.hrefで 今開いてるページを取れる
- 365 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 16:36:15 ]
- Firefox3で終了なのか再起動なのかはどうやったら判定できますか?
quit-application-granted 時に 終了か再起動かで処理を分岐させたいのですが
- 366 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 20:53:32 ]
- mxr.mozilla.org/mozilla-central/source/toolkit/components/startup/src/nsAppStartup.cpp#306
quit-applicationの方のdataで判別できるみたいだよ
- 367 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 02:01:36 ]
- >>366
できました。 本当にありがとうございました!
- 368 名前:デフォルトの名無しさん [2009/03/05(木) 14:24:48 ]
- ブラウザやwebサイトの読み込み完了時にスクリプトを処理するにはどうすればいいですか?
xulファイルに window.onload = "aaaa();" //aaa();は作った関数 と記述したのですがうまく動作しません
- 369 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 15:27:48 ]
- >>368
JavaScript本を買って一から勉強し直してください
- 370 名前:574 [2009/03/05(木) 22:56:18 ]
- 正解は
window.onload = aaaa; しかし、この次元で躓いているとXUL関連やFIrefoxの拡張は敷居が高いよ。 まだまだマニュアルや情報源の情報源の十分に整備された世界ではないから…
- 371 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 00:30:14 ]
- From: [370] 574 <>
みっ、みらいじんだー。 もしかしたら、これを期に勉強して成長した、未来の>>368が、 自らを叱咤激励するために、書き込んだのか〜?
- 372 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:13:32 ]
- nsILocalFileのdirectoryEntriesのgetNext()で取得できる
ファイルエントリの順番って保障されてますか?
- 373 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 22:24:07 ]
- いいえ。
- 374 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 00:49:43 ]
- >>373 ありがとうございます
- 375 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 09:14:18 ]
- Firefox3のProfileManagerに
アドオンから改造を加えることって可能?
- 376 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 08:50:18 ]
- Windowsの自作アプリケーションから、「現在起動中の」Firefox3にクッキーをセットしたいのですが、
どうしたらできるでしょうか? IAccessible->IServiceProvider->ISimpleDOMDocument->IDOMHTMLDocumentで余裕とか考えていたのですが、 XPCOMがCOMじゃないということに気が付くのに丸2日かけてしまいましたorz IEばかり使ってきたのでよくわかかりません…
- 377 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 08:53:29 ]
- あっ、XULの話題のスレみたいなので他所行った方がいいのかな
- 378 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 18:26:38 ]
- 正攻法だと無理かも。
- 379 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 18:43:36 ]
- IServiceProviderでnsSupportsは取れるみたいなんですが
nsSupports以外の何物でもありませんでした…ダメか…
- 380 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 12:18:34 ]
- >>379
nsSupports.QueryInterfaceしてキャストでいけない?
- 381 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 15:18:54 ]
- ひょっとしてFirefoxのsqliteはメモリ上にデータベース作成できない?
- 382 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 21:48:18 ]
- mozIStorageService.openSpecialDatabase("memory")
- 383 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 16:04:11 ]
- >>382
ありがとうございます。 openDatabase(null) でもいけるみたいですね。
- 384 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 04:30:25 ]
- nsIFileでファイルのlastModifiedTimeは書き換えできますが
ディレクトリのlastModifiedTimeは書き換え不可なのでしょうか? 必ず例外NS_ERROR_FILE_ACCESS_DENIEDが発生します。 パーミッションは確認しましたし そのディレクトリを使用中なわけでもありません。 具体的にやりたいのは 新規ディレクトリ、もしくは既存のディレクトリの lastModifiedTimeを任意の値に変更する ということです。
- 385 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 22:33:16 ]
- >>385
ディレクトリの時刻を変更するには、CreateFile()でFILE_FLAG_BACKUP_SEMANTICSを 指定する必要があるが、それがないから無理だな。
- 388 名前:384 mailto:sage [2009/03/25(水) 00:44:38 ]
- >>387
つまりLinux版やMac版ではFILE_FLAG_BACKUP_SEMANTICSがあるけど Windows版ではそれがないのでディレクトリ更新時刻は書き換え できないということですか? なぜWindows版だけそんな仕様に・・・?
- 389 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 01:34:30 ]
- >>388
そういうレベルの話ではない。 更新時刻の変更はOSによってやり方が全然違っていて、CreateFile()云々は Windows固有のやり方。それに加えて、WindowsではUnixとは異なり、 ファイルと同じ方法ではディレクトリの更新時刻は変更できない。
- 390 名前:384 mailto:sage [2009/03/25(水) 01:45:04 ]
- >>389
なるほど。では結論として、 Windows上のXULアプリからはディレクトリの lastModifiedTimeは変更できない と考えて問題ありませんか? 妥協策としてnsIProcessでWindowsアプリをrunして変更する といった方法で対応するしかないという理解でいいでしょうか?
- 391 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 10:40:54 ]
- 興味本位で聞くけどそもそも何故ディレクトリの更新時間を変更したいの?
それって本当に必要なの?
- 392 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 12:47:18 ]
- >>391
2つのディレクトリ間の同期をとる処理を書いています。 それでディレクトリの更新日時まで同期したいわけですが
|

|