もう11時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50 [PR]女性の自宅ナマ映像を無料公開[PR]  

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あたりに関連リンク、近況などがあるかも。

229 :デフォルトの名無しさん:2008/02/01(金) 18:48:55
>>228
>にすべての構成ファイルの文字コードを改めてUTF8BOMなしで保存し、
>インストールしてみましたがやはりできませんでした。

chrome.manifestをUTF-8のBOMなしで保存したら動作するけど...
エディタが勝手に変なことするんじゃない?

230 :デフォルトの名無しさん:2008/02/01(金) 19:35:31
スレチな質問だとは思うんですが
UTF-8BOMなしで保存して、開きなおしたらUTF-8BOMなしで開くものですよね?
TerapadでもEmEditorでも開きなおすとSJISになってしまうんです。
他のUTF-8のファイルはちゃんとUTF-8で開くのですが...

231 :デフォルトの名無しさん:2008/02/01(金) 19:50:22
BOMついてるのはバイナリエディタで確認できる
でchrome.manifest BOMついてますね。

エディタの件だが, 自動判定はあまり信用しない方がよろしいかと,
特にファイルに含まれる文字数が少ない場合は失敗する確率が高い,
BOMついてないUTF-8は特に判定が難しい。

使用エディタ変える方がいいんじゃない, 秀丸エディタとかNotepad++とか

232 :デフォルトの名無しさん:2008/02/01(金) 19:55:06
>>230
TeraPadはUTF-8(BOMなし)を扱える。
君のTeraPadの設定がおかしい可能性が高い。
オプションの文字コード関係の設定をよく見直して。
これ以上はTeraPadスレで。

233 :デフォルトの名無しさん:2008/02/01(金) 20:04:52
>>231
再度保存してみたものです。
バイナリエディタでみたところ各ファイルBOMはついてないようです。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000026353.zip

chrome.manifestを直したものはツールのところにhello world出てるってことですよね?

>エディタの件だが, 自動判定はあまり信用しない方がよろしいかと,
>特にファイルに含まれる文字数が少ない場合は失敗する確率が高い,
>BOMついてないUTF-8は特に判定が難しい。
なるほど。勉強になります。

234 :デフォルトの名無しさん:2008/02/01(金) 20:37:02
連投失礼いたします。

直接extensionsフォルダから拡張を削除しもう一度インストールしたらできるようになりました。
どうもお騒がせしました。

235 :220:2008/02/06(水) 14:31:27
結局
http://developer.mozilla.org/ja/docs/Code_snippets:File_I/O
を見て、プロファイルディレクトリが取れたのでよしとしました。


236 :デフォルトの名無しさん:2008/02/14(木) 05:04:30
おまえらデバックする時どうしてる?
自分は書庫化し直してるんだが、これって一般的な方法?
どうも面倒くさい

237 :デフォルトの名無しさん:2008/02/14(木) 05:08:44
>>236
アドオン開発環境のセットアップ
http://developer.mozilla.org/ja/docs/Setting_up_extension_development_environment

238 :デフォルトの名無しさん:2008/02/14(木) 06:26:53
>>236
>>237 の開発用の設定にして、jarに圧縮せず、-console オプションを付けて起動。

239 :デフォルトの名無しさん:2008/02/14(木) 06:30:05
どもども

240 :デフォルトの名無しさん:2008/03/01(土) 09:21:56
xulをプラットフォームとして使おうと思ったら、Firefox起動しない状態でも、ファイルをダブルクリックしたらXULアプリケーションが起動するような環境が必要だと思うのだが・・・

241 :デフォルトの名無しさん:2008/03/01(土) 13:47:17
>>240
思うのだが?続きはなんでしょう?
http://developer.mozilla.org/ja/docs/XULRunner

242 :デフォルトの名無しさん:2008/03/06(木) 21:34:29
Firefox3でopenPopupの直後だとpanelのサイズが取得できない……。
2ではshowPopupの直後でもpopupのサイズ取得できたのになあ……。

それでもなんとかして取得したいんだが、どうすればいい?
欲を言えば、openPopup(showPopup)の前(非表示状態のとき)に
取得できるとなお良いんだが。

要はウィンドウ中央に表示させたいんだよね。

243 :デフォルトの名無しさん:2008/03/07(金) 22:50:06
ポップアップは非同期になったんじゃなかったけ?
popupshowingかpopupshownで取得できるんじゃない?

244 :デフォルトの名無しさん: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="http://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 :デフォルトの名無しさん:2008/03/11(火) 14:42:51
>>246
オーバーレイを適用する親要素がない。

ttp://developer.mozilla.org/ja/docs/XUL_Overlays

248 :デフォルトの名無しさん:2008/03/11(火) 14:47:06
<overlay id="inputhelperOverlay"
xmlns="http://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 :デフォルトの名無しさん:2008/03/11(火) 16:19:32
>>247,248
できました!ありがとうございます!


250 :デフォルトの名無しさん:2008/03/14(金) 23:39:42
addons.mozilla.org について教えてほしいのですが
・作者の項目にニックネームを表示する方法
・登録した拡張の削除の仕方
これらはどうやってやるのでしょうか?

作者がニックネームの人も居るので出来るかと思ったら
アカウントを作ったときの姓名が表示されてしまうし、
ファイルを削除は出来ても、登録された拡張は削除できないし、
わけわかめな状態になってます。

251 :デフォルトの名無しさん:2008/03/15(土) 10:30:04
ログインした状態で右上の「アカウント」って所からニックネーム設定できるよ。
あと登録された拡張の削除はシステム的にできないみたい。
ファイルを消せばユーザからは見えなくなるのでそれで我慢するしかないぽ。
漏れなんて、この間からシステムの不調でアップロードが上手く行かなくて
管理画面上ではIncomplete - No Filesで同じバージョンの項目が3つ並んでる。


