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 あたりに関連リンク、近況などがあるかも。
87 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 06:21:35 ] >>86 idを使って呼び出すことは出来ないのでしょうか?
88 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 06:32:22 ] id? 何の話?
89 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 07:42:58 ] >>87 overlay.xulで<overlay〜の行の次に追加。もちろん、hogehogeはあくまで例だが。 <script type="application/x-javascript" src="chrome://hogehoge/content/hoge.js"/> idが何を指すかはよく分からんが、もし相対パスでやろうとしてるなら止めとけ。 例えば、それをbrowser.xulにoverlayしてるんなら、 <script type="application/x-javascript" src="hoge.js"/> という記述は次のように解釈される。(多分。テストはめどいのでしてない) <script type="application/x-javascript" src="chrome://browser/content/hoge.js"/> つまり、overlay先(ここではchrome://browser/content/browser.xul)を基準にした相対パスになる可能性があるので、素直に全部書いた方がいいよ。 で、俺も質問していいか? hack本なんかには「chrome内のscriptではtype="application/x-javascript"にせよ」みたいな事が書いてあるけど何故? 古いバージョン(text/javascriptをサポートしないバージョン)の為だったらchrome.manifest形式のみの拡張とかにはいらんよな……と思ったんだがどうよ?
90 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 08:42:14 ] >>89 経験上、相対パスでおk
91 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 13:39:10 ] Firefoxで、ツールバーアイコンとか動的に表示が変わるタイプのアイコンは chrome://browser/skin/Toolbar.pngみたいな集合体から -moz-image-regionで切り出す場所を変えて使ってるケースが多いようだけど これは各アイコンを別ファイルで持っておくより効率がいいんかな
92 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:31:01 ] アイコン画像がメモリ上に読み込まれるのはその要素が表示される タイミングなので、hoverとかの状態ごとにファイルを分けてると ボタンに最初にmouseoverした時にファイルの読み込みが発生して 一瞬真っ白なアイコンになってしまうので、その回避と思われ
93 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 15:06:13 ] なるほどthx
94 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 16:18:36 ] ファイルの数も抑えられるしファイルを1つ開いただけでエフェクトによる変化を見較べやすいのもあるんじゃないかと思った>画像
95 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 19:19:29 ] キャレットの色とか変える事できますか? 探しているのですがなかなかそれらしい物が見つからないのです
96 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 17:13:06 ] 拡張ムズカシイぽ でもがんばるぽ
97 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 08:02:33 ] defaults/preferences/の設定用JavaScriptの名前ってどうしてる? 俺は"defaults.js"にしてるけど知人は"prefs.js"にしてる。ちなみに俺は"prefs.js"なんてダサいと思うけど知人は"defaults.js"なんt(ry で他人様の拡張機能ばらしたら(拡張機能名).jsが多いっぽい……。 何らかのガイドラインでもあるの?
98 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 10:31:57 ] >>97 <app install dir>/defaults/pref/*.js で firefox.js, inspector.js, mailnews.js とかになってるからだろうな。 extensions/ 以下ならどうでもいいんだろうけど、 一応他と区別できる名前の方がいいんでないの?
99 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 20:07:30 ] >>9
100 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 20:09:01 ] >>98 thx. >>99 は俺のミス。すまん。
101 名前:デフォルトの名無しさん [2007/04/07(土) 13:56:51 ] Function.prototype.foo = function(){} for( i in a ) dump( i+" : "+a[i]+"\n" ); とやっても、Functionオブジェクトに、fooメソッドが追加されていない。 ブラウザ上では、きちんと追加されているみたいなんだが…。 Functionオブジェクトだけ拡張を認めないとか、そんな規則あったっけ? 一応環境はWinXP、Firefox2.0.0.3で。
102 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:42:29 ] >>101 なんか bugzilla ごちゃごちゃしてよくわからんが、たぶんバグ https://bugzilla.mozilla.org/show_bug.cgi?id=350655 [Adding properties to Function prototype fails in chrome] https://bugzilla.mozilla.org/show_bug.cgi?id=300079 [XUL chrome precompiled functions don't inherit from current window's Function.prototype] このへんかなぁ https://bugzilla.mozilla.org/show_bug.cgi?id=355161 [Function.prototype disappears after several seconds of browser's work. (chrome)] 似た症状なんだけど、こっちは治ってる。謎
103 名前:101 [2007/04/07(土) 15:54:53 ] >102 ふぅむ。なんか結構根幹的なところでバグも残っているのね。 なんとかコレ使わないでいける様に頑張ってみます。 ありがとうございます。
104 名前:97 mailto:sage [2007/04/15(日) 00:19:42 ] >>97-100 自己レス。 スタンドアロンXULアプリケーションではない場合(拡張機能)、install.jsでdefaults/preferences/*.jsをコピペして利用する際に、 区別できる名前だった方が拡張機能のデフォルト説明を見つけやすい defaults.jsとかだと重複する可能性がある などの理由から独自の名前の方がいいっぽい。(他にもあるかも) 別に拒否する理由もないから拡張機能名.jsにするよ、本当にthanks.
105 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 12:59:46 ] もしかしてMDC-en落ちてる?
106 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 01:28:50 ] >>105 今日はMediaWikiアップグレードの日らしいよ ttp://www.bitstampede.com/2007/04/20/the-longness-of-the-day/ 今は表示できるから、もうセットアップ終わったのかな
107 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 14:01:06 ] browser要素へaddProgressListener使ってnsIWebProgressListenerを取り付ると ブラウザ内で読み込んだページや画像データなどのデータ受信状況を監視できますが、 ページ内で使用したXMLHttpRequestによるデータ受信状況は監視対象とはなりませんか?
108 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 02:38:24 ] >>105-106 MDC実験版(AMOで言うpreviewなヤツ) developer-stage.mozilla.org/ 幾つかテンプレート系の変更が起きてるから翻訳かじってる奴は注意。
109 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:48:54 ] よく「nsIXXX型」という言い方をしますが、これは厳密には 「Components.interfaces.nsIXXXインタフェースを実装したオブジェクト」 という意味になりますでしょうか?
110 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 12:36:56 ] Components.interfaces.nsIXXXインタフェースという型、だろ
111 名前:デフォルトの名無しさん [2007/05/22(火) 13:09:00 ] nsIWebBrowserPersist のsaveURIでhttpで何らかのファイルをダウンロードするときに、httpのステータスコードの取得の仕方をわかる方いますか? 403のページとかが返って来ても、ダウンロードが完了したということになってしまっています。
112 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:49:23 ] プラグインの開発中、ファイルを編集するたびに プラグイン削除→再起動→プラグイン導入→再起動→テスト とするの激面倒なんですが、再起動無しにプラグインだけリロードって できませんか?
113 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 22:15:38 ] >>112 jar でなくフォルダにインストールされるようにして、 piro.sakura.ne.jp/xul/tips/x0000-2.html XUL Cache を無効にして新規 window 開け
114 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 00:24:10 ] リロード面とは別の話だが、開発中はインストールしたフォルダを直接弄ったほうが早いよね。 あと、chromeフォルダ以下のjarも展開状態のままで。
115 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 01:01:57 ] >>112 本当にエクステンションじゃなくプラグインを開発してるなら話はマタ違ってくるが エクステンションなら普通ソースでインストールしとくだろう。 まあ、再起動が必要かどうかはまた別の問題だけど.... 別ウインドウを開けばOKとか、再起動必要ない場合も結構有るよ。
116 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 06:54:02 ] つ Extension Developer's Extension
117 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 00:42:42 ] >>113 ,116 ナイスアドバイスアリガトンです。 XPIにせずフォルダのままロードできるよっていう拡張(プラグインだと 別の意味でした)を見つけて「これで楽になる〜」と思っていたら 新規ウィンドウを開こうが何しようが再起動以外にXULの編集結果反映がされず 困ってましたが、それで無事解決できました! これでようやく本格的にXUL開発に飛び込める・・・
118 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 08:36:07 ] ttp://developer.mozilla.org/en/docs/Setting_HTTP_request_headers のドキュメントや ttp://kokogiko.net/m/archives/001441.html のコメント欄にあるような、独自のヘッダをリクエスト毎に付けようとしています。 とりあえず独自ヘッダは付くようになりました。 ただ、リクエストするHTMLがframeやimgを含んでいると ブラウザが勝手にframeやimgのリクエストをしますが そのリクエストには上記独自ヘッダが付きません。 要するに自分でURL欄にアドレスを入力してEnterを押した リクエストの一回だけにしか独自ヘッダが付きません。 全てのリクエストに付くようにするにはどうすれば良いのでしょうか?
119 名前:118 mailto:sage [2007/05/24(木) 10:30:40 ] リクエスト毎にヘッダが付かない、は勘違いでした。 独自ヘッダを付加する前に、条件判定用のヘッダの取得をしています。 var head = oHttp.getRequestHeader("Authorization"); oHttp.setRequestHeader("X-HOGE", "huga", false); Authorizationのヘッダの内容を取得しようとして失敗し 後続のコードが実行されていないだけでした。 という訳で質問を変更します。Authorizationヘッダを 毎リクエスト正しく取得するにはどうすれば良いのでしょうか?
120 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 19:54:26 ] 既存のコンポーネント(バイナリ)をJavaScriptのXPCOMでoverrideするには どうすれば良いのでしょうか? 例えば"@mozilla.org/network/protocol/about;1?what=blank"を 独自の処理に置き換えたいと思っています。 www.mozdev.org/notes/hello_world_js_component.html とかは一応読みました。 interface nsIMyExam : nsIAboutModule { nsIChannel newChannel(nsIURI URI); }; と function MyComponent() {} MyComponent.prototype = { newChannel: function () { dump("My Test\n"); }, … という風に継承(上書き)定義すれば良いのでしょうか? あと、同じscheme名のメソッドをoverride出来たとして、 そのメソッドの中でオリジナルのメソッドを実行するにはどうすれば良いのでしょうか? www.xuldev.org/blog/?p=58 にあるような、既存の関数の置き換え例はちらほら見掛けるのですが… 以上、ご存知の方がいらっしゃいましたら、宜しくご教示お願い致します。
121 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 13:29:35 ] 昨日のDevConでそういう話が出ていたような・・・ ttp://www.ne.jp/asahi/nanto/moon/mozilla/enhanced-feed-preview Enhanced Feed PreviewではファクトリーのregisterSelfで起動時に毎回 コンポーネントを上書きしてる?とか言ってた気がする
122 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 15:49:13 ] XPCOMコンポーネントをCで作ったら邪道?Java嫌いなんだよね
123 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 16:02:34 ] べつにいいんじゃないの?
124 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 17:04:39 ] なんでJavaがでてくるんだ?
125 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 20:28:14 ] >>124 XULもJavaもクロスプラットフォーム
126 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 22:42:24 ] JavaXPCOMもPyXPCOMも実際に使われてる例は知らないが、C++は王道中の王道だろ。 ただ各プラットフォーム用のバイナリを配るのが面倒だ。
127 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 22:53:10 ] Cで作るにはC++のABIに気をつけないといけないはず。
128 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 05:04:15 ] Adaをつかいまつ
129 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 11:42:04 ] JavaScriptよりLiveScriptのほうがかっこいいじゃん
130 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 14:07:36 ] prefwindowではonbeforeunloadイベントは使えませんか? それから、XULのどの要素がどのイベントを持っているかはどうやって調べますか?
131 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 01:36:10 ] “ もじら組スタッフは、以前からスタッフだったyukichiさんをもじら組から除名することを決めた。 ttp://eto.tumblr.com/post/4368304 kazhik.tech:もじら組スタッフの除名 ttp://sabakan.tumblr.com/post/4361567 kazhik.tech:もじら組スタッフの除名 ttp://plnet.jp/nozzzzz/855834 もじら組スタッフの除名 ttp://blog.livedoor.jp/kazhik/archives/51051450.html
132 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 02:25:13 ] >>131 それって何か大事なの? ってか yukichi って誰? 何やらかしらの?
133 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 03:22:29 ] ggr
134 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 09:45:56 ] tumblr を貼る意味が分からない
135 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 17:15:22 ] >>131 もじら組で今起こっていること amigomr.dw.land.to/blog/article.php?id=417 Re: もじら組で今起こっていること d.hatena.ne.jp/smellman/20070627/1182960138 [Web] もじら組除名事件でWikipedia批判が再燃か? d.hatena.ne.jp/hagex/20070629#p3 【百科事典】Wikipedia ウィキペディア ゆきちスレ hobby9.2ch.net/test/read.cgi/hobby/1177425675/
136 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 17:32:41 ] >>135 に追加。 福澤俊とは - はてなダイアリー d.hatena.ne.jp/keyword/%CA%A1%DF%B7%BD%D3 >自分が知らなければ、要出典タグを貼りに行く、もしくは「こんな単語をはじめて聞いた」などの発言を執拗に繰り返す利用者の一人でもある。 >2007年5月6日には問題のエントリーに投稿されたキリカに対するKasumoererのコメントを一括削除したことで話題となる。 >JCA-NETなどの極左団体および特定アジア団体とウィキペディア日本語版の関係は、よほど知られたくない事項の様子である。
137 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 18:49:36 ] この Kasumoerer って奴の私怨で FA ?
138 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 19:11:02 ] FA
139 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 11:05:17 ] >>137-138 何この酷い自演
140 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 16:10:32 ] >>137-138 笑える
141 名前:デフォルトの名無しさん [2007/07/02(月) 23:20:10 ] Thunderbirdの拡張機能を作って、何人かの人に使ってもらっているのですが、正しく動作しないとの報告がありました。 原因を調査中なのですが、設定情報を保存するあたりにバグがあるのではないかと思いました。 設定情報の保存は、以下のようなクラスを作っているんですが、何かおかしな所があれば指摘してほしいです。 よろしくお願いします。 --- PrefUtil = { PREF : Components.classes['@mozilla.org/preferences;1'].getService(Components.interfaces.nsIPrefBranch), KEY : "hogehoge", getPref : function() { try{ var type = PrefUtil.PREF.getPrefType(PrefUtil.KEY); const nsIPrefBranch = Components.interfaces.nsIPrefBranch; switch (type) { case nsIPrefBranch.PREF_STRING: return PrefUtil.PREF.getCharPref(PrefUtil.KEY); case nsIPrefBranch.PREF_INT: return PrefUtil.PREF.getIntPref(PrefUtil.KEY); case nsIPrefBranch.PREF_BOOL: default: return PrefUtil.PREF.getBoolPref(PrefUtil.KEY); } }catch(e){ return ""; } }, setPref : function(str) { PrefUtil.PREF.setCharPref(PrefUtil.KEY, str); } } --- var str = Pref.getPref(); のような感じで使います。
142 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:14:32 ] >>141 日本語が入った文字列を getCharPref/setCharPref で出し入れしようとしてないか? そうなら代わりに getComplexValue/setComplexValue を使うべき。 それと特別な事情がない限り PrefUtil.PREF や PrefUtil.KEY じゃなく this.PREF や this.KEY にするのが普通じゃないか?
143 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:11:22 ] >>141-142 ttp://nanto.asablo.jp/blog/2006/10/23/572458 この方法を使えばgetComplexValue/setComplexValueつかわなくてもいけるよ
144 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:12:41 ] あとgetは型を自動判別してるのにsetは文字列型限定って何か意味あるの?
145 名前:sage [2007/07/03(火) 23:01:04 ] 141です。ご指摘ありがとうございます。 >142 現在は日本語はつかっておりません。 また、ご指摘の通りthis.PREFのほうがいいですね。 >143 そんな方法が。参考になります。 >144 特に意味はありません。。getを張り切って作ったけど、結局setでは文字列しか ありえないな、、と思って手を抜いてしまいましたorz なお、不具合に関しては別の箇所が原因だと言うことがわかり一件落着しました。 ご協力ありがとうございましたm(..)m
146 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 10:30:38 ] うっふん
147 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 03:01:41 ] event.screenX, event.screenYを使わずに現時点のマウスカーソルの位置を知る方法ありますでしょうか?
148 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 05:06:30 ] >>147 xpcomコンポーネントを作ればできるよ
149 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:44:41 ] overflow:autoでスクロールバーを表示させた要素のスクロール位置を 動的に調整することはできますか?
150 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 00:44:59 ] よーし、Firefoxの拡張の中身見てXUL勉強しちゃうゾーとpiroさんのサイトの色々表示させる設定をしたところ、いきなり詰まってしまいました。すみませんが教えてください。テキストボックスをクリックするたびに Auto Copy 0.6.4 と言う拡張が jsコンソールに エラー: target.textbox has no properties ソースファイル: chrome://autocopy/content/autocopyOverlay.js 行: 653 とエラーを表示します。これを表示させないようにするにはどう書き換えればいいでしょうか。 function Autocopy_isTargetEditable(target)〜 if(target) { if(target.toString().match(/object XUL/i)) { ココ→if(target.textbox.value) { return true; } } }
151 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 20:31:29 ] target に textbox が存在しない事がエラーの原因なら value を参照する前に textbox が null でないかチェックすればエラーは回避できる if (target.textbox && target.textbox.value)
152 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 02:05:43 ] >>151 ありがとうございます。エラーが出なくなりました。 これで Fx でググったりサイト眺めながら拡張を見れます。 ありがとうございました。
153 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 20:34:42 ] jQuery だとか prototype.js だとか、そっち系のライブラリはもういいよってくらい氾濫してるくせに、 ぜんぜん XPCOM をラップするライブラリがないぜ?いや、jslib とか mozlib とかはあるけどさ・・・ Components だか Interfaces だか、 ns...みたいなプリフィックスとか見るだけで吐き気がするぜ。 XULRunner だってさ、.xul を D&D で投げるだけでとりあえず実行してくれたら、お手軽で素敵じゃないか?
154 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 22:22:50 ] つ FUEL 一応Firefox2にもバックポートできるようにするみたいなこと言ってたような気がする…
155 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 11:01:02 ] 文字コードの自動判定ってどーやればいいんだろーか
156 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:47:18 ] >>155 Mozillaのuniversalchardetはscriptableじゃないインターフェイスらしいので、それをどうにかするか、それをCライブラリ化したものがあるからそれを使うか……。
157 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 23:40:22 ] >>156 あら、そーなんだ。うーん、複数の文字コードでとりあえず一度変換させて、 U+FFFDの数で推測する手もなくはないけどねぇ。貴重な情報どーもdクス。
158 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 22:42:48 ] mozStorageにデータを入れて、サイドバーにmozStorageから取得したデータを 表示させたいと思っています。 もし各ウィンドウのサイドバーごとにデータベースへの接続を持たせると、複数のウィンドウが 開かれている状態などでは、同時にデータベースへアクセスする可能性が有るので developer.mozilla.org/en/docs/Storage の You can not access a single database from multiple connections from different threads. に引っかかると思います。 こういう拡張を作成する場合、どのようにしてmozStorageを扱うのが良いのでしょうか?
159 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 01:01:54 ] JSからXPCOM経由でデータベース接続する分には「different threads」には引っかからないのでは。 もちろんFirefoxのプロセスはひとつだけという条件付きですけど。
160 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 02:33:34 ] 各 window は個別にスレッドを持ってたと思う。 components/ に その拡張専用の storage service(singlton) を持つ JS XPCOM をつくっておいて、 サイドバー XUL からはそのサービスを介してだけアクセスすればいいんじゃないかな。 Places(history,bookmarks) もそんなかんじだし。
161 名前:158 mailto:sage [2007/09/12(水) 03:01:47 ] なるほど、XPCOMを作れば解決出来そうですね。 調べてみます。有難うございました。
162 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 17:02:11 ] XUL チュートリアル(和訳) xul-app.hp.infoseek.co.jp/xultu-janit/ 上のページは、元々「有限会社エヌアイティー技術情報部」というサイトに あったものでした。 web.archive.org/web/20020609143757/http://www.janit.com/xml/XUL/ なぜか2002年に突然削除されてしまいましたが。このXULスレの初代のころです。 昨日、その元サイトの移転先を見つけました。断言はできませんが、状況から 見て、どうやら訳者様は亡くなっておられるようです。 www.geocities.jp/ogaponman/TechnoInf/ www.geocities.jp/ogaponman/ 合掌。
163 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 15:14:45 ] www.mozilla.gr.jp/~kazhik/xul/tutorial02.html 例えばこれでtextbox内でENTERを押すとHELLOボタンが押されたことにしたい場合ってどうしたらいいんでしょうか。 すいませんが教えてください。
164 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 16:05:36 ] >>163 textbox に onkeypress="if(event.keyCode==13)hello()" とかすれば?
165 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 16:17:58 ] ところで DOM_VK_RETURN じゃなく DOM_VK_ENTER が出てくる環境ってあるの?
166 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:01:38 ] >>164 おおできたできた!ありがとうございます。 っていうかこれjavascriptスレで聞いたほうがよかったかもですね。
167 名前:164 mailto:sage [2007/09/19(水) 21:06:07 ] >>163 用途次第では onchange の方が適切な場合もあると思うけどまぁいろいろ試してくれ
168 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:53:14 ] 大昔に野良拡張を作った経験があります。 色々な所で Gran Paradiso のことを目にするようになったので 先ほどα8を入れてみました。 ローカルディスクから拡張機能をインストールしようとしたらはねられて困ったのですが とりあえずupdateURLを削除した状態で開発すれば良いんですかね。 色々と面倒になりましたな。
169 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 15:50:56 ] >>168 McCoy
170 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 14:17:48 ] about:config 風に、ロケーションバーに about:hogehoge と打ち込むと、 カレントタブの中に chrome が読み込まれるような拡張というのは どんなことをヒントにすればよいですか?
171 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 15:33:32 ] >>170 MR Tech About:About をパクればいいんじゃないか?
172 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 16:45:30 ] >>171 非常に参考になりました。ありがとうございました。
173 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 07:25:22 ] >>171 今はnsIAboutModuleインターフェースが 変更されたからそのままだとtrunkで使えない気が。 getURIFlagsメソッドも実装しないといけないんじゃないの? ttp://mxr.mozilla.org/mozilla/source/netwerk/protocol/about/public/nsIAboutModule.idl
174 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 10:29:08 ] Browser#reload()でページのリロードができると思うんだけど、リロードじゃなくて、 ダウンロード済みのソースからDOMの再構築ってできないのかな? リロードしちゃうとサーバに再リクエストしちゃうんで、セッション管理しているサーバで ちょっと困っているんだけど。
175 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:44:57 ] DOMParserとか使ってみるといいかも
176 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 02:32:23 ] document.bodyをcloneNodeでコピーしておいて差し替えるとか、 あるいはdocument.body.innerHTMLをコピーしておいて差し替えるとか
177 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 23:37:01 ] >>303 これだな。とりあえずXHTMLのscript要素で代用しとけ。 ttps://bugzilla.mozilla.org/show_bug.cgi?id=304786
178 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 23:38:01 ] 微妙に誤爆しました。ごめんなさい。
179 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:52:17 ] IBM の developerWorks に XUL の記事きた。 「XUL を使ったブラウザー拡張機能、第 1 回: ユーザー・インターフェース機能を持つ Firefox のブラウザー拡張機能を作成する」 ttp://www-128.ibm.com/developerworks/jp/web/library/wa-xul1/index.html
180 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 02:39:56 ] XULRunner って響きが取っ付き易くないからいっそ Prism だったらよかったのにと思う11月の秋
181 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 03:36:16 ] labs.mozilla.com/2007/10/prism/
182 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 10:18:17 ] やっぱむずかしいよな。言うほど簡単じゃねぇよ、これ。 様々な難解技術の集合体じゃねえか。
183 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 14:07:29 ] browser.jsとか、タブ系拡張とかでの content.focus(); と、_content.focus(); との違いは何?(頭のアンダーバー) 元のやつを上書きしてるって事?
184 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 20:54:14 ] >>183 歴史的理由。互換性。
185 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 21:09:52 ] >>183 どっちでも動くから気にしないでOK
186 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 20:57:34 ] 大した事じゃないのですが、ちょっとお聞きしますね。 XPCOMを作っていて名前をどう付けるのが良いのか迷っています。 具体的にはContractIDとインターフェイス等の名前のプレフィックスについてで、 ContractIDは、いくつかの拡張を見たところ全部@mozilla.org/some-component;1となっていました。 プレフィックスは、Mozillaのソースではnsで始まるのが慣習のようでした。 Mozillaプロジェクトと直接関係がない拡張なのに、何故この様(mozilla.orgとかnsとか)に なっているのか分かりません。 皆さんならどうされますか/してらっしゃいますか?
187 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:05:37 ] 関係ないのにns〜とか@mozilla.orgとか書くのは厳密には詐称だよね Mozilla内の物でもインターフェース名がmozI〜という物はいくつかあるし 適当に付けたらいいんじゃないの?
188 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:14:36 ] >>186 XPCOMだけにxpcIxxx〜とかcpIxxx〜とかどうよ?ださいけどな。
189 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:24:00 ] >>186 MDCのサンプルでは、 nsIHelloWorld @dietrich.ganx4.com/helloworld developer.mozilla.org/en/docs/How_to_Build_an_XPCOM_Component_in_Javascript でも個人的にはnsを付けるのはやめた方がいいと思う。 nsはNetScapeの略だとこのスレで以前に教わった。
190 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 05:51:48 ] (*゚ω゚)ノ∩へぇへぇ
191 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 10:14:10 ] 接頭辞xpcはXPConnect関係で使われてるからよくないな。 作者名または拡張名から取るのがいいだろう。 例えばXUL/Migemoの場合、接頭辞はp(作者名Piroから?)、 コントラクトIDは@piro.sakura.ne.jp/xmigemo/から始まっている。 ttp://www.cozmixng.org/repos/piro/xulmigemo/trunk/components/
192 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 00:31:47 ] 自サイトではなくAMOでしか公開していない場合のコントラクトIDは?
193 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 01:40:49 ] 同じ。AMO かどうかと、contruct ID は関係ない。
194 名前:186 mailto:sage [2007/11/14(水) 18:01:51 ] やはり、独自のprefix/ContractIDを付けた方が良さそうですね。 皆さん、助言ありがとうございます。
195 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 14:29:55 ] ここが適切かわかりませんが質問です。 IEで動作するActiveXのプラグインがあるのですが、これをFirefoxへ簡単に移植する方法はないでしょうか? Windows以外のOSへの移植は考えていないので、ラッパーのDLLか拡張を作るという手でも構いません。
196 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 21:52:17 ] >>195 Firefox 1.5までなら、プラグインがありますよ Mozilla ActiveX Project ttp://www.iol.ie/~locka/mozilla/mozilla.htm ソースコード lxr.mozilla.org/seamonkey/source/embedding/browser/activex/src/plugin
197 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 15:16:24 ] 今、外部テキストファイルの読み書きをしているんですが、 全角文字を書き出しor読み込みすると文字化けしてしてしまいます。 文字コードの変換なども試したのですが上手くいきませんでした。 何か解決方法はないでしょうか?
198 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 15:33:00 ] どうやってどううまくいかなかったのかを書かないと エスパーにしか解決方法はわからないと思われ
199 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:43:05 ] piro.sakura.ne.jp/xul/tips/x0021.html ここを参考にやらしていただきましたが、ファイルの書き出しなどを行った際、 日本語ではなく文字コードとして出力されてしまいます。
200 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 10:07:00 ] Fxのエクステンションを作ろうと思ってFxまとめWikiのチュートリアルを見ながら作業してたんですが、 contents.rdfってのは何のためにあるんですか?解説がなく、MDC見てもよく分からなかったんですが。
201 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 10:13:23 ] まとめにも書いてあるじゃないか
202 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 17:19:07 ] >>200 古い contents.rdf 形式のマニフェスト ttp://developer.mozilla.org/ja/docs/Chrome_Registration#.E5.8F.A4.E3.81.84_contents.rdf_.E5.BD.A2.E5.BC.8F.E3.81.AE.E3.83.9E.E3.83.8B.E3.83.95.E3.82.A7.E3.82.B9.E3.83.88
203 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 18:31:49 ] >>202 ありがとうございます。最新のFxをターゲットにする場合は不要なんですね。
204 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 17:47:01 ] ちょこちょこと拡張をいじったりしてみてます。 Firefox2.0.0.11なんですが、タブを右クリックした場合の コンテキストメニューを拡張するにはどうしたらいいのでしょう・・・
205 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 18:08:04 ] で、あなたはまずご自分で何を調べられて何を試されたのですか?
206 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 19:42:16 ] >>205 CopyUrlPlusとTabMixPlus、ContextMenu拡張のアーカイブを展開して 内部を調べてみました。 しかしCopyUrlPlusではタブを右クリックしたメニューの拡張を行って無く、 TabMixPlusとContextMenu拡張は読み切れませんでした。OTZ MDCのコードサンプル、DOMインターフェースリファレンスも調べましたが、 該当のものを見つけられませんでした。
207 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 23:38:49 ] >>206 userChrome.js のスクリプトあされば出てくるが…まぁ大ヒント。 document.getAnonymousElementByAttribute(gBrowser, 'anonid', 'tabContextMenu');
208 名前:デフォルトの名無しさん [2008/01/10(木) 00:42:41 ] 久しぶりにXUL弄ろうとおもって遊んでいたんですが いつの間にかmakeURI関数って使えなくなっていませんか? Mozilla開発コミュニティは相変わらずのクオリティだなと思った。嫌いじゃないけど
209 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 11:55:04 ] プラットフォーム書いてくれ。 firefox なら 2 でも trunk でも使えるはずだけど<makeURI mxr.mozilla.org/seamonkey/source/toolkit/content/contentAreaUtils.js#683 seamonkey だと前は2引数だったが trunk とかだと3引数なのを注意。 mxr.mozilla.org/seamonkey/source/xpfe/communicator/resources/content/contentAreaUtils.js#764 Prism, XULRunner なら contentAreaUtils.js 入れないとどーもならん、 つか実質3行なので自分で書け。
210 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 17:31:12 ] サイドバーを使うFirefox拡張の作り方がさっぱり分かりません。 どこかにサンプルとかありませんか?
211 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 18:09:07 ] sageとか
212 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 18:37:14 ] developer.mozilla.org/en/docs/Creating_a_Firefox_sidebar
213 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:37:30 ] >>212 おお、ありがとうございます! すっかり見落としてました
214 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 17:22:29 ] var listbox = document.getElementById('searchResultList'); for(var i = 0; i < 10; i++) { var listitem = document.createElement('listitem'); listitem.label = "foo"; listbox.appendChild(listitem); } このようなコードを実行すると、listboxにアイテムは追加されるんですが、真っ白でlabelの内容が表示されません。 DOM Inspectorで見ればちゃんとlabelにfooが入ってるんですが… どこに問題があるんでしょうか。
215 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 17:33:10 ] appendChild(...)でなくappendItem(...)としてみる
216 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 17:41:19 ] >>215 ありがとうございます。appendItem()でできました。 richlistboxだとappendChild()でできたのでついlistboxでもできるのかと思ってました。
217 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:12:44 ] groupbox - button - button - button みたいな感じに、ある要素の子要素が複数あるときに、これ全部を一気に取り除く方法ってありますか? やっぱりひとつずつ消してかなきゃダメ?
218 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:44:41 ] DOM2 Rangeつかうといいかも
219 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 11:51:44 ] >>218 ありがとうございます。 var range = document.createRange(); range.selectNodeContents(element); range.deleteContents(); でできました。
220 名前:デフォルトの名無しさん [2008/01/31(木) 11:46:40 ] Javascriptでaddonを書いています。 このaddon内部から、起動プロファイル名を取得することは可能でしょうか? (firefox -P fuga の fugaを取得) モノはFirefox 2.xです。
221 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 12:27:10 ] nsIToolkitProfileServiceを使えば可能。 toolkitのprofileSelection.jsが良い例題になる。
222 名前:220 [2008/01/31(木) 13:30:22 ] おおおズバリ。 名回答TNX.
223 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:24:20 ] firefoxの拡張作成に挑戦しようと思い、 ttp://piro.sakura.ne.jp/xul/doc/20070726keio/XUL.zip の通りに自分で作成したものはツールのところにHello,Worldが表示されません。 アドオンの一覧には表示されています。 このサンプルコードであるttp://piro.sakura.ne.jp/xul/doc/20070726keio/XUL3-1.zip はちゃんとツールのページの情報の下に表示されます。 両方のコードを見比べても自分でみた限り違いはありませんでした。 変更した部分は<em:maxVersion>2.0.0.*</em:maxVersion>だけです。 firefoxのバージョンは2.0.0.11です。 どこが問題か教えていただけますでしょうか?
224 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:16:30 ] お前が見た限りの情報で分かるエスパーはいねーよ馬鹿 教えて欲しいならコード載せろ
225 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:12:17 ] >>224 おっしゃるとおりです。すいませんでした。 コードはここにうpしました。 www.uploda.net/cgi/uploader4/index.php?file_id=0000026347.zip どうかよろしくおねがいします。
226 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:50:26 ] >>225 すべての構成ファイルの文字コードUTF-8のBOMなしかどうか確認
227 名前:220 [2008/02/01(金) 18:09:46 ] profileSelection.jsは起動時にでてくるプロファイル選択画面みたいだ。 const C = Components.classes; const I = Components.interfaces; var p = C["@mozilla.org/toolkit/profile-service;1"]; alert(p); ここでいきなりundefinedなのだが。 なんででしょう? いや、classes配列にないのはわかるが、他のサービス(directory-service)とかだと getService()できる。 firefox/components/* firefox/chrome/* は一応調べた。grepだけど。
228 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:11:16 ] >>226 すべての構成ファイルの文字コードを改めてUTF8BOMなしで保存し、 インストールしてみましたがやはりできませんでした。 エディタはTerapadを使っています。
229 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:48:55 ] >>228 >にすべての構成ファイルの文字コードを改めてUTF8BOMなしで保存し、 >インストールしてみましたがやはりできませんでした。 chrome.manifestをUTF-8のBOMなしで保存したら動作するけど... エディタが勝手に変なことするんじゃない?
230 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:35:31 ] スレチな質問だとは思うんですが UTF-8BOMなしで保存して、開きなおしたらUTF-8BOMなしで開くものですよね? TerapadでもEmEditorでも開きなおすとSJISになってしまうんです。 他のUTF-8のファイルはちゃんとUTF-8で開くのですが...
231 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:50:22 ] BOMついてるのはバイナリエディタで確認できる でchrome.manifest BOMついてますね。 エディタの件だが, 自動判定はあまり信用しない方がよろしいかと, 特にファイルに含まれる文字数が少ない場合は失敗する確率が高い, BOMついてないUTF-8は特に判定が難しい。 使用エディタ変える方がいいんじゃない, 秀丸エディタとかNotepad++とか
232 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:55:06 ] >>230 TeraPadはUTF-8(BOMなし)を扱える。 君のTeraPadの設定がおかしい可能性が高い。 オプションの文字コード関係の設定をよく見直して。 これ以上はTeraPadスレで。
233 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 20:04:52 ] >>231 再度保存してみたものです。 バイナリエディタでみたところ各ファイルBOMはついてないようです。 www.uploda.net/cgi/uploader4/index.php?file_id=0000026353.zip chrome.manifestを直したものはツールのところにhello world出てるってことですよね? >エディタの件だが, 自動判定はあまり信用しない方がよろしいかと, >特にファイルに含まれる文字数が少ない場合は失敗する確率が高い, >BOMついてないUTF-8は特に判定が難しい。 なるほど。勉強になります。
234 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 20:37:02 ] 連投失礼いたします。 直接extensionsフォルダから拡張を削除しもう一度インストールしたらできるようになりました。 どうもお騒がせしました。
235 名前:220 [2008/02/06(水) 14:31:27 ] 結局 developer.mozilla.org/ja/docs/Code_snippets:File_I/O を見て、プロファイルディレクトリが取れたのでよしとしました。
236 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 05:04:30 ] おまえらデバックする時どうしてる? 自分は書庫化し直してるんだが、これって一般的な方法? どうも面倒くさい
237 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 05:08:44 ] >>236 アドオン開発環境のセットアップ developer.mozilla.org/ja/docs/Setting_up_extension_development_environment
238 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 06:26:53 ] >>236 >>237 の開発用の設定にして、jarに圧縮せず、-console オプションを付けて起動。
239 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 06:30:05 ] どもども
240 名前:デフォルトの名無しさん [2008/03/01(土) 09:21:56 ] xulをプラットフォームとして使おうと思ったら、Firefox起動しない状態でも、ファイルをダブルクリックしたらXULアプリケーションが起動するような環境が必要だと思うのだが・・・
241 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 13:47:17 ] >>240 思うのだが?続きはなんでしょう? developer.mozilla.org/ja/docs/XULRunner
242 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 21:34:29 ] Firefox3でopenPopupの直後だとpanelのサイズが取得できない……。 2ではshowPopupの直後でもpopupのサイズ取得できたのになあ……。 それでもなんとかして取得したいんだが、どうすればいい? 欲を言えば、openPopup(showPopup)の前(非表示状態のとき)に 取得できるとなお良いんだが。 要はウィンドウ中央に表示させたいんだよね。
243 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 22:50:06 ] ポップアップは非同期になったんじゃなかったけ? popupshowingかpopupshownで取得できるんじゃない?
244 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 00:13:50 ] >>243 できたよありがとう!
245 名前:デフォルトの名無しさん [2008/03/10(月) 03:47:11 ] >241 …空が、青いなぁ… orz
246 名前:デフォルトの名無しさん [2008/03/11(火) 12:16:32 ] もともとのステイタスバーの上にテキストボックスとボタンを配置したいのですが hboxにid属性をつけると表示されません。どうしてでしょうか? 以下ソースです。汚いですが。。。 <?xml version="1.0"?> <overlay id="inputhelperOverlay" xmlns="www.mozilla.org/keymaster/gatekeeper/there.is.only.xul "> <popup id="contentAreaContextMenu"> <menuitem id="show_InputHelper" label="InputHelper" insertafter="context-undo" oncommand="show_IH()"/> </popup> <script src="Overlay.js" /> <hbox insertbefore="status-bar" id="ihbox"> <textbox multiline="true" width="400" rows="4" /> <button label="Copy" oncommand="copy(); return false;"/> </hbox> </overlay> </overlay>
247 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:42:51 ] >>246 オーバーレイを適用する親要素がない。 ttp://developer.mozilla.org/ja/docs/XUL_Overlays
248 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:47:06 ] <overlay id="inputhelperOverlay" xmlns="www.mozilla.org/keymaster/gatekeeper/there.is.only.xul "> <popup id="contentAreaContextMenu"> <menuitem id="show_InputHelper" label="InputHelper" insertafter="context-undo" oncommand="show_IH()"/> </popup> <script src="Overlay.js" /> <window id="main-window"> <hbox insertbefore="status-bar" id="ihbox"> <textbox multiline="true" width="400" rows="4" /> <button label="Copy" oncommand="copy(); return false;"/> </hbox> </window> </overlay> これでどう?
249 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 16:19:32 ] >>247 ,248 できました!ありがとうございます!
250 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 23:39:42 ] addons.mozilla.org について教えてほしいのですが ・作者の項目にニックネームを表示する方法 ・登録した拡張の削除の仕方 これらはどうやってやるのでしょうか? 作者がニックネームの人も居るので出来るかと思ったら アカウントを作ったときの姓名が表示されてしまうし、 ファイルを削除は出来ても、登録された拡張は削除できないし、 わけわかめな状態になってます。
251 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 10:30:04 ] ログインした状態で右上の「アカウント」って所からニックネーム設定できるよ。 あと登録された拡張の削除はシステム的にできないみたい。 ファイルを消せばユーザからは見えなくなるのでそれで我慢するしかないぽ。 漏れなんて、この間からシステムの不調でアップロードが上手く行かなくて 管理画面上ではIncomplete - No Filesで同じバージョンの項目が3つ並んでる。
252 名前:250 mailto:sage [2008/03/17(月) 20:20:17 ] >>251 レスどうもです。 アカウントでニックネームを設定してみたのですが、 開発者用コンパネでは作者に姓名の方が表示されています。 作者の追加でも、アカウントから勝手に作者名を探すみたいで、 名前を自由に入れたりは出来ないみたいだし。 とりあえず姓名の方を適当に変更する事にします。 削除は出来ないんですね。 自分も同じバージョンのIncomplete - No Filesが3つ並んでますw
253 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:26:35 ] webサービス開発系のプログラマーは目の的! firefox開発者って対して取り上げられていなくてかわいそうに だっせぇwww
254 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:34:33 ] めのまと?
255 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:09:51 ] >>253 日本語でおk
256 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:42:29 ] めのてき(←なぜか変換できない)
257 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:57:14 ] 目の敵と目の的の関係は既出と外出のそれに同じか。
258 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 10:23:56 ] Firefox 3のbrowser.jsのズーム機能のコードを眺めていたら こんなふうにdeleteを使っているのですが、どういった意味があるのでしょうか? // Content Pref Service get _cps FullZoom_get__cps() { delete this._cps; return this._cps = Cc["@mozilla.org/content-pref/service;1"]. getService(Ci.nsIContentPrefService); },
259 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 11:55:09 ] 何かのタイミングで FullZoom._cps が書き換えられていても、 確実に ContentPrefService を返す。 ちなみに修正前はこんなコード __cps: null, get _cps() { if (!this.__cps) this.__cps = Cc["@mozilla.org/content-pref/service;1"]. getService(Ci.nsIContentPrefService); return this.__cps; }, https://bugzilla.mozilla.org/show_bug.cgi?id=389628#c117 修正前 https://bugzilla.mozilla.org/show_bug.cgi?id=389628#c118 修正後 mxr.mozilla.org/firefox/source/browser/base/content/browser-textZoom.js 現コード
260 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 13:32:00 ] 御回答ありがとうございます。でも、なぜこうやらないんですか? get _cps() { return Cc["@mozilla.org/content-pref/service;1"]. getService(Ci.nsIContentPrefService); },
261 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:07:54 ] getterが最初の一回のみ実行されるようにじゃないの delete this._cps; によってgetterが削除されて 以降はthis._cpsに格納されたnsIContentPrefServiceを参照するようになる
262 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 00:20:04 ] なるほど。ありがとうございました。
263 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 22:15:25 ] gzip圧縮されたdiskキャッシュをnsIStreamConverterServiceの convertで展開しようとしてるんだけどうまくいかのよね。
264 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 17:51:13 ] Firefoxを多重起動したときに連動するように したいんだが、どうすりゃいいんだ??
265 名前:デフォルトの名無しさん [2008/06/15(日) 18:24:36 ] RDFから作成したlistboxをもう一度、RDFから作成しなおす方法はありませんか?
266 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:24:53 ] よくわからんが、builder.rebuild()じゃだめなの? XUL:Property:builder - MDC developer.mozilla.org/ja/docs/XUL:Property:builder
267 名前:デフォルトの名無しさん [2008/06/16(月) 22:18:32 ] ありがとうございます。 builder.rebuild()ではファイルからの再読み込みはしないようです。 別の方法を考えます・・・・。
268 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:14:24 ] >>267 多分nsIRDFServiceのUnregisterDataSourceでいったんデータソースを開放しないとダメ。
269 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:24:07 ] leakmonitorを入れてみたら、以下のようなコードもリークしてるよと 報告されました。 document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function(e) { if (e.target == this) myextension.showContextMenu(this);}, false); やっぱりちゃんと handleEvent メソッドを備えたオブジェクトをリスナーとして登録して、 window の unload 時に removeEventListener した方がいいんでしょうか? まだまだ良く分かっていないので、とんちんかんな質問かもしれませんがよろしくお願いします。
270 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:04:47 ] >>269 handleEventを使う必要はないと思うけど removeEventListenerはしておいた方が安全そう
271 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 06:11:08 ] <tabbox id="tabBox" orient="vertical" flex="1"> <tabs> <tab label="tab1" id="tab1"/> <tab label="tab2" id="tab2"/> <!-- 以下、tabたくさん --> </tabs> <tabpanels id="pagePanels" flex="1"> <tabpanel id="1"> <html:iframe type="content" id="iframe1" src="〜" flex="1"/> </tabpanel> <tabpanel id="2"> <html:iframe type="content" id="iframe2" src="〜" flex="1"/> </tabpanel> <!-- 以下、tabpanelたくさん --> </tabpanels> </tabbox> このようなXULをウィンドウコンテント領域に表示させると、 多数のタブのブラウザに入りきらない部分が見切れてしまい、 矢印キーなどでフォーカスは当たるが表示されない状態になってしまいました。 また、それに合わせてtabpanelも広がってしまい、右端の部分が表示されません。 これを、タブを多段表示にする、またはスクロールバーなどを出す、など 何らかの方法でブラウザ内に収まりきるようにしたいのですが どうしたらいいんでしょうか? flexを外したりorientをhorizontalにしたりしても tabpanelが縮んだりタブが縦に広がったりとうまくいきません。 また、cssでwidth:100%などしても効果がありませんでした…。
272 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 08:03:49 ] それこそtabbrowser.xmlを参考にしてみたらいいんじゃない?>スクロール Tab Mix Plus等のコードを見てみれば多段表示についてもヒントが得られるかと。
273 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 21:18:52 ] レビューでバグについて報告があったんだけど、 自分の環境では再現されない。 この場合どういう反応をすればいいんだろうか。
274 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:20:59 ] TMPの作者に倣ってみるとか tmp.garyr.net/forum/viewtopic.php?p=23635#23635 tmp.garyr.net/forum/viewtopic.php?p=24428#24428
275 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 01:12:56 ] >>274 どうも。とりあえず 他のアドオン無効でチェックしてみて、まだ問題あるなら連絡してくれ という意味(のつもり)の文を書いといたよ。 あんだけの文章でどれだけ時間掛けてるんだ俺……英語力のなさに失望orz
276 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 10:35:19 ] ボタンを通常のクリックしたときとミドルクリックしたときで実行する処理を分けたい場合 どうすればいいですか? oncommandでevent.buttonの値を調べてもundefinedとなってしまいます。
277 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 03:49:37 ] onclickでやるしかないんじゃないかな 通常クリック→oncommandで捕捉 ミドルクリック→onclickで捕捉(通常クリックは無視)
278 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 12:21:07 ] >>277 その方法でいけそうです。ありがとうございました。
279 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 04:44:00 ] >>592 設定出来ない。 ツール(外部アプリ)でいじれるかも知れない。 >>593 saveImageURLって何 forums.mozillazine.jp/viewforum.php?f=2 ttp://forums.mozillazine.org/viewforum.php?f=19 ttp://pc11.2ch.net/test/read.cgi/tech/1164625238/ で聞く方が良いのでは? 拡張機能で同様の機能を持つものはいくらでもあるけど。
280 名前:279 mailto:sage [2008/09/25(木) 04:45:25 ] 誤爆した。
281 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 00:44:10 ] Visual Basic2008にXULRUNNERを組み込もうとしています 表示まではあっさり行ったのですが、プログラムでブラウザをコントロールするところがうまくいきません ページ上の各要素に対してコントロールしたいのですが IEのように、各種Htmlコントロールでコントロール出来ないのです ここからサンプル-------------------------------- 'ブラウザメモリ確保 IE = New WebBrowser Moz1 = New AxMOZILLACONTROLLib.AxMozillaBrowser Moz2 = New AxMOZILLACONTROLLib.AxMozillaBrowser Dim heOut As HtmlElementCollection heOut = Moz2.Document '代入した瞬間にエラー 'heOut = IE.Document.All'うまくいく heOut.GetElementsByName("srchtxt")(0).InnerText = "検索用です" heOut.GetElementsByName("srchbtn")(0).InvokeMember("click") ここまでサンプル-------------------------------- HTMLコントロールはIE用に用意されているので、何らかのキャストが必要かと思うのですが MOZILLA側で、各要素をコントロールするにはどうすればいいのでしょう MOZILLAのメソッドを色々探しているのですがなかなか見つからず難儀しています
282 名前:plus7 ◆DHcM3x9Sng mailto:sausage [2008/09/29(月) 12:33:01 ] HtmlElementCollectionにHtmlDocument代入しようとすればエラーになるのは当然では あと微妙にスレ違い
283 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 19:28:57 ] いやまあ・・エラーになって当然なんだけど Mozillaでも似たようなクラス無いのかなぁ・・・と。 目的はプログラムから直接画面上のテキストやらボタンやらにアクセスしたいんです すれ違いなの?
284 名前:plus7 ◆DHcM3x9Sng mailto:sausage [2008/09/29(月) 22:51:58 ] GeckoのActiveXコントロールはわざわざIEコンポーネントの機能を エミュレーションしているので、一部(つーか大半)使えない機能がある。 だが、document.allには対応してそうな感じ。 mxr.mozilla.org/mozilla-central/source/embedding/browser/activex/src/control/IEHtmlDocument.cpp#98 getElementsByNameは見た限りでは見つからない。innerTextはいけるっぽい。 mxr.mozilla.org/mozilla-central/source/embedding/browser/activex/src/common/IEHtmlElement.cpp#602 とまあ苦労するのが目に見えているので、.NETでGeckoをより深く制御したいならこのコンポーネントを使ったほうがいい。 code.google.com/p/geckofx/ >すれ違いなの? >>1 は読んだのかね?
285 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 00:55:40 ] 283です ありがとうございます。 そんなコンポーネントを作ってる人がいるとは。 週末に試すようにします。 姉妹スレ できけってことかと思うんですが、ブラウザ自体を作りたいわけではなかったので・・・ あ、でもこちらは拡張の作り方か・・・すいません。
286 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:20:26 ] ちょっと紹介させてください。 XULのUIデザイナみたいなものを作ってみました。 まだ不安定ですが、よかったらどうぞ。 kukuru.s7.xrea.com/xulpix/
287 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 19:32:33 ] >>286 マルチプラットフォームのようですが、何で作られたんですか? あと、Mac 版はないのでしょうか?
288 名前:286 mailto:sage [2008/10/04(土) 19:56:30 ] >>287 XULの実行環境であるXULRunnerを使って作りました。 XULRunnerはMac版もあるので、動くと思うのですが、 手元にMacがないのと、実行の仕方がちょっと違うので、 少し考えているところです。XULRunnerのページが参考になると思います。 developer.mozilla.org/ja/XULRunner
289 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:15:44 ] Firefox 3があるなら Firefox -app application.ini で起動できるんじゃない?
290 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 00:37:24 ] 下のプログラムなんですが、WEBサーバに配置してみると動かなくなります。 signed.applets.codebase_principal_supportをtrueにする以外の方法(正規の方法?) で動くようにするにはどうしたらよいのでしょうか? 署名スクリプトなんでしょうか?・・ <html> <head> <title>Execute Any Process</title> <script> function executeFile() { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath("c:\\windows\\notepad.exe"); var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess); process.init(file); var args = ["test.txt"]; process.run(false, args, args.length); } catch (e) { alert(e); } } </script> </head> <body> <input type="button" value="Run a process" onclick="executeFile()"/> </body> </html>
291 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 01:51:04 ] 正気?
292 名前:デフォルトの名無しさん [2008/10/20(月) 01:00:52 ] なんで?
293 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 09:11:24 ] >>290 file.initWithPath("c:\\windows\\notepad.exe"); こんなことやろうと思うのはXULだからだろうか。 いや、別にいいと思うんだ。いろいろ自動化できるし。 でもなんでサーバーに置こうとか思うんだろう。 無理に決まってるだろ。セキュリティ的に。 俺は何を言おうとしたんだろう。辺なののこって他。 ーーーーーーーーーーーーーーーーーーーー PyXPCOM Mozillaの3万近いファイルを全部ビルドせないかん → javaXPCOM これもいっしょ → XULRunner HTMLのような定義ファイル+javaScript XPConnectなら標準機能だが、JavaScriptのみのサポート
294 名前:デフォルトの名無しさん [2008/10/27(月) 17:02:35 ] Firefoxタブの挙動の検知を利用したプログラムを作成したいと考えているのですが、 どうすればそのような検知が可能でしょうか? 現在何番目のタブを開いている(閉じた)であるとか、タブの位置を何番目に移動したなどを検知したいです。 そのような手法、あるいは似たプログラム等ご存知の方教えて頂けないでしょうか。 よろしくお願いします。
295 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 18:46:09 ] >>294 ttps://developer.mozilla.org/ja/FUEL/BrowserTab
296 名前:デフォルトの名無しさん [2008/10/28(火) 12:16:08 ] >>295 さん ありがとうございます!参考にして作成してみます。
297 名前:デフォルトの名無しさん [2008/11/07(金) 09:59:13 ] about:blankが表示される度に実行するプログラムを作成したいのですが どんなコードを書けばできるのかわかりません。
298 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 10:42:52 ] ページの読み込みを監視するとか? 新しくタブを開いたらまずabout:blankが表示されるからその分は除外しないといけないけど。(canBackを見るなどして)
299 名前:297 mailto:sage [2008/11/07(金) 11:23:54 ] >>298 すみません、言葉が足りませんでした。 about:blankの判定する方法がよくわからないんです。 loadURI == null で試してみたのですが ページの読み込みってProgressListenerを使えばいいんでしたっけ?
300 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:39:17 ] var tab = gBrowser.selectedTab; if (tab.linkedBrowser.currentURI.spec == 'about:blank' && tab.linkedBrowser.sessionHistory.count > 1) { ... } 任意でabout:blankを読み込んだ時はこれで判定できるはず。新規タブの場合も含めるなら二つ目の条件は不要。 ページ読み込み監視はProgressListenerを使ってもいいし、gBrowserでDOMContentLoadedイベントを拾ってもいけるんじゃないかと。 gBrowser.addEventListener('DOMContentLoaded', function(aEvent) { alert(aEvent.originalTarget.defaultView.location.href); }, true);
301 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 12:03:09 ] >>300 ありがとうございます。参考にさせていただきます。 卒研でXULに挑戦しているのですが助かりました。
302 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 15:35:55 ] 質問です。 1年ぐらい前にXUL勉強してて、最近やり直そうと思い https://developer.mozilla.org/ja/XUL_Tutorial ↑見ながら再び勉強してるんですが、 chrome以下にディレクトリ作って、manifestファイル置いただけでは 例えば以下のように、 chrome://findfile/content/findfile.xul chrome経由でブラウザで確認ってできなくなってますか? 拡張としてインストールしてからでないとだめなんでしょうか。
303 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 16:44:13 ] manifestファイルはどう書いた? 以下のように書いてあればいけるはず XULファイルの場所: C:\Program Files\Mozilla Firefox\chrome\testfiles\findfile.xul manifestファイルの場所: C:\Program Files\Mozilla Firefox\chrome\testfiles.manifest testfiles.manifestの内容: content findfile testfiles/
304 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 17:07:09 ] なんでprogram files直下に置くの? プロファイルのextensionsディレクトリにおけばいいよね?
305 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 22:56:56 ] >>303 >>304 レスサンクス。 マニフェストファイルには、パスを file:///findfile/content/ て書いてたんですが、file:///除去して、後文字コード見直したらうまくいきました。
306 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 13:32:56 ] もう解決したようだからいいんだけど、file:に書くのは絶対パスだよ。 >303の位置だったら、相対パス指定で testfiles/ と書いている部分を絶対パスで書くと file:///C:/Program%20Files/Mozilla%20Firefox/chrome/testfiles/ になる。
307 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 03:51:25 ] Firefox 3.1b1で XULのtextboxのwrap="off"が反映されず、右端で自動改行されてしまいます。 CSSのwrap周辺が変更された影響だと思うんですが どう対応すればいいんでしょうか? まったく同じコードで3.0.4では自動改行されません。 style属性でwhite-space:pre;としても変化ありません。
308 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 12:50:28 ] 君が試しているのがベータ版だということが認識できていれば、 とるべき行動は自ずと明らかではないだろうか。
309 名前:307 mailto:sage [2008/12/02(火) 17:08:11 ] >>308 ????? バグ報告ですか? バグならバグでいいんですが そう断定するにはそれなりに情報を集める必要があるので ・既知の問題かどうか ・試してみるべきことはあるか ・バグの可能性があるか ・ハック的なものでもいいので回避策があるか などの次のステップにつながる情報を いただけるかと思い質問してみたんですが・・・
310 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:53:43 ] ベータを扱っててどうすればいいんでしょうかもクソもないだろ ベータを何だと思ってんの?馬鹿なの?死ぬの?
311 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:04:48 ] >>309 Bugzilla@Mozilla https://bugzilla.mozilla.org/ 自分で調べる。
312 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:11:50 ] >>311 bugzillaはざっと見てみましたがwrap関係の報告はあるものの 今回の件に該当するものがないっぽいです。 で同じような状況の人がいないかなーと書き込みを こういうのもダメ? >>310
313 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:24:12 ] >>307 以下をExample.xulと言う名で保存, FxにD&D, 別に問題ないように見えるけど, 何が問題でどうしたいの? バグ報告するにしてもそれなりにしないと相手にしてもらえないよ。 <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="example-window" title="Example" xmlns:html="www.w3.org/1999/xhtml " xmlns="www.mozilla.org/keymaster/gatekeeper/there.is.only.xul "> <textbox multiline="true" wrap="off" value="XULのtextboxのwrap="off"が反映されず、右端で自動改行されてしまいます。CSSのwrap周辺が変更された影響だと思うんですがどう対応すればいいんでしょうか?"/> </window>
314 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:43:35 ] >>313 試しました。 3.0.4では自動改行されず水平スクロールバーが出ます。 3.1b1では自動改行されて水平スクロールバーは出ません。
315 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:45:59 ] Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9.1b3pre) Gecko/20081201 Minefield/3.1b3pre 問題ない
316 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:46:46 ] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5pre) Gecko/2008120105 GranParadiso/3.0.5pre ID:2008120105 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3pre) Gecko/20081201 Shiretoko/3.1b3pre ID:20081201204426 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20081201 Minefield/3.2a1pre ID:20081201202728 で試したけど, 全部同じ結果で問題ないよ。 >>314 3.1b1って何? そんなどこにもないぞ
317 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:47:58 ] 古すぎるものでバグ出されても無死されるだけだぜ
318 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:06:03 ] >>315 ,316,317 ↓これで試していました。 https://www.mozilla.com/en-US/firefox/all-beta.html Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.1b1) Gecko/20081007 Firefox/3.1b1 確かに古いようです。 最新で試してきます。
319 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:16:56 ] 人に言われないと古いという根本的な問題に気付かないような人はベータ使うのやめた方がいいと思うよ
320 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 01:18:45 ] >>319 激しく同意。
321 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 08:50:30 ] XULの拡張を作ってます。 タブごとのセッション情報を保持したいと思っているのですが、どんな方法があるのでしょうか。
322 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 09:17:44 ] https://addons.mozilla.org/ja/firefox/addon/1859 中にある tab_history.js を見れ
323 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 10:38:07 ] Firefoxのインストール先の componentsフォルダにある nsSessionStore.js の中を見るのがいいと思う
324 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 08:36:15 ] AMOの統計ダッシュボードの今週のデータおかしくない? 確認したアドオンすべてでアクティブユーザ数が 軒並み-95%ぐらいになってるんだが 水曜に集計してデータに反映されるまでタイムラグあるから そのうち正常値にもどるかと思ってたが今のとこ変化なし。
325 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 03:49:57 ] Firefox3のJavascriptのXPCOM内で 与えられたあるフォルダのサブフォルダも含めた ファイル一覧を取得しようとしています。 現在再起処理では問題なく実現できていますが ファイル数が多いと重くなってしまいます。 非同期で処理したいのですが何を使えばいいんでしょうか?
326 名前:325 mailto:sage [2008/12/16(火) 06:09:26 ] 自己解決しました。 nsITimerでいけますね。
327 名前:デデフォルトの名無しさん [2008/12/19(金) 12:59:03 ] XULでツールバーにボタンをつくってそれに戻る、進むの処理をさせた いんですけど、どうすればわかりません。よければ教えてください。
328 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 18:58:13 ] よくないので教えません つか、戻る進はもうあるじゃん
329 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 19:07:24 ] >>327 command に Browser:BackOrBackDuplicate Browser:ForwardOrForwardDuplicate を登録すればよいんジャマイカ 後はその他色々
330 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 02:12:07 ] 「パスみえ」のようなUIを実現したいのですが、どうしたらいいか見当もつかず困っています 何かヒントをいただけませんか
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つのディレクトリ間の同期をとる処理を書いています。 それでディレクトリの更新日時まで同期したいわけですが