252 :250:2008/03/17(月) 20:20:17
>>251
レスどうもです。

アカウントでニックネームを設定してみたのですが、
開発者用コンパネでは作者に姓名の方が表示されています。
作者の追加でも、アカウントから勝手に作者名を探すみたいで、
名前を自由に入れたりは出来ないみたいだし。
とりあえず姓名の方を適当に変更する事にします。

削除は出来ないんですね。
自分も同じバージョンのIncomplete - No Filesが3つ並んでますw

253 :デフォルトの名無しさん:2008/04/04(金) 22:26:35
webサービス開発系のプログラマーは目の的!
firefox開発者って対して取り上げられていなくてかわいそうに
だっせぇwww

254 :デフォルトの名無しさん:2008/04/04(金) 22:34:33
めのまと?

255 :デフォルトの名無しさん:2008/04/04(金) 23:09:51
>>253
日本語でおk

256 :デフォルトの名無しさん:2008/04/04(金) 23:42:29
めのてき(←なぜか変換できない)

257 :デフォルトの名無しさん:2008/04/04(金) 23:57:14
目の敵と目の的の関係は既出と外出のそれに同じか。

258 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 修正後
http://mxr.mozilla.org/firefox/source/browser/base/content/browser-textZoom.js 現コード

260 :デフォルトの名無しさん:2008/04/05(土) 13:32:00
御回答ありがとうございます。でも、なぜこうやらないんですか?
get _cps() {
return Cc["@mozilla.org/content-pref/service;1"].
getService(Ci.nsIContentPrefService);
},

261 :デフォルトの名無しさん:2008/04/05(土) 23:07:54
getterが最初の一回のみ実行されるようにじゃないの
delete this._cps; によってgetterが削除されて
以降はthis._cpsに格納されたnsIContentPrefServiceを参照するようになる

262 :デフォルトの名無しさん:2008/04/06(日) 00:20:04
なるほど。ありがとうございました。

263 :デフォルトの名無しさん:2008/04/07(月) 22:15:25
gzip圧縮されたdiskキャッシュをnsIStreamConverterServiceの
convertで展開しようとしてるんだけどうまくいかのよね。

264 :デフォルトの名無しさん:2008/06/12(木) 17:51:13
Firefoxを多重起動したときに連動するように
したいんだが、どうすりゃいいんだ??

265 :デフォルトの名無しさん:2008/06/15(日) 18:24:36
RDFから作成したlistboxをもう一度、RDFから作成しなおす方法はありませんか?

266 :デフォルトの名無しさん:2008/06/15(日) 21:24:53
よくわからんが、builder.rebuild()じゃだめなの?
XUL:Property:builder - MDC
http://developer.mozilla.org/ja/docs/XUL:Property:builder

267 :デフォルトの名無しさん:2008/06/16(月) 22:18:32
ありがとうございます。
builder.rebuild()ではファイルからの再読み込みはしないようです。
別の方法を考えます・・・・。

268 :デフォルトの名無しさん:2008/06/17(火) 23:14:24
>>267
多分nsIRDFServiceのUnregisterDataSourceでいったんデータソースを開放しないとダメ。

269 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/06/18(水) 01:04:47
>>269
handleEventを使う必要はないと思うけど
removeEventListenerはしておいた方が安全そう

271 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/06/22(日) 08:03:49
それこそtabbrowser.xmlを参考にしてみたらいいんじゃない?>スクロール
Tab Mix Plus等のコードを見てみれば多段表示についてもヒントが得られるかと。

273 :デフォルトの名無しさん:2008/07/14(月) 21:18:52
レビューでバグについて報告があったんだけど、
自分の環境では再現されない。
この場合どういう反応をすればいいんだろうか。

274 :デフォルトの名無しさん:2008/07/14(月) 22:20:59
TMPの作者に倣ってみるとか
http://tmp.garyr.net/forum/viewtopic.php?p=23635#23635
http://tmp.garyr.net/forum/viewtopic.php?p=24428#24428

275 :デフォルトの名無しさん:2008/07/15(火) 01:12:56
>>274
どうも。とりあえず
他のアドオン無効でチェックしてみて、まだ問題あるなら連絡してくれ
という意味(のつもり)の文を書いといたよ。
あんだけの文章でどれだけ時間掛けてるんだ俺……英語力のなさに失望orz

276 :デフォルトの名無しさん:2008/07/26(土) 10:35:19
ボタンを通常のクリックしたときとミドルクリックしたときで実行する処理を分けたい場合
どうすればいいですか?
oncommandでevent.buttonの値を調べてもundefinedとなってしまいます。

277 :デフォルトの名無しさん:2008/07/27(日) 03:49:37
onclickでやるしかないんじゃないかな
通常クリック→oncommandで捕捉
ミドルクリック→onclickで捕捉(通常クリックは無視)

278 :デフォルトの名無しさん:2008/07/27(日) 12:21:07
>>277
その方法でいけそうです。ありがとうございました。

76 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]

■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
CSS/DHTMLバグ辞典スレッド【第5版】 [Web制作]
第三回ParaFla!感謝祭 [FLASH]
代替スタイルシートに萌え〜 [Web制作]
Tiny Personal Firewall Part5 [セキュリティ]
スケジュール管理☆ソフト総合スレ3 [ソフトウェア]

新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.0.7.3 2008/07/26
FOX ★ DSO(Dynamic Shared Object)