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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
オラ拡張作る。

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あたりに関連リンク、近況などがあるかも。
2デフォルトの名無しさん:2006/11/27(月) 20:11:57
ずるしてらくしてかれいに2げっとかしらかしら〜
3デフォルトの名無しさん:2006/11/27(月) 22:45:42
XULはMozilla Corporationの商標だぞ
勝手に使うなよ
4デフォルトの名無しさん:2006/11/27(月) 22:50:46
There is no data.
There is only xul.
5デフォルトの名無しさん:2006/11/27(月) 23:30:50
>>3
商標についての知識が皆無のようだね。
6デフォルトの名無しさん:2006/11/28(火) 08:52:48
XUL® でいいのか?
7デフォルトの名無しさん:2006/11/28(火) 16:36:43
2chって™とか ™ って表示されないんだっけ?
♥は出るのにな
8デフォルトの名無しさん:2006/11/28(火) 16:38:01
お 出るじゃんXUL™
9デフォルトの名無しさん:2006/12/01(金) 14:56:41
そもそも>>3も勝手に使ってる件w
10デフォルトの名無しさん:2006/12/02(土) 22:59:39
var foo.prototype = {
hoge: function foo_hoge(){
...
}
}
のような書き方をよく目にしますが、foo_hogeにはどういう意味があるのでしょうか?
11デフォルトの名無しさん:2006/12/02(土) 23:59:19
foo_hogeでググれ
12デフォルトの名無しさん:2006/12/03(日) 00:23:28
いや、
foo.prototype = {
hoge: function(){
...
}
};
ではなく、
foo.prototype = {
hoge: function foo_hoge(){
...
}
};
とすることに意味はあるのか、ということを知りたいのです。
13デフォルトの名無しさん:2006/12/03(日) 02:28:12
デバッグがしやすくなる。
XPConnectに絡んだエラーが出たときとか、
関数名があればそれがエラーコンソールに出てくるから、
それを見ただけで大体の場所がわかる。
14デフォルトの名無しさん:2006/12/03(日) 04:35:35
>>11
ちょっとワラタ
15デフォルトの名無しさん:2006/12/04(月) 01:30:41
>11
思ったより検索結果が少ないことに驚いてるぜ俺。
16デフォルトの名無しさん:2006/12/06(水) 17:16:32
XUL Tutorialを読んでXPCOMを試しているんですけど、エラーになって困ってます。
TutorialのXPCOMのページにある最初の例
var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance();
if (afile) aFile.queryInterface(Components.interfaces.nsILocalFile);
を試しているんですけど、
Error: uncaught exception: Permission denied to get property UnnamedClass.classes
というエラーがでてしまい、先に進めません。
どうやら Compoments.classes というところでエラーになっているようです。
alert(Components.classes); // これでエラーになる
どなたかアドバイスお願いします。
17デフォルトの名無しさん:2006/12/06(水) 17:27:14
すいません、ぐぐったら
http://www.xulplanet.com/tutorials/xulqa/q_pdenyucc.html
そのままありました。
しかし原因はわかりましたが、解決策がいまいちわかりません。
chromeにする、みたいなことがかいてあるんですが。どうするんだろ。
18デフォルトの名無しさん:2006/12/06(水) 18:12:11
Mozillaでプログラミング(XUL) その2
http://pc8.2ch.net/test/read.cgi/tech/1102172958/952-956
952 名前:デフォルトの名無しさん 投稿日:2006/10/22(日) 22:35:33
user_pref("capability.principal.myapp.id","http://www.example.com/");
user_pref("capability.principal.myapp.granted","UniversalXPConnect");

こんな感じでローカルファイルではなくて外部のURLにXPConnectの特権を与えることはできないのでしょうか?


953 名前:デフォルトの名無しさん 投稿日:2006/10/23(月) 13:39:48
>952
これはどう?
ttp://piro.sakura.ne.jp/latest/blosxom.cgi/webtech/javascript/2006-06-27_unsinged-script.htm
19デフォルトの名無しさん:2006/12/07(木) 22:07:45
>>16

http://developer.mozilla.org/ja/docs/XUL_Tutorial:Manifest_Files

を参考に、マニフェストファイルを作成して、適当なディレクトリを
chrome に登録する。

そこに、置いたファイルが chrome: で始まる URL でアクセスできたら、XPCOM の例は
確認できると思うけど、その前に、

ttp://piro.sakura.ne.jp/xul/tips/x0000-2.html

を読んでおいた方が無用な苦労をしなくてすむかも。
2017:2006/12/08(金) 01:13:34
>>18をヒントにいろいろ検索し、以下のようにすることでできるようになりました。
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
ただし、毎回確認ダイアログがでます。署名付きスクリプトにすればいいみたいですが、よくわかりません。
ローカルのxulファイルを実行しているときは、他のローカルファイルにもアクセスできてほしいんですけど、きっとそういうわけにはいかないんでしょうね。

それで、今度はnsILocalFileオブジェクトの使い方がわかりません。XULPlanetのXPCOMリファレンスを参考にしているのですが、エラーになります。
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
aFile.initWithPath('example.txt'); // ここでエラー

エラー内容は次のとおりです。
Error: uncaught exception: [Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH)
[nsILocalFile.initWithPath]" nsresult: "0x80520001
(NS_ERROR_FILE_UNRECOGNIZED_PATH)" location: "JS frame :: file://localhost/Users/wada/tmp/xul/tut1.xul :: test1 :: line 218" data: no]

UNRECOGNIZED_PATHだとあるんですけど、どういう意味でしょうか。もちろんexample.txtは存在します。
教えてくんで申し訳ありませんが、アドバイスいただけないでしょうか。
2117:2006/12/08(金) 01:15:08
>>19
ああ、新しいレスがあったんですね。すみません。
今から読んでchromeとやらを勉強します。
22デフォルトの名無しさん:2006/12/08(金) 01:17:59
>>20
ちゃんとnsILocalFileで検索したのかな?
XULPlanetのインターフェースリファレンスを見ればいいんだけど。

http://www.xulplanet.com/references/xpcomref/ifaces/nsILocalFile.html#method_initWithPath
Arguments:
filePath: A string which specifies a full file path to a location.
23デフォルトの名無しさん:2006/12/08(金) 04:23:32
20>>
22>>
チュートリアルにも加えておきました。

そういや、
http://developer.mozilla.org/ja/docs/XUL_Tutorial:Templates
にあるような特権の説明、XPCOMのセクションにも加えたほ方が良いのかな?

なんで、テンプレートにあるんだろうと思ったら、
昔はテンプレートの方が XPCOM より前のセクションだったみたいですね。
24デフォルトの名無しさん:2006/12/08(金) 21:03:03
XPCOMで遊ぶならMCRでidl定義を見るのもいい方法だ
ttp://lxr.mozilla.org/mozilla/
25デフォルトの名無しさん:2006/12/08(金) 21:50:16
というかドキュメントが糞過ぎて見ないと分らない罠。
26デフォルトの名無しさん:2006/12/09(土) 10:47:09
最終的にはソースを読むことになるんだけどな
27デフォルトの名無しさん:2006/12/10(日) 16:27:45
そーっすね
28デフォルトの名無しさん:2006/12/11(月) 16:44:13
>>1に追加すべき日本語の資料って

XUL Tutorial 日本語版
http://developer.mozilla.org/ja/docs/XUL_Tutorial
XUL Wiki
http://wiki.fdiary.net/xul/
XUL Apps > Tips&Technics - outsider reflex (やや古め?)
http://piro.sakura.ne.jp/xul/tips/

あたりかな?ほかになんかある?
29デフォルトの名無しさん:2006/12/11(月) 18:42:29
XULアプリケーション作成入門
http://www.mozilla.gr.jp/~kazhik/xul/tutorial.html
30デフォルトの名無しさん:2006/12/11(月) 18:43:45
連投になってスマソ
Mozilla 資料 - コアアーキテクチャ: XUL
http://www.mozilla-japan.org/catalog/architecture/xul/
31デフォルトの名無しさん:2006/12/13(水) 18:52:01
32デフォルトの名無しさん:2006/12/13(水) 19:11:53
便利かもしれない開発ツール

○拡張○
Extension Developer's Extension
http://ted.mielczarek.org/code/mozilla/extensiondev/
XPXOMViewer
http://xpcomviewer.mozdev.org/

○Eclipse○
EclipseXUL(XULRunnerアプリの開発向け)
http://eclipsexul.sourceforge.net/
XulBooster(Firefox用拡張の開発向け)
http://cms.xulbooster.org/
33デフォルトの名無しさん:2006/12/13(水) 19:13:59
ぎゃあ、XPXOMViewerってなんだよ・・・
元のページのタイトルが間違ってんじゃん・・・
正しくはXPCOMViewerってことで
34デフォルトの名無しさん:2006/12/14(木) 00:44:13
>>33
言われるまで気づかなかった
35デフォルトの名無しさん:2006/12/14(木) 14:18:20
これってXPCOM Component Viewerとは別物なの?
36デフォルトの名無しさん:2006/12/14(木) 23:26:03
Component Object Model Component Viewer って変な感じ
37デフォルトの名無しさん:2006/12/17(日) 21:33:36
地域化(locale)が全く出来ません。
.batファイルでスクリプトを書いてパックしてるんだけど・・・
パック後じゃないと内容は確認できないの?
38デフォルトの名無しさん:2006/12/18(月) 23:15:53
chrome.manifestかinstall.rdfが間違ってるんじゃないの?
39デフォルトの名無しさん:2006/12/18(月) 23:30:13
デバッグ中はxpiにしなくても良い
40デフォルトの名無しさん:2006/12/19(火) 21:51:57
じゃぁデバッグ中はchrome.menifestとかcontent.rdfは関係ないの?
41デフォルトの名無しさん:2006/12/19(火) 23:00:03
関係ある。chrome.manifestとinstall.rdfは必須。
content.rdfなんてものは捨ててしまえ。
42デフォルトの名無しさん:2006/12/19(火) 23:00:34
もっと素朴な疑問
そもそも拡張機能のデバッグってどうやってるの?
43デフォルトの名無しさん:2006/12/20(水) 20:15:35
dumpでエラーを監視する
44デフォルトの名無しさん:2006/12/23(土) 14:25:15
>>41
やってみる
45デフォルトの名無しさん:2006/12/23(土) 23:20:57
chrome://hoge/content/hoge.jarって、「jar」で必須?
http://developer.mozilla.org/ja/docs/Building_an_Extension#.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E5.8C.96
これだとjar圧縮は必要なくてrootディレクトリをzip→.xpiにリネームだけで済むらしい。
みんなどっち?
46デフォルトの名無しさん:2006/12/23(土) 23:37:50
そもそもいろいろなことに目をつむれば圧縮する必要すらないわけだが。
47デフォルトの名無しさん:2006/12/23(土) 23:55:36
jarは必須ではない。
48デフォルトの名無しさん:2006/12/24(日) 02:05:50
>>45
圧縮しなくてもいいが圧縮(無圧縮ね)したほうがパフォーマンスがいい
49デフォルトの名無しさん:2006/12/24(日) 10:39:30
jarにしない場合、
chromeFiles/content/xxx/
chromeFiles/skin/xxx/
っていうディレクトリ構成が一般的だが、chrome.manifestが正しければ
content/
skin/
でも問題ない。
50デフォルトの名無しさん:2006/12/24(日) 11:11:51
>>49
その一般的って言うのはどこかで推奨されてる?
Greasemonkeyがそんな構成になってたと思うけど
そうする明確な理由があるなら知りたい。
51デフォルトの名無しさん:2006/12/24(日) 12:35:18
>>50
chrome.manifestの指定に従ってるだけだから
別にどう作ってもいいんじゃね
拡張ごとにてんでバラバラじゃん
デフォルト値だけはdefaults/preferences/default.jsに決まっているみたいだけど
52デフォルトの名無しさん:2006/12/26(火) 02:21:49
ファイルのドラッグ&ドロップに反応したいのですが、内部のjsファイルとXPCOM Referenceを見ながら探してもどうすればいいのか分からないのですが…
私ってダメな子なんでしょうか…orz
53デフォルトの名無しさん:2006/12/26(火) 19:23:51
XULチュートリアルのドラッグ&ドロップの章を
見ながらやってみるといいと思う
54デフォルトの名無しさん:2006/12/27(水) 00:43:50
ドラッグ&ドロップは、チュートリアルには難しいという
ことなのか、最近のものでは外れていますんで、
日本語訳を読みたいのなら MDC ではなく、旧訳の方をどうぞ...

ttp://xul-app.hp.infoseek.co.jp/xultu-janit/dragdrop.html
55デフォルトの名無しさん:2006/12/27(水) 11:39:19
実際に使うのは多分これだね
ttp://xul-app.hp.infoseek.co.jp/xultu-janit/dragwrap.html
56デフォルトの名無しさん:2006/12/27(水) 22:31:39
今までの流れです

XPCOM Reference でDrag and DropのAPI群を見つける
     ↓
これだけだと何のことか分からないのでjsファイルを全文検索
     ↓
nsDragAndDropを発見、さらに検索
     ↓
onDrop属性発見、onDrop="alert('Hello,Drop')"とか書いて試してみる、がなんか動かない
     ↓
ondragover="nsDragAndDrop.dragOver(event,textObserver)"とかやればいいのね、アラ、動かない。
     ↓
直しては試しながら、頓挫

というカンジでしたが>>44>>45あたりのリンクのおかげで解決いたしました。
なんというか、努力不足でした、スイマセン。
57デフォルトの名無しさん:2006/12/27(水) 22:32:39
> というカンジでしたが>>44>>45あたりのリンク
54、55ですね
58デフォルトの名無しさん:2006/12/30(土) 00:57:48
chrome://xxx/content/test.jsからchrome://xxx/content/file.txtのファイルを
読みたいのですが、ファイルパスを得るにはどのようにすればよいでしょうか?
nsIDirectoryServiceを使ってProfDからextensionsフォルダ、GUIフォルダと探った
としてもその先がわかりません。
59デフォルトの名無しさん:2006/12/30(土) 12:27:49
>>58
ttp://piro.sakura.ne.jp/xul/tips/x0021.html
の後半でどうですか?
60デフォルトの名無しさん:2006/12/30(土) 16:07:47
>>59
まさにそれでした。ありがとう。
61デフォルトの名無しさん:2007/01/02(火) 06:22:43
nsIStringBundleServiceのcreateBundleと同じような感じで、JavaScriptから
DTDファイルのローカライズされた文字列の一覧を取得することは可能でしょうか?
62デフォルトの名無しさん:2007/01/08(月) 10:36:01
pc8.2ch.net→pc10.2ch.net
なんか鯖移転したみたいだけど、pc8のほうにはまだdatが残ってるぽい。
63デフォルトの名無しさん:2007/01/08(月) 10:49:27
imageタグで画像を表示したらなんか引き伸ばされちゃったんですけど。
cssでの指定はどうすればいいですか。
64デフォルトの名無しさん:2007/01/08(月) 11:26:52
>>63脳みそ腐ってたごめん。解決した。
65デフォルトの名無しさん:2007/01/22(月) 01:26:37
flexなbox内に配置した要素のサイズがboxに引きずられて拡大縮小してしまうんだけど、どうすれば防げる?

<vbox flex="1">
<image src="xxx.png"/>
</vbox>
66デフォルトの名無しさん:2007/01/22(月) 21:27:31
67デフォルトの名無しさん:2007/01/23(火) 00:21:43
>>66
さんくす
68デフォルトの名無しさん:2007/01/29(月) 23:41:17
"@mozilla.org/process/ipc-buffer;1"
nsIIPCBuffer を使いたいのですが、自分で
作るしかないのでしょうか?
69デフォルトの名無しさん:2007/01/30(火) 00:51:08
>>68
enigmail に入ってるやつ使えないかな
70デフォルトの名無しさん:2007/01/30(火) 12:21:46
>>50
なぜ一般的か、っていうと、mozilla.orgの内部的な慣例ではそうなってるから、だね。
フォルダを一階層余分に付ける直接的な理由は、複数のパッケージを
同一のjarに入れたい場合があるから。

例えば、"example"という名前の拡張を作った場合、
example.jarの構成が、
content/foo/foo.xul
content/foo/foo.js
content/bar/barOverlay.xul
content/bar/barOverlay.js

で、アクセス方法が
chrome://foo/content/foo.xul
chrome://bar/content/barOverlay.xul
のような複合パッケージングがありうることを考えると、
「慣例」としては、一階層余分に付ける方が無難になる。
だって、chrome.manifestを
content foo jar:example.jar!/foo/
content bar jar:example.jar!/bar/
という風に書けるわけだから。

しかし、現実に拡張を作成する場合、そういう複雑なことをするよりは、
むしろjarを2つ作る方が便利だから、この慣例に従うメリットはない。
納得がいかなければ、en-US.jarとかを覗いてみると良くわかると思う。

まとめ
・jarに「しない」場合じゃなくて、jarに「する」場合のための慣例。
 (単に、解凍していない時のファイル構造を見る機会が少ない故の勘違いか)
 install.js時代は、インストールのスクリプトを書くのがすごく大変だったから、
 浅知恵でファイル構成を考えると、すぐインストール不可になっていたのも大きい。
・現状では無意味。
71デフォルトの名無しさん:2007/02/10(土) 13:32:55
ttp://www.mozilla-japan.org/events/2006/fxdevcon/presentations/1a.pdf
これのScaling and rotationというスライドで紹介されているページの回転とかって
具体的にはどういう技術で可能になるのでしょうか?
72デフォルトの名無しさん:2007/02/10(土) 13:51:20
cairo
73デフォルトの名無しさん:2007/02/10(土) 14:39:18
じゃあ今のMinefieldでcairoをつかってTab Effect見たいなことできますか?
74デフォルトの名無しさん:2007/02/15(木) 16:43:57
ところで
window {
background-color:transparent !important;
}
とやると、とたんに中身が全く表示されなくなるxul要素が結構あるみたいなんだが、これは仕様?バグ?それとも仕様という名のバグ?

75デフォルトの名無しさん:2007/02/15(木) 19:18:23
>>74
それ 2.0.0.1 のバグじゃなかったっけ?
76デフォルトの名無しさん:2007/02/26(月) 20:08:24
OSを作ってください><
7774:2007/03/20(火) 17:31:11
>>75
あらら。Firefox2.0.0.2にあげたけど、ダメだったよ…。
78デフォルトの名無しさん:2007/03/31(土) 07:27:20
79デフォルトの名無しさん:2007/03/31(土) 08:02:04
>>77
仕様という名のバグとも言える仕様。
参考
ttps://bugzilla.mozilla.org/show_bug.cgi?id=70798
ttp://blog.goo.ne.jp/install-maido/e/ea4dfea9c04cea114c06f4c51fc891a8
ttp://level.s69.xrea.com/mozilla/index.cgi?id=20061224_API
ttp://maguroban.s41.xrea.com/diary/diary.xcg

まとめ
本来Fx3相当に入れるべき(?)patchを2.0.0.1に迷いながらも入れたので、特定のCSS指定でパフォーマンスの悪化、及び表示が狂うなどの現象が起きる。
このpatch自体は表現の幅を広げるが、告知がきちんと出来ていなかった為に一部のTheme職人がアタフタ。
拡張機能の互換性に関わるAPIの変更はマイナーバージョンでは入れないみたいだけど、Themeは無視ですか?その辺の認識を統一よろ。>開発者

Theme作者界隈ではそこそこの話題になったけどね。
機能として入ったものが引き起こした問題だから、2.0.0.1 - ALLが該当する。
個人的には、2に入れようが3に入れようが、Theme作者でmozilla.orgのアナウンスをこまめにチェックする人以外はどうせ同じ所でハマると思う。
今回はアナウンスがアレだったからね……。

それより俺はwindowの背景をtransparentして何がしたいのか聞きたい。
8077:2007/04/01(日) 21:21:14
windowを透明にする
  ↓
背景画像を萌え絵にする

うっせー! なにかもんくあるかー!!
81デフォルトの名無しさん:2007/04/02(月) 01:55:19
すいません。質問です。
有るウェブページをみていて、そのwebページのソースコードを取得したいんですが、
何か良い方法は有りますでしょうか?
例えば、有るページをみていてそこに書いてあるMozillaと言う文字を読み込んだ瞬間に
もじらみたいに変える方法を捜しているんですが良く分からないんです。
82デフォルトの名無しさん:2007/04/02(月) 01:59:50
Grease Monkey でも使っとけ
83デフォルトの名無しさん:2007/04/02(月) 02:06:23
>>82
Grease Monkeyではどのようにすれば取得できるのでしょうか?
84デフォルトの名無しさん:2007/04/02(月) 02:19:49
理解できました。
すいません。
85デフォルトの名無しさん:2007/04/03(火) 02:44:21
JavaScriptの呼び出しについての質問です。

overlay.xulというXULファイルがあって、
<?xml version="1.0"?>
<overlay id="helloworldOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<menupopup id="menu_ToolsPopup">
<menuitem id="helloworldMenuitem"
label="Hello, World!"
insertbefore="sanitizeSeparator"
oncommand="hoge();" />
</menupopup>
</overlay>

Hello, World!というメニューをクリックしたら、
同じcontentディレクトリのファイルhoge.jsの
以下のようなスクリプトを実行したいのですが、
どうすればoncommandで呼び出せるのでしょうか?

function hoge (){
window.alert("hogehoge");
}
86デフォルトの名無しさん:2007/04/03(火) 05:33:55
scriptタグでインポート
87デフォルトの名無しさん:2007/04/03(火) 06:21:35
>>86
idを使って呼び出すことは出来ないのでしょうか?
88デフォルトの名無しさん:2007/04/03(火) 06:32:22
id?
何の話?
89デフォルトの名無しさん: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デフォルトの名無しさん:2007/04/03(火) 08:42:14
>>89
経験上、相対パスでおk
91デフォルトの名無しさん:2007/04/03(火) 13:39:10
Firefoxで、ツールバーアイコンとか動的に表示が変わるタイプのアイコンは
chrome://browser/skin/Toolbar.pngみたいな集合体から
-moz-image-regionで切り出す場所を変えて使ってるケースが多いようだけど
これは各アイコンを別ファイルで持っておくより効率がいいんかな
92デフォルトの名無しさん:2007/04/03(火) 14:31:01
アイコン画像がメモリ上に読み込まれるのはその要素が表示される
タイミングなので、hoverとかの状態ごとにファイルを分けてると
ボタンに最初にmouseoverした時にファイルの読み込みが発生して
一瞬真っ白なアイコンになってしまうので、その回避と思われ
93デフォルトの名無しさん:2007/04/03(火) 15:06:13
なるほどthx
94デフォルトの名無しさん:2007/04/03(火) 16:18:36
ファイルの数も抑えられるしファイルを1つ開いただけでエフェクトによる変化を見較べやすいのもあるんじゃないかと思った>画像
95デフォルトの名無しさん:2007/04/04(水) 19:19:29
キャレットの色とか変える事できますか?
探しているのですがなかなかそれらしい物が見つからないのです
96デフォルトの名無しさん:2007/04/05(木) 17:13:06
拡張ムズカシイぽ
でもがんばるぽ
97デフォルトの名無しさん:2007/04/06(金) 08:02:33
defaults/preferences/の設定用JavaScriptの名前ってどうしてる?
俺は"defaults.js"にしてるけど知人は"prefs.js"にしてる。ちなみに俺は"prefs.js"なんてダサいと思うけど知人は"defaults.js"なんt(ry
で他人様の拡張機能ばらしたら(拡張機能名).jsが多いっぽい……。
何らかのガイドラインでもあるの?
98デフォルトの名無しさん:2007/04/06(金) 10:31:57
>>97
<app install dir>/defaults/pref/*.js で
firefox.js, inspector.js, mailnews.js とかになってるからだろうな。
extensions/ 以下ならどうでもいいんだろうけど、
一応他と区別できる名前の方がいいんでないの?
99デフォルトの名無しさん:2007/04/06(金) 20:07:30
>>9
100デフォルトの名無しさん: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デフォルトの名無しさん: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)]
似た症状なんだけど、こっちは治ってる。謎
103101:2007/04/07(土) 15:54:53
>102
ふぅむ。なんか結構根幹的なところでバグも残っているのね。
なんとかコレ使わないでいける様に頑張ってみます。
ありがとうございます。
10497:2007/04/15(日) 00:19:42
>>97-100
自己レス。
スタンドアロンXULアプリケーションではない場合(拡張機能)、install.jsでdefaults/preferences/*.jsをコピペして利用する際に、
区別できる名前だった方が拡張機能のデフォルト説明を見つけやすい
defaults.jsとかだと重複する可能性がある
などの理由から独自の名前の方がいいっぽい。(他にもあるかも)
別に拒否する理由もないから拡張機能名.jsにするよ、本当にthanks.
105デフォルトの名無しさん:2007/04/21(土) 12:59:46
もしかしてMDC-en落ちてる?
106デフォルトの名無しさん:2007/04/22(日) 01:28:50
>>105
今日はMediaWikiアップグレードの日らしいよ
ttp://www.bitstampede.com/2007/04/20/the-longness-of-the-day/

今は表示できるから、もうセットアップ終わったのかな
107デフォルトの名無しさん:2007/04/22(日) 14:01:06
browser要素へaddProgressListener使ってnsIWebProgressListenerを取り付ると
ブラウザ内で読み込んだページや画像データなどのデータ受信状況を監視できますが、
ページ内で使用したXMLHttpRequestによるデータ受信状況は監視対象とはなりませんか?
108デフォルトの名無しさん:2007/04/28(土) 02:38:24
>>105-106
MDC実験版(AMOで言うpreviewなヤツ)
http://developer-stage.mozilla.org/
幾つかテンプレート系の変更が起きてるから翻訳かじってる奴は注意。
109デフォルトの名無しさん:2007/05/19(土) 00:48:54
よく「nsIXXX型」という言い方をしますが、これは厳密には
「Components.interfaces.nsIXXXインタフェースを実装したオブジェクト」
という意味になりますでしょうか?
110デフォルトの名無しさん:2007/05/19(土) 12:36:56
Components.interfaces.nsIXXXインタフェースという型、だろ
111デフォルトの名無しさん:2007/05/22(火) 13:09:00
nsIWebBrowserPersist のsaveURIでhttpで何らかのファイルをダウンロードするときに、httpのステータスコードの取得の仕方をわかる方いますか?

403のページとかが返って来ても、ダウンロードが完了したということになってしまっています。
112デフォルトの名無しさん:2007/05/22(火) 21:49:23
プラグインの開発中、ファイルを編集するたびに

 プラグイン削除→再起動→プラグイン導入→再起動→テスト

とするの激面倒なんですが、再起動無しにプラグインだけリロードって
できませんか?
113デフォルトの名無しさん:2007/05/22(火) 22:15:38
>>112
jar でなくフォルダにインストールされるようにして、
http://piro.sakura.ne.jp/xul/tips/x0000-2.html
XUL Cache を無効にして新規 window 開け
114デフォルトの名無しさん:2007/05/23(水) 00:24:10
リロード面とは別の話だが、開発中はインストールしたフォルダを直接弄ったほうが早いよね。
あと、chromeフォルダ以下のjarも展開状態のままで。
115デフォルトの名無しさん:2007/05/23(水) 01:01:57
>>112
本当にエクステンションじゃなくプラグインを開発してるなら話はマタ違ってくるが
エクステンションなら普通ソースでインストールしとくだろう。
まあ、再起動が必要かどうかはまた別の問題だけど....
別ウインドウを開けばOKとか、再起動必要ない場合も結構有るよ。
116デフォルトの名無しさん:2007/05/23(水) 06:54:02
つ Extension Developer's Extension
117デフォルトの名無しさん:2007/05/24(木) 00:42:42
>>113,116
ナイスアドバイスアリガトンです。

XPIにせずフォルダのままロードできるよっていう拡張(プラグインだと
別の意味でした)を見つけて「これで楽になる〜」と思っていたら
新規ウィンドウを開こうが何しようが再起動以外にXULの編集結果反映がされず
困ってましたが、それで無事解決できました!

これでようやく本格的にXUL開発に飛び込める・・・
118デフォルトの名無しさん: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を押した
リクエストの一回だけにしか独自ヘッダが付きません。
全てのリクエストに付くようにするにはどうすれば良いのでしょうか?
119118:2007/05/24(木) 10:30:40
リクエスト毎にヘッダが付かない、は勘違いでした。
独自ヘッダを付加する前に、条件判定用のヘッダの取得をしています。

var head = oHttp.getRequestHeader("Authorization");
oHttp.setRequestHeader("X-HOGE", "huga", false);

Authorizationのヘッダの内容を取得しようとして失敗し
後続のコードが実行されていないだけでした。

という訳で質問を変更します。Authorizationヘッダを
毎リクエスト正しく取得するにはどうすれば良いのでしょうか?
120デフォルトの名無しさん:2007/05/28(月) 19:54:26
既存のコンポーネント(バイナリ)をJavaScriptのXPCOMでoverrideするには
どうすれば良いのでしょうか?
例えば"@mozilla.org/network/protocol/about;1?what=blank"を
独自の処理に置き換えたいと思っています。
http://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出来たとして、
そのメソッドの中でオリジナルのメソッドを実行するにはどうすれば良いのでしょうか?
http://www.xuldev.org/blog/?p=58
にあるような、既存の関数の置き換え例はちらほら見掛けるのですが…

以上、ご存知の方がいらっしゃいましたら、宜しくご教示お願い致します。
121デフォルトの名無しさん:2007/06/17(日) 13:29:35
昨日のDevConでそういう話が出ていたような・・・
ttp://www.ne.jp/asahi/nanto/moon/mozilla/enhanced-feed-preview
Enhanced Feed PreviewではファクトリーのregisterSelfで起動時に毎回
コンポーネントを上書きしてる?とか言ってた気がする
122デフォルトの名無しさん:2007/06/19(火) 15:49:13
XPCOMコンポーネントをCで作ったら邪道?Java嫌いなんだよね
123デフォルトの名無しさん:2007/06/19(火) 16:02:34
べつにいいんじゃないの?
124デフォルトの名無しさん:2007/06/19(火) 17:04:39
なんでJavaがでてくるんだ?
125デフォルトの名無しさん:2007/06/19(火) 20:28:14
>>124
XULもJavaもクロスプラットフォーム
126デフォルトの名無しさん:2007/06/19(火) 22:42:24
JavaXPCOMもPyXPCOMも実際に使われてる例は知らないが、C++は王道中の王道だろ。
ただ各プラットフォーム用のバイナリを配るのが面倒だ。
127デフォルトの名無しさん:2007/06/19(火) 22:53:10
Cで作るにはC++のABIに気をつけないといけないはず。
128デフォルトの名無しさん:2007/06/20(水) 05:04:15
Adaをつかいまつ
129デフォルトの名無しさん:2007/06/20(水) 11:42:04
JavaScriptよりLiveScriptのほうがかっこいいじゃん
130デフォルトの名無しさん:2007/06/23(土) 14:07:36
prefwindowではonbeforeunloadイベントは使えませんか?
それから、XULのどの要素がどのイベントを持っているかはどうやって調べますか?
131デフォルトの名無しさん: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デフォルトの名無しさん:2007/06/29(金) 02:25:13
>>131
それって何か大事なの?
ってか yukichi って誰?
何やらかしらの?
133デフォルトの名無しさん:2007/06/29(金) 03:22:29
ggr
134デフォルトの名無しさん:2007/06/29(金) 09:45:56
tumblr を貼る意味が分からない
135デフォルトの名無しさん:2007/06/29(金) 17:15:22
>>131
もじら組で今起こっていること
http://amigomr.dw.land.to/blog/article.php?id=417
Re: もじら組で今起こっていること
http://d.hatena.ne.jp/smellman/20070627/1182960138
[Web] もじら組除名事件でWikipedia批判が再燃か?
http://d.hatena.ne.jp/hagex/20070629#p3
【百科事典】Wikipedia ウィキペディア ゆきちスレ
http://hobby9.2ch.net/test/read.cgi/hobby/1177425675/
136デフォルトの名無しさん:2007/06/29(金) 17:32:41
>>135に追加。
福澤俊とは - はてなダイアリー
http://d.hatena.ne.jp/keyword/%CA%A1%DF%B7%BD%D3
>自分が知らなければ、要出典タグを貼りに行く、もしくは「こんな単語をはじめて聞いた」などの発言を執拗に繰り返す利用者の一人でもある。
>2007年5月6日には問題のエントリーに投稿されたキリカに対するKasumoererのコメントを一括削除したことで話題となる。
>JCA-NETなどの極左団体および特定アジア団体とウィキペディア日本語版の関係は、よほど知られたくない事項の様子である。
137デフォルトの名無しさん:2007/06/29(金) 18:49:36
この Kasumoerer って奴の私怨で FA ?
138デフォルトの名無しさん:2007/06/29(金) 19:11:02
FA
139デフォルトの名無しさん:2007/06/30(土) 11:05:17
>>137-138
何この酷い自演
140デフォルトの名無しさん: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デフォルトの名無しさん:2007/07/03(火) 00:14:32
>>141
日本語が入った文字列を getCharPref/setCharPref で出し入れしようとしてないか?
そうなら代わりに getComplexValue/setComplexValue を使うべき。
それと特別な事情がない限り PrefUtil.PREF や PrefUtil.KEY じゃなく
this.PREF や this.KEY にするのが普通じゃないか?
143デフォルトの名無しさん:2007/07/03(火) 12:11:22
>>141-142
ttp://nanto.asablo.jp/blog/2006/10/23/572458
この方法を使えばgetComplexValue/setComplexValueつかわなくてもいけるよ
144デフォルトの名無しさん:2007/07/03(火) 12:12:41
あとgetは型を自動判別してるのにsetは文字列型限定って何か意味あるの?
145sage:2007/07/03(火) 23:01:04
141です。ご指摘ありがとうございます。
>142
現在は日本語はつかっておりません。
また、ご指摘の通りthis.PREFのほうがいいですね。
>143
そんな方法が。参考になります。
>144
特に意味はありません。。getを張り切って作ったけど、結局setでは文字列しか
ありえないな、、と思って手を抜いてしまいましたorz

なお、不具合に関しては別の箇所が原因だと言うことがわかり一件落着しました。
ご協力ありがとうございましたm(..)m
146デフォルトの名無しさん:2007/07/04(水) 10:30:38
うっふん
147デフォルトの名無しさん:2007/07/08(日) 03:01:41
event.screenX, event.screenYを使わずに現時点のマウスカーソルの位置を知る方法ありますでしょうか?
148デフォルトの名無しさん:2007/07/12(木) 05:06:30
>>147
xpcomコンポーネントを作ればできるよ
149デフォルトの名無しさん:2007/08/05(日) 22:44:41
overflow:autoでスクロールバーを表示させた要素のスクロール位置を
動的に調整することはできますか?
150デフォルトの名無しさん: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デフォルトの名無しさん:2007/08/27(月) 20:31:29
target に textbox が存在しない事がエラーの原因なら
value を参照する前に textbox が null でないかチェックすればエラーは回避できる

if (target.textbox && target.textbox.value)
152デフォルトの名無しさん:2007/08/28(火) 02:05:43
>>151
ありがとうございます。エラーが出なくなりました。
これで Fx でググったりサイト眺めながら拡張を見れます。
ありがとうございました。
153デフォルトの名無しさん:2007/09/05(水) 20:34:42
jQuery だとか prototype.js だとか、そっち系のライブラリはもういいよってくらい氾濫してるくせに、
ぜんぜん XPCOM をラップするライブラリがないぜ?いや、jslib とか mozlib とかはあるけどさ・・・
Components だか Interfaces だか、 ns...みたいなプリフィックスとか見るだけで吐き気がするぜ。
XULRunner だってさ、.xul を D&D で投げるだけでとりあえず実行してくれたら、お手軽で素敵じゃないか?
154デフォルトの名無しさん:2007/09/05(水) 22:22:50
つ FUEL

一応Firefox2にもバックポートできるようにするみたいなこと言ってたような気がする…
155デフォルトの名無しさん:2007/09/09(日) 11:01:02
文字コードの自動判定ってどーやればいいんだろーか
156デフォルトの名無しさん:2007/09/09(日) 22:47:18
>>155
Mozillaのuniversalchardetはscriptableじゃないインターフェイスらしいので、それをどうにかするか、それをCライブラリ化したものがあるからそれを使うか……。
157デフォルトの名無しさん:2007/09/09(日) 23:40:22
>>156
あら、そーなんだ。うーん、複数の文字コードでとりあえず一度変換させて、
U+FFFDの数で推測する手もなくはないけどねぇ。貴重な情報どーもdクス。
158デフォルトの名無しさん:2007/09/11(火) 22:42:48
mozStorageにデータを入れて、サイドバーにmozStorageから取得したデータを
表示させたいと思っています。

もし各ウィンドウのサイドバーごとにデータベースへの接続を持たせると、複数のウィンドウが
開かれている状態などでは、同時にデータベースへアクセスする可能性が有るので
http://developer.mozilla.org/en/docs/Storage
You can not access a single database from multiple connections from different threads.
に引っかかると思います。

こういう拡張を作成する場合、どのようにしてmozStorageを扱うのが良いのでしょうか?
159デフォルトの名無しさん:2007/09/12(水) 01:01:54
JSからXPCOM経由でデータベース接続する分には「different threads」には引っかからないのでは。
もちろんFirefoxのプロセスはひとつだけという条件付きですけど。
160デフォルトの名無しさん:2007/09/12(水) 02:33:34
各 window は個別にスレッドを持ってたと思う。
components/ に その拡張専用の storage service(singlton) を持つ
JS XPCOM をつくっておいて、
サイドバー XUL からはそのサービスを介してだけアクセスすればいいんじゃないかな。
Places(history,bookmarks) もそんなかんじだし。
161158:2007/09/12(水) 03:01:47
なるほど、XPCOMを作れば解決出来そうですね。
調べてみます。有難うございました。
162デフォルトの名無しさん:2007/09/12(水) 17:02:11
XUL チュートリアル(和訳)
http://xul-app.hp.infoseek.co.jp/xultu-janit/
上のページは、元々「有限会社エヌアイティー技術情報部」というサイトに
あったものでした。
http://web.archive.org/web/20020609143757/http://www.janit.com/xml/XUL/

なぜか2002年に突然削除されてしまいましたが。このXULスレの初代のころです。

昨日、その元サイトの移転先を見つけました。断言はできませんが、状況から
見て、どうやら訳者様は亡くなっておられるようです。
http://www.geocities.jp/ogaponman/TechnoInf/
http://www.geocities.jp/ogaponman/

合掌。
163デフォルトの名無しさん:2007/09/19(水) 15:14:45
http://www.mozilla.gr.jp/~kazhik/xul/tutorial02.html
例えばこれでtextbox内でENTERを押すとHELLOボタンが押されたことにしたい場合ってどうしたらいいんでしょうか。
すいませんが教えてください。
164デフォルトの名無しさん:2007/09/19(水) 16:05:36
>>163
textbox に onkeypress="if(event.keyCode==13)hello()" とかすれば?
165デフォルトの名無しさん:2007/09/19(水) 16:17:58
ところで DOM_VK_RETURN じゃなく DOM_VK_ENTER が出てくる環境ってあるの?
166デフォルトの名無しさん:2007/09/19(水) 17:01:38
>>164
おおできたできた!ありがとうございます。
っていうかこれjavascriptスレで聞いたほうがよかったかもですね。
167164:2007/09/19(水) 21:06:07
>>163
用途次第では onchange の方が適切な場合もあると思うけどまぁいろいろ試してくれ
168デフォルトの名無しさん:2007/09/24(月) 16:53:14
大昔に野良拡張を作った経験があります。
色々な所で Gran Paradiso のことを目にするようになったので
先ほどα8を入れてみました。
ローカルディスクから拡張機能をインストールしようとしたらはねられて困ったのですが
とりあえずupdateURLを削除した状態で開発すれば良いんですかね。
色々と面倒になりましたな。
169デフォルトの名無しさん:2007/09/25(火) 15:50:56
>>168
McCoy
170デフォルトの名無しさん:2007/09/26(水) 14:17:48
about:config 風に、ロケーションバーに about:hogehoge と打ち込むと、
カレントタブの中に chrome が読み込まれるような拡張というのは
どんなことをヒントにすればよいですか?
171デフォルトの名無しさん:2007/09/26(水) 15:33:32
>>170
MR Tech About:About をパクればいいんじゃないか?
172デフォルトの名無しさん:2007/09/26(水) 16:45:30
>>171
非常に参考になりました。ありがとうございました。
173デフォルトの名無しさん:2007/09/29(土) 07:25:22
>>171
今はnsIAboutModuleインターフェースが
変更されたからそのままだとtrunkで使えない気が。
getURIFlagsメソッドも実装しないといけないんじゃないの?
ttp://mxr.mozilla.org/mozilla/source/netwerk/protocol/about/public/nsIAboutModule.idl
174デフォルトの名無しさん:2007/09/29(土) 10:29:08
Browser#reload()でページのリロードができると思うんだけど、リロードじゃなくて、
ダウンロード済みのソースからDOMの再構築ってできないのかな?
リロードしちゃうとサーバに再リクエストしちゃうんで、セッション管理しているサーバで
ちょっと困っているんだけど。
175デフォルトの名無しさん:2007/09/30(日) 01:44:57
DOMParserとか使ってみるといいかも
176デフォルトの名無しさん:2007/09/30(日) 02:32:23
document.bodyをcloneNodeでコピーしておいて差し替えるとか、
あるいはdocument.body.innerHTMLをコピーしておいて差し替えるとか
177デフォルトの名無しさん:2007/10/19(金) 23:37:01
>>303
これだな。とりあえずXHTMLのscript要素で代用しとけ。
ttps://bugzilla.mozilla.org/show_bug.cgi?id=304786
178デフォルトの名無しさん:2007/10/19(金) 23:38:01
微妙に誤爆しました。ごめんなさい。
179デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/03(土) 02:39:56
XULRunner って響きが取っ付き易くないからいっそ Prism だったらよかったのにと思う11月の秋
181デフォルトの名無しさん:2007/11/03(土) 03:36:16
182デフォルトの名無しさん:2007/11/03(土) 10:18:17
やっぱむずかしいよな。言うほど簡単じゃねぇよ、これ。
様々な難解技術の集合体じゃねえか。
183デフォルトの名無しさん:2007/11/03(土) 14:07:29
browser.jsとか、タブ系拡張とかでの
content.focus(); と、_content.focus(); との違いは何?(頭のアンダーバー)
元のやつを上書きしてるって事?
184デフォルトの名無しさん:2007/11/03(土) 20:54:14
>>183
歴史的理由。互換性。
185デフォルトの名無しさん:2007/11/03(土) 21:09:52
>>183
どっちでも動くから気にしないでOK
186デフォルトの名無しさん:2007/11/12(月) 20:57:34
大した事じゃないのですが、ちょっとお聞きしますね。

XPCOMを作っていて名前をどう付けるのが良いのか迷っています。
具体的にはContractIDとインターフェイス等の名前のプレフィックスについてで、
ContractIDは、いくつかの拡張を見たところ全部@mozilla.org/some-component;1となっていました。
プレフィックスは、Mozillaのソースではnsで始まるのが慣習のようでした。

Mozillaプロジェクトと直接関係がない拡張なのに、何故この様(mozilla.orgとかnsとか)に
なっているのか分かりません。
皆さんならどうされますか/してらっしゃいますか?
187デフォルトの名無しさん:2007/11/12(月) 22:05:37
関係ないのにns〜とか@mozilla.orgとか書くのは厳密には詐称だよね
Mozilla内の物でもインターフェース名がmozI〜という物はいくつかあるし
適当に付けたらいいんじゃないの?
188デフォルトの名無しさん:2007/11/13(火) 00:14:36
>>186
XPCOMだけにxpcIxxx〜とかcpIxxx〜とかどうよ?ださいけどな。
189デフォルトの名無しさん:2007/11/13(火) 00:24:00
>>186
MDCのサンプルでは、
nsIHelloWorld
@dietrich.ganx4.com/helloworld
http://developer.mozilla.org/en/docs/How_to_Build_an_XPCOM_Component_in_Javascript
でも個人的にはnsを付けるのはやめた方がいいと思う。
nsはNetScapeの略だとこのスレで以前に教わった。
190デフォルトの名無しさん:2007/11/13(火) 05:51:48
(*゚ω゚)ノ∩へぇへぇ
191デフォルトの名無しさん: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デフォルトの名無しさん:2007/11/14(水) 00:31:47
自サイトではなくAMOでしか公開していない場合のコントラクトIDは?
193デフォルトの名無しさん:2007/11/14(水) 01:40:49
同じ。AMO かどうかと、contruct ID は関係ない。
194186:2007/11/14(水) 18:01:51
やはり、独自のprefix/ContractIDを付けた方が良さそうですね。
皆さん、助言ありがとうございます。
195デフォルトの名無しさん:2007/11/16(金) 14:29:55
ここが適切かわかりませんが質問です。

IEで動作するActiveXのプラグインがあるのですが、これをFirefoxへ簡単に移植する方法はないでしょうか?
Windows以外のOSへの移植は考えていないので、ラッパーのDLLか拡張を作るという手でも構いません。
196デフォルトの名無しさん:2007/11/16(金) 21:52:17
>>195
Firefox 1.5までなら、プラグインがありますよ

Mozilla ActiveX Project
ttp://www.iol.ie/~locka/mozilla/mozilla.htm

ソースコード
http://lxr.mozilla.org/seamonkey/source/embedding/browser/activex/src/plugin
197デフォルトの名無しさん:2007/11/18(日) 15:16:24
今、外部テキストファイルの読み書きをしているんですが、
全角文字を書き出しor読み込みすると文字化けしてしてしまいます。
文字コードの変換なども試したのですが上手くいきませんでした。
何か解決方法はないでしょうか?
198デフォルトの名無しさん:2007/11/18(日) 15:33:00
どうやってどううまくいかなかったのかを書かないと
エスパーにしか解決方法はわからないと思われ
199デフォルトの名無しさん:2007/11/18(日) 16:43:05
http://piro.sakura.ne.jp/xul/tips/x0021.html
ここを参考にやらしていただきましたが、ファイルの書き出しなどを行った際、
日本語ではなく文字コードとして出力されてしまいます。
200デフォルトの名無しさん:2007/12/09(日) 10:07:00
Fxのエクステンションを作ろうと思ってFxまとめWikiのチュートリアルを見ながら作業してたんですが、
contents.rdfってのは何のためにあるんですか?解説がなく、MDC見てもよく分からなかったんですが。
201デフォルトの名無しさん:2007/12/09(日) 10:13:23
まとめにも書いてあるじゃないか
202デフォルトの名無しさん:2007/12/09(日) 17:19:07
203デフォルトの名無しさん:2007/12/09(日) 18:31:49
>>202
ありがとうございます。最新のFxをターゲットにする場合は不要なんですね。
204デフォルトの名無しさん:2007/12/10(月) 17:47:01
ちょこちょこと拡張をいじったりしてみてます。
Firefox2.0.0.11なんですが、タブを右クリックした場合の
コンテキストメニューを拡張するにはどうしたらいいのでしょう・・・
205デフォルトの名無しさん:2007/12/10(月) 18:08:04
で、あなたはまずご自分で何を調べられて何を試されたのですか?
206デフォルトの名無しさん:2007/12/10(月) 19:42:16
>>205
CopyUrlPlusとTabMixPlus、ContextMenu拡張のアーカイブを展開して
内部を調べてみました。
しかしCopyUrlPlusではタブを右クリックしたメニューの拡張を行って無く、
TabMixPlusとContextMenu拡張は読み切れませんでした。OTZ

MDCのコードサンプル、DOMインターフェースリファレンスも調べましたが、
該当のものを見つけられませんでした。
207デフォルトの名無しさん: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デフォルトの名無しさん:2008/01/10(木) 11:55:04
プラットフォーム書いてくれ。
firefox なら 2 でも trunk でも使えるはずだけど<makeURI
http://mxr.mozilla.org/seamonkey/source/toolkit/content/contentAreaUtils.js#683
seamonkey だと前は2引数だったが trunk とかだと3引数なのを注意。
http://mxr.mozilla.org/seamonkey/source/xpfe/communicator/resources/content/contentAreaUtils.js#764
Prism, XULRunner なら contentAreaUtils.js 入れないとどーもならん、
つか実質3行なので自分で書け。
210デフォルトの名無しさん:2008/01/10(木) 17:31:12
サイドバーを使うFirefox拡張の作り方がさっぱり分かりません。
どこかにサンプルとかありませんか?
211デフォルトの名無しさん:2008/01/10(木) 18:09:07
sageとか
212デフォルトの名無しさん:2008/01/10(木) 18:37:14
213デフォルトの名無しさん:2008/01/10(木) 20:37:30
>>212
おお、ありがとうございます!
すっかり見落としてました
214デフォルトの名無しさん: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デフォルトの名無しさん:2008/01/16(水) 17:33:10
appendChild(...)でなくappendItem(...)としてみる
216デフォルトの名無しさん:2008/01/16(水) 17:41:19
>>215
ありがとうございます。appendItem()でできました。
richlistboxだとappendChild()でできたのでついlistboxでもできるのかと思ってました。
217デフォルトの名無しさん:2008/01/21(月) 17:12:44
groupbox
 - button
 - button
 - button

みたいな感じに、ある要素の子要素が複数あるときに、これ全部を一気に取り除く方法ってありますか?
やっぱりひとつずつ消してかなきゃダメ?
218デフォルトの名無しさん:2008/01/21(月) 21:44:41
DOM2 Rangeつかうといいかも
219デフォルトの名無しさん: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デフォルトの名無しさん:2008/01/31(木) 12:27:10
nsIToolkitProfileServiceを使えば可能。
toolkitのprofileSelection.jsが良い例題になる。
222220:2008/01/31(木) 13:30:22
おおおズバリ。
名回答TNX.
223デフォルトの名無しさん: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デフォルトの名無しさん:2008/02/01(金) 15:16:30
お前が見た限りの情報で分かるエスパーはいねーよ馬鹿
教えて欲しいならコード載せろ
225デフォルトの名無しさん:2008/02/01(金) 16:12:17
>>224
おっしゃるとおりです。すいませんでした。
コードはここにうpしました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000026347.zip
どうかよろしくおねがいします。
226デフォルトの名無しさん:2008/02/01(金) 16:50:26
>>225
すべての構成ファイルの文字コードUTF-8のBOMなしかどうか確認
227220: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デフォルトの名無しさん:2008/02/01(金) 18:11:16
>>226
すべての構成ファイルの文字コードを改めてUTF8BOMなしで保存し、
インストールしてみましたがやはりできませんでした。
エディタはTerapadを使っています。
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フォルダから拡張を削除しもう一度インストールしたらできるようになりました。
どうもお騒がせしました。
235220: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
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つ並んでる。
252250: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
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
その方法でいけそうです。ありがとうございました。
279デフォルトの名無しさん:2008/09/25(木) 04:44:00
>>592
設定出来ない。
ツール(外部アプリ)でいじれるかも知れない。

>>593
saveImageURLって何
http://forums.mozillazine.jp/viewforum.php?f=2
ttp://forums.mozillazine.org/viewforum.php?f=19
ttp://pc11.2ch.net/test/read.cgi/tech/1164625238/
で聞く方が良いのでは?

拡張機能で同様の機能を持つものはいくらでもあるけど。
280279:2008/09/25(木) 04:45:25
誤爆した。
281デフォルトの名無しさん: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のメソッドを色々探しているのですがなかなか見つからず難儀しています
282plus7 ◆DHcM3x9Sng :2008/09/29(月) 12:33:01
HtmlElementCollectionにHtmlDocument代入しようとすればエラーになるのは当然では
あと微妙にスレ違い
283デフォルトの名無しさん:2008/09/29(月) 19:28:57
いやまあ・・エラーになって当然なんだけど
Mozillaでも似たようなクラス無いのかなぁ・・・と。

目的はプログラムから直接画面上のテキストやらボタンやらにアクセスしたいんです
すれ違いなの?
284plus7 ◆DHcM3x9Sng :2008/09/29(月) 22:51:58
GeckoのActiveXコントロールはわざわざIEコンポーネントの機能を
エミュレーションしているので、一部(つーか大半)使えない機能がある。
だが、document.allには対応してそうな感じ。
http://mxr.mozilla.org/mozilla-central/source/embedding/browser/activex/src/control/IEHtmlDocument.cpp#98
getElementsByNameは見た限りでは見つからない。innerTextはいけるっぽい。
http://mxr.mozilla.org/mozilla-central/source/embedding/browser/activex/src/common/IEHtmlElement.cpp#602

とまあ苦労するのが目に見えているので、.NETでGeckoをより深く制御したいならこのコンポーネントを使ったほうがいい。
http://code.google.com/p/geckofx/

>すれ違いなの?
>>1は読んだのかね?
285デフォルトの名無しさん:2008/09/30(火) 00:55:40
283です
ありがとうございます。
そんなコンポーネントを作ってる人がいるとは。
週末に試すようにします。

姉妹スレ できけってことかと思うんですが、ブラウザ自体を作りたいわけではなかったので・・・
あ、でもこちらは拡張の作り方か・・・すいません。
286デフォルトの名無しさん:2008/10/04(土) 17:20:26
ちょっと紹介させてください。
XULのUIデザイナみたいなものを作ってみました。
まだ不安定ですが、よかったらどうぞ。
http://kukuru.s7.xrea.com/xulpix/
287デフォルトの名無しさん:2008/10/04(土) 19:32:33
>>286
マルチプラットフォームのようですが、何で作られたんですか?
あと、Mac 版はないのでしょうか?
288286:2008/10/04(土) 19:56:30
>>287
XULの実行環境であるXULRunnerを使って作りました。
XULRunnerはMac版もあるので、動くと思うのですが、
手元にMacがないのと、実行の仕方がちょっと違うので、
少し考えているところです。XULRunnerのページが参考になると思います。
http://developer.mozilla.org/ja/XULRunner
289デフォルトの名無しさん:2008/10/04(土) 20:15:44
Firefox 3があるなら
Firefox -app application.ini で起動できるんじゃない?
290デフォルトの名無しさん: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デフォルトの名無しさん:2008/10/19(日) 01:51:04
正気?
292デフォルトの名無しさん:2008/10/20(月) 01:00:52
なんで?
293デフォルトの名無しさん: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デフォルトの名無しさん:2008/10/27(月) 18:46:09
296デフォルトの名無しさん:2008/10/28(火) 12:16:08
>>295さん
ありがとうございます!参考にして作成してみます。
297デフォルトの名無しさん:2008/11/07(金) 09:59:13
about:blankが表示される度に実行するプログラムを作成したいのですが
どんなコードを書けばできるのかわかりません。

298デフォルトの名無しさん:2008/11/07(金) 10:42:52
ページの読み込みを監視するとか?
新しくタブを開いたらまずabout:blankが表示されるからその分は除外しないといけないけど。(canBackを見るなどして)
299297:2008/11/07(金) 11:23:54
>>298
すみません、言葉が足りませんでした。
about:blankの判定する方法がよくわからないんです。
loadURI == null
で試してみたのですが

ページの読み込みってProgressListenerを使えばいいんでしたっけ?
300デフォルトの名無しさん: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デフォルトの名無しさん:2008/11/07(金) 12:03:09
>>300
ありがとうございます。参考にさせていただきます。
卒研でXULに挑戦しているのですが助かりました。
302デフォルトの名無しさん:2008/11/22(土) 15:35:55
質問です。

1年ぐらい前にXUL勉強してて、最近やり直そうと思い

https://developer.mozilla.org/ja/XUL_Tutorial

↑見ながら再び勉強してるんですが、
chrome以下にディレクトリ作って、manifestファイル置いただけでは
例えば以下のように、

chrome://findfile/content/findfile.xul

chrome経由でブラウザで確認ってできなくなってますか?
拡張としてインストールしてからでないとだめなんでしょうか。


303デフォルトの名無しさん: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デフォルトの名無しさん:2008/11/22(土) 17:07:09
なんでprogram files直下に置くの?
プロファイルのextensionsディレクトリにおけばいいよね?
305デフォルトの名無しさん:2008/11/23(日) 22:56:56
>>303
>>304

レスサンクス。
マニフェストファイルには、パスを
file:///findfile/content/
て書いてたんですが、file:///除去して、後文字コード見直したらうまくいきました。
306デフォルトの名無しさん:2008/11/25(火) 13:32:56
もう解決したようだからいいんだけど、file:に書くのは絶対パスだよ。
>303の位置だったら、相対パス指定で testfiles/ と書いている部分を絶対パスで書くと
file:///C:/Program%20Files/Mozilla%20Firefox/chrome/testfiles/
になる。
307デフォルトの名無しさん:2008/12/02(火) 03:51:25
Firefox 3.1b1で
XULのtextboxのwrap="off"が反映されず、右端で自動改行されてしまいます。
CSSのwrap周辺が変更された影響だと思うんですが
どう対応すればいいんでしょうか?

まったく同じコードで3.0.4では自動改行されません。

style属性でwhite-space:pre;としても変化ありません。
308デフォルトの名無しさん:2008/12/02(火) 12:50:28
君が試しているのがベータ版だということが認識できていれば、
とるべき行動は自ずと明らかではないだろうか。
309307:2008/12/02(火) 17:08:11
>>308
?????

バグ報告ですか?


バグならバグでいいんですが
そう断定するにはそれなりに情報を集める必要があるので

・既知の問題かどうか
・試してみるべきことはあるか
・バグの可能性があるか
・ハック的なものでもいいので回避策があるか

などの次のステップにつながる情報を
いただけるかと思い質問してみたんですが・・・
310デフォルトの名無しさん:2008/12/02(火) 22:53:43
ベータを扱っててどうすればいいんでしょうかもクソもないだろ
ベータを何だと思ってんの?馬鹿なの?死ぬの?
311デフォルトの名無しさん:2008/12/02(火) 23:04:48
>>309
Bugzilla@Mozilla
https://bugzilla.mozilla.org/
自分で調べる。
312デフォルトの名無しさん:2008/12/02(火) 23:11:50
>>311
bugzillaはざっと見てみましたがwrap関係の報告はあるものの
今回の件に該当するものがないっぽいです。

で同じような状況の人がいないかなーと書き込みを


こういうのもダメ? >>310
313デフォルトの名無しさん: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="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<textbox multiline="true" wrap="off"
value="XULのtextboxのwrap="off"が反映されず、右端で自動改行されてしまいます。CSSのwrap周辺が変更された影響だと思うんですがどう対応すればいいんでしょうか?"/>
</window>
314デフォルトの名無しさん:2008/12/02(火) 23:43:35
>>313
試しました。

3.0.4では自動改行されず水平スクロールバーが出ます。
3.1b1では自動改行されて水平スクロールバーは出ません。

315デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2008/12/02(火) 23:47:58
古すぎるものでバグ出されても無死されるだけだぜ
318デフォルトの名無しさん: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デフォルトの名無しさん:2008/12/03(水) 00:16:56
人に言われないと古いという根本的な問題に気付かないような人はベータ使うのやめた方がいいと思うよ
320デフォルトの名無しさん:2008/12/03(水) 01:18:45
>>319
激しく同意。
321デフォルトの名無しさん:2008/12/04(木) 08:50:30
XULの拡張を作ってます。
タブごとのセッション情報を保持したいと思っているのですが、どんな方法があるのでしょうか。
322デフォルトの名無しさん:2008/12/04(木) 09:17:44
https://addons.mozilla.org/ja/firefox/addon/1859
中にある tab_history.js を見れ
323デフォルトの名無しさん:2008/12/04(木) 10:38:07
Firefoxのインストール先の componentsフォルダにある
nsSessionStore.js の中を見るのがいいと思う
324デフォルトの名無しさん:2008/12/08(月) 08:36:15
AMOの統計ダッシュボードの今週のデータおかしくない?
確認したアドオンすべてでアクティブユーザ数が
軒並み-95%ぐらいになってるんだが

水曜に集計してデータに反映されるまでタイムラグあるから
そのうち正常値にもどるかと思ってたが今のとこ変化なし。
325デフォルトの名無しさん:2008/12/16(火) 03:49:57
Firefox3のJavascriptのXPCOM内で
与えられたあるフォルダのサブフォルダも含めた
ファイル一覧を取得しようとしています。

現在再起処理では問題なく実現できていますが
ファイル数が多いと重くなってしまいます。

非同期で処理したいのですが何を使えばいいんでしょうか?

326325:2008/12/16(火) 06:09:26
自己解決しました。
nsITimerでいけますね。
327デデフォルトの名無しさん:2008/12/19(金) 12:59:03
XULでツールバーにボタンをつくってそれに戻る、進むの処理をさせた
いんですけど、どうすればわかりません。よければ教えてください。
328デフォルトの名無しさん:2008/12/19(金) 18:58:13
よくないので教えません

つか、戻る進はもうあるじゃん
329デフォルトの名無しさん:2008/12/19(金) 19:07:24
>>327
command に
Browser:BackOrBackDuplicate
Browser:ForwardOrForwardDuplicate
を登録すればよいんジャマイカ
後はその他色々
330デフォルトの名無しさん:2008/12/21(日) 02:12:07
「パスみえ」のようなUIを実現したいのですが、どうしたらいいか見当もつかず困っています
何かヒントをいただけませんか
331デフォルトの名無しさん:2008/12/21(日) 17:25:18
パスみえとやらのソースをもらって解析してみればいいんじゃないでしょうか
332デフォルトの名無しさん:2008/12/21(日) 18:05:05
http://quickware.a-quest.com/passmie/about.htm
これか? 右クリックとか D&D にこだわらなければ楽だ。用途にもよるが
333デフォルトの名無しさん:2008/12/21(日) 19:18:27
>>331
パスみえを解析してもXULプログラミングは出来ないと思います

>>332
D&Dでドロップターゲットを取得するところまでが分かりません
右クリックは使用しません
334デフォルトの名無しさん:2008/12/21(日) 21:07:03
似たような拡張のコードは見たのか?普通にあると思うけど
335デフォルトの名無しさん:2008/12/22(月) 11:06:18
http://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デフォルトの名無しさん:2008/12/22(月) 11:08:54
>全ウィンドウの全フレームのパスワード入力欄に
全ウィンドウの全フレーム だけでよかったスマソ
337330:2008/12/22(月) 20:42:18
>>336
今回はまさにFirfox内の要素のみを対象として考えていました
大変分かりやすい解説をありがとうございました
338デフォルトの名無しさん:2009/01/08(木) 19:15:35
コマンドラインのフロントエンドを作ろうとしてます。
nsIProcessだと実行しかできないようですが、
標準出力を拾う方法は無いでしょうか?
339デフォルトの名無しさん:2009/01/08(木) 21:16:03
>>338
以前調べた限りでは
http://www.mozdev.org/source/browse/enigmail/src/ipc/
にそういう機能があるらしいけど使ったことがないから何とも言えない。

https://bugzilla.mozilla.org/show_bug.cgi?id=68702
でこれをMozillaに入れるとか入れないとかしているみたい。
340デフォルトの名無しさん:2009/01/09(金) 00:00:18
>>339
ありがとうございます。
連休にでも読んでみようと思います。

しかし、標準のままじゃできないんですね…
341デフォルトの名無しさん:2009/01/16(金) 15:03:56
contentフォルダにsample.xulとsample.jsファイルをいれてます。
sample.jsのプログラムがうまく動きません。他に必要なファイルがあれば教えてください。
342デフォルトの名無しさん: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デフォルトの名無しさん: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
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本を買って一から勉強し直してください
370574: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
386384: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を
指定する必要があるが、それがないから無理だな。
388384: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とは異なり、
ファイルと同じ方法ではディレクトリの更新時刻は変更できない。
390384: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つのディレクトリ間の同期をとる処理を書いています。
それでディレクトリの更新日時まで同期したいわけですが
393デフォルトの名無しさん:2009/03/25(水) 22:54:41
ディレクトリの更新日時なんてOSどころかファイルシステムによっても
扱いが異なるからあんまり当てにならないよな。
例えばFATだと基本的には 更新日時=作成日時 だが、NTFSはそうではないし。
394デフォルトの名無しさん:2009/03/27(金) 18:28:48
>>380
すべてのnsXXXで試したけど無理でした
Firefoxのソース見るとやはりISimpleXXXしか返していなかったので
IServiceProvider.QueryInterface(nsSupports)が成功するのはWindowsのバグかも?
395デフォルトの名無しさん:2009/03/28(土) 16:58:24
>>394
nsSupports.QueryInterface(nsIXXX)
396デフォルトの名無しさん:2009/03/28(土) 19:23:55
>>395
それが失敗するという話
397デフォルトの名無しさん:2009/04/11(土) 11:03:08
mozIStorageServiceのopenDatabaseでデータベースの接続を開始できますが、
逆にデータベースの接続を終了させるメソッドがありません。
openDatabaseの戻り値への参照が破棄されるタイミングで自動的に接続が終了され、
明示的に終了する必要は無いということでしょうか?
398デフォルトの名無しさん:2009/04/12(日) 23:37:21
mozIStorageConnectionにcloseがあるように見えるけど
399デフォルトの名無しさん:2009/04/15(水) 21:55:29
>>398
すみません、その通りでした。
mozIStorageServiceのほうしか見ずに言ってしまいました。
400デフォルトの名無しさん:2009/04/15(水) 23:09:12
JavaScriptのXPCOMで引数があってもなくても良いようなメソッドを定義することはできますか?
IDLでvoid test([optional] in string arg);と定義しても、引数無しでメソッドを呼び出すと、
NS_ERROR_XPC_NOT_ENOUGH_ARGSで怒られます。
401デフォルトの名無しさん:2009/04/19(日) 02:12:33
モーダルダイアログを開いている親のウィンドウを、ダイアログも含めて閉じることはできますか?
402デフォルトの名無しさん:2009/04/21(火) 02:06:59
できるかできないかで言えばもちろんできますよ
403デフォルトの名無しさん:2009/05/08(金) 22:00:50
401 じゃないけどダイアログウィンドウってどうやってアクセスしたらいいの?
getElementsByLocalName 的な関数があればいいんだけど
404デフォルトの名無しさん:2009/05/10(日) 03:01:22
ダイアログウィンドウのDOMWindowならnsIWindowMediatorで取れるよ
405デフォルトの名無しさん:2009/05/11(月) 23:38:53
>404
ありがとう調べて見る
406デフォルトの名無しさん:2009/06/11(木) 10:20:45
XPCOMのC++で書いたサンプルないですか?
このあたり見てますがうまくいかない・・・

http://firefox.geckodev.org/index.php?XPCOM%E3%81%AE%E4%BD%9C%E6%88%90
http://takedarts.jp/index.php?XPCOM%A4%CE%B3%AB%C8%AF
407デフォルトの名無しさん:2009/06/11(木) 12:45:24
XPCOM使ってるAddonを片っ端からダウンロードして、
ソース入りのやつを拾い出せばいいんじゃない?
408デフォルトの名無しさん:2009/06/15(月) 01:12:30
>>406
どこで詰まってるのか書かないと適切なアドバイスはできないよ
409デフォルトの名無しさん:2009/06/18(木) 15:30:08
履歴から特定のドメインにマッチしたものだけを削除する方法を教えてください
410デフォルトの名無しさん:2009/06/18(木) 16:06:56
>>409
お前ウザいけど文盲なのか?白痴なのか?

Mozilla Firefox質問スレッド(初心者歓迎)の91
http://pc12.2ch.net/test/read.cgi/software/1244730199/232

232 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2009/06/17(水) 04:45:36 ID:tn9rfOTe0
前スレでレスが付かなかった為、再度質問させてください。

【質問】
 ・ 指定したサイト(ドメインか下層ディレクトリ指定)のみ履歴を残したいのですが、
  それ以外を削除するアドオンもしくは、指定したサイトのみ履歴を残すアドオンを
  探しています。
【UserAgent】
 ・ Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
【導入しているプラグインとそのバージョン】
 ・ Adobe Acrobat
 ・ IE Tab Plug-in
 ・ Mozilla Default Plug-in
 ・ Shockwave Flash
【導入している拡張とそのバージョン】
 ・ Flashblock 1.5.10
 ・ IE Tab 1.5.20090207
 ・ Tab Mix Plus 0.3.7.3
【使用しているテーマ】
 ・ Default 3.0.10

ご存知の方いましたら、教えてください。
よろしくお願いします。
411デフォルトの名無しさん:2009/06/18(木) 16:21:08
そのレスは「それ”以外”を削除」「指定したサイト”のみ”履歴を残す」
と言ってるので「マッチしたもの”だけ”を削除」と言ってる>>409とは意味が真逆
なので文盲は>>410
412デフォルトの名無しさん:2009/06/18(木) 16:28:00
質問もいい加減だよな, 対象としているクライアントがなにかサッパリだし
413デフォルトの名無しさん:2009/06/18(木) 17:45:10
>>410
お前ウザいけど文盲なのか?白痴なのか?
414デフォルトの名無しさん:2009/08/13(木) 15:39:28
test
415デフォルトの名無しさん:2009/08/13(木) 15:46:40
前スレにも出てましたが、URLからHTMLDocumentオブジェクトって生成できないんでしょうか?
前スレで解決してた方は@mozilla.org/webshell;1を使って生成していたようですが、
xpcshellでwebshell.loadURIを叩くと落ちてしまいます。
xpcshell上でオブジェクトを生成したいのですが何か案はないでしょうか?
416デフォルトの名無しさん:2009/08/13(木) 20:46:13
417デフォルトの名無しさん:2009/08/14(金) 05:33:25
firefoxアドオンを作成しています。HelloWorldしか作ったことがありません。
onload,onmouseover等のイベントをアドオンから強制的に発行できる方法があったら教えていただけると嬉しいです。
418デフォルトの名無しさん:2009/08/14(金) 06:02:18
>>416
iframeにソース突っ込むタイプですね。
既存のwindowオブジェクトを探して、そこから
iframeを新たに作成するようですが、そもそもxpcshell上には、
windowオブジェクトが存在しません。(xpcomから探しても無い。。。)
やはり、xpcshell上からの作成は無理なのでしょうか。。。
419デフォルトの名無しさん:2009/08/14(金) 07:28:12
>>418
あー、そういうのがあるのか
XUL より下はワカンネ
420デフォルトの名無しさん:2009/08/14(金) 08:49:57
>>419
ありがとうございました。
他にもirc.mozilla.orgで聞いてみましたが無理じゃね?って言われましたorz
421417:2009/08/14(金) 20:04:01
自己解決しました。
ソースコードからイベントに呼ばれる関数を拾ってきました。
失礼しました。
422デフォルトの名無しさん:2009/08/22(土) 16:44:49
今、WindowsでXULアプリをxulrunnerで作るとしたら、お勧めIDEって何がありますか?
423DownloadWithCravingExplorer.uc.xul:2009/08/28(金) 14:43:02
<?xml version="1.0" encoding="UTF-8"?>
<overlay id="CravingExplorer"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" xmlns="http://www.w3.org/1999/xhtml">
<![CDATA[

function downloadWithCravingExplorer()
{
var craving = new ActiveXObject( "CravingExplorer.Api" );
if ( craving != null) craving.addDownloadItem( gContextMenu.linkURL, "flv", true );
}

window.setTimeout(function() {
var contextMenu = document.getElementById("contentAreaContextMenu");
contextMenu.addEventListener("popupshowing", function(event) {
if (event.target != this) return;
gContextMenu.showItem("id-CravingExplorer", gContextMenu.onLink);
}, 0);
});

]]>
</script>

<popup id="contentAreaContextMenu">
<menuitem
id="id-CravingExplorer"
label="Craving Explorerでダウンロード"
accesskey="D"
oncommand="downloadWithCravingExplorer();" />
</popup>
</overlay>
424DownloadWithCravingExplorer.uc.xul:2009/08/28(金) 14:50:30
>423のような感じで
ActiveXObject経由でローカルアプリのAPIをコールしたいんですけど、
やっぱりfirefoxではActiveXを使用するのは無理なんでしょうか?
(上記を実行させると当然"new ActiveXObject"のところで"in not defined"になります)

この辺もインストールして実行してみましたが、結果は同じでした。
http://code.google.com/p/ff-activex-host/

ちなみに上記のxulは
リンクの右クリックメニューに
「CravingExplorerへその動画をダウンロードする」タスクを追加する
コマンドを追加します。
425DownloadWithCravingExplorer.uc.xul:2009/08/28(金) 14:53:33
>>424
×:in not defined
○:is not defined
426DownloadWithCravingExplorer.uc.xul:2009/09/02(水) 23:04:17
>>423-425

自己レス。
コマンドラインで引数を受け取ってローカルアプリのAPIをコールするexeを自作して、
それをxul内のスクリプトからprocess.runで呼び出す方法でとりあえず解決しました。
427デフォルトの名無しさん:2009/09/09(水) 15:40:50
質問です。Thunderbird用にアドオンを作り、そこからFirefoxで
表示しているページのdocumentオブジェクトにアクセスすることは
できますか?

たとえばTunderbird上に届いたあるメールのヘッダの特定の文字列を
Firefoxに表示しているページのフォーム上のあるinputに入れるとか。
428デフォルトの名無しさん:2009/11/11(水) 23:24:56
ffやthunderbirdとは関係ないStandaloneなアプリをXULで開発しようとする場合に
一番参考になる書籍ってなんでしょう?
429デフォルトの名無しさん:2009/11/11(水) 23:38:20
>>428
>ffやthunderbirdとは関係ない

釣り?文盲?白痴?
430デフォルトの名無しさん:2009/11/12(木) 01:14:05
fxなんて数あるGecko搭載アプリの一つでしかねーぞ。
431デフォルトの名無しさん:2009/11/13(金) 04:14:24
>>428
和書だとFirefox関連しかないみたいだし、
洋書でもEssential XUL Programmingくらいしか見つからなかった
現状では一番参考とかいうレベルではなく、それくらいしか選択肢無いみたい
それよりはXULRunnerで動いてるソフトのソースを見た方が参考になると思う
http://ja.wikipedia.org/wiki/XULRunner の動作するアプリケーション等を参考に

>>429
無知は罪じゃないから安心していいよ
そもそも>>1にちゃんと説明は書いてあるんだけどね
432デフォルトの名無しさん:2010/02/07(日) 19:04:19
質問をさせてください。
Firefoxでロケーションが変わるたびにサイドバーに
表示しているxulコントロールの要素の値を変更させるものを作りたいと思っているのですが、
その設定の方法は

window.top.document.getElementById("sidebar-box").getElementById("コントロール名").setAttribute(要素名, 設定する値);

で良いのでしょうか?
433432:2010/02/07(日) 19:19:55
すみません、上記の方法で試してみたところうまく動いてくれませんでした。
正しい方法についてご教授願いたく思います。
434デフォルトの名無しさん:2010/02/08(月) 11:45:27
>432
サイドバーの内容はサブフレーム扱いだからそれでは動かないと思う
そのスクリプトが動いてるのはbrowser.xulの名前空間?
それともサイドバー内の名前空間?
browser.xulの名前空間なんだったらこう。

document.getElementById("browser").contentDocument.getElementById("myControl").setAttribute("attributeName", "value");

435デフォルトの名無しさん:2010/02/08(月) 11:54:49
すまん間違えた
document.getElementById("sidebar").contentDocument.getElementById("myControl").setAttribute("attributeName", "value");
436432:2010/02/09(火) 23:46:16
>435
ありがとうございます。
しかし試してみましたが期待した動作をしてくれませんでした。
名前空間についてですが、まだそこまでの理解をしておらず、調べながらになりますが、
<overlay id="sidetempOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"></overlay>
内にスクリプトがあります。名前空間はこのxmlns要素内の事でよろしかったでしょうか?
連続の質問で大変申し訳ありません。
437デフォルトの名無しさん:2010/02/10(水) 00:07:59
>>436
その<overlay>は何をオーバーレイしてるの? browser.xul? 別の物?
438432:2010/02/10(水) 00:51:45
オーバーレイをしているファイル内では以下のように記述しています

<?xml version="1.0"?>
<overlay id="sidetempOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="locationchange.js"></script>
<menupopup id="viewSidebarMenu">
<menuitem observes="side_with_page" />
</menupopup>
<broadcasterset>
<broadcaster id="side_with_page" label="SIDEBAR"
autoCheck="false" type="checkbox" group="sidebar"
sidebartitle="SIDEBAR" sidebarurl="chrome://sidebar/content/side_content.xul"
oncommand="toggleSidebar('side_with_page');"/>
</broadcasterset>
</overlay>

[表示]→[サイドバー]に表示するボタンと、
それを押すことで表示されるサイドバーです。
サイドバー内には独自に作ったxulが入るようになっています。

これでbrowser.xulを書き換えていると言うことなのでしょうか。
439デフォルトの名無しさん:2010/02/10(水) 20:00:36
それなら>435でサイドバー内にアクセス出来ると思うんだけどな。
↓にもそう書いてあるし。
ttps://developer.mozilla.org/en/Code_snippets/Sidebar#Accessing_the_sidebar_from_a_browser.xul_script
「期待した動作をしない」ってのがどういう状況なのか分からないのでなんとも。

そもそも、ロケーションの変更でサイドバーの内容を書き換えるなら、
サイドバーのスクリプトからtabbrowserにProgress Listenerを追加するのが普通だと思うんだが。
ttps://developer.mozilla.org/ja/Code_snippets/Progress_Listeners
440439:2010/02/10(水) 20:12:46
あ、ProgressListenersの方のURLはサイドバー関連は書かれてないや。間違って張ってしまった。
441432:2010/02/10(水) 23:33:52
>サイドバーのスクリプトからtabbrowserにProgress Listenerを追加するのが普通だと思うんだが。

一度そうしようとしたことがあるのですが、
<overlay>内でJavaScriptファイルのインポートを記述した場合、
自動でスクリプトが実行されているのか、リスナーに追加されていたのですが、
<window>内でJavaScriptファイルのインポートを記述した場合、
リスナーに追加されていないようでした。

<window>でonload属性でスクリプトを動かせば良いのかと思い試したのですが、
<window>外にインポートの記述をしたところ、エラーを吐かれてしまいました。
以下がエラー文です
「XML パースエラー: ドキュメント要素の後ろに不正な文字列があります。」

サイドバーのスクリプトからリスナーを追加する方法を教えていただきたいです。
長々と質問を続けて大変申し訳ありません。
442デフォルトの名無しさん:2010/02/11(木) 00:06:38
<window onload="init();" onunload="uninit();">
<script type="application/x-javascript" src="progress.js"/>
</window>
で、progress.jsに
function init() { top.gBrowser.addProgressListener(〜
って書けばいいと思うんだが。
443432:2010/02/11(木) 00:37:03
>>442
試してみました、しかしどうも動いてくれません。

ちなみにサイドバーのスクリプト内で
document.getElementById("sidebar").contentDocument.getElementById("myControl").setAttribute("attributeName", "value");
を動かしてみたところ、コントロールの要素の値は変更されていませんでした。
444デフォルトの名無しさん:2010/02/11(木) 01:07:47
いやいやいや、そりゃサイドバーのスクリプトから見たら
document.getElementById("sidebar").contentDocument
が存在するわけないでしょ。もうすこし冷静になって考えようよ。
あと、「動かない」だけじゃなくて、どこまで出来てて、どこから出来ないのか、
どこで詰まっててどういうエラーが出るのか、ちゃんと自分で把握して説明しないと、
エスパーでもないかぎりアドバイスしようがないよ。
445432:2010/02/11(木) 03:10:22
申し訳ありません、確かにその通りでした。

ところで急展開申し訳ないのですが、
現在期待した動き(ロケーションが変わったときにサイドバーのコントロールの要素が変更される)
が動きました。
どうやらaddEventListenerをしていなかったのが原因だったようです。
446432:2010/02/11(木) 03:14:07
JavaScriptのソースは以下のとおりです
(locationchange.js)
const STATE_START = Components.interfaces.nsIWebProgressListener.STATE_START;
const STATE_STOP = Components.interfaces.nsIWebProgressListener.STATE_STOP;
var bgipeo_Listener = {
QueryInterface: function(aIID){
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
},

onStateChange: function(aWebProgress, aRequest, aFlag, aStatus){
if(aFlag & STATE_START){}
if(aFlag & STATE_STOP){}
return 0;
},

onLocationChange: function(aProgress, aRequest, aURI){
document.getElementById(コントロール名).setAttribute(要素名, value);
return 0;
},
447432:2010/02/11(木) 03:15:04
続き

onProgressChange: function() {return 0;},
onStatusChange: function() {return 0;},
onSecurityChange: function() {return 0;},
onLinkIconAvailable: function() {return 0;}
}

function init(){
top.gBrowser.addProgressListener(bgipeo_Listener, Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
}
function uninit(){
top.gBrowser.removeProgressListener(bgipeo_Listener);
}

var myExtension = {
init: function() {
top.gBrowser.addProgressListener(Listener, Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
},
uninit: function() {
top.gBrowser.removeProgressListener(Listener);
}
};

window.addEventListener("load", function() {myExtension.init()}, false);
window.addEventListener("unload", function() {myExtension.uninit()}, false);

サイドバー
<window onload="bgipeo_init();" onunload="bgipeo_uninit();">
<script type="application/x-javascript" src="locationchange.js" />
</window>
448432:2010/02/11(木) 03:20:43
親切にお答えいただき誠にありがとうございました。
また大量の投稿大変申し訳ありませんでした。
次からは皆様のお役に立てればと思います。
では失礼いたします。
449デフォルトの名無しさん:2010/03/01(月) 00:26:48
chaikaみたいに、
http://127.0.0.1:8823/thread/
とかのURL入力で値受け取るには何使えばいいのでしょうか?
450デフォルトの名無しさん:2010/03/01(月) 00:56:06
ローカルサーバ立ち上げる
451デフォルトの名無しさん:2010/03/03(水) 16:07:30
復活
452デフォルトの名無しさん:2010/03/06(土) 18:16:43
BCBのアプリでHTMLレンダリングエンジン組み込みたいんですけど
付属のTWebBrowserはIEで、例えばコンテンツをコントロールキー+ダブルクリック
された時の挙動を変えようとするだけでIDispatchの派生クラス作って
イベントシンクさせてとかなり面倒な形になるんですけど
Geckoで同じことしようとした場合はもっと簡単にできるんでしょうか?
453デフォルトの名無しさん:2010/03/06(土) 19:06:20
大して変わらない
454デフォルトの名無しさん:2010/06/04(金) 07:47:43
ほしゅ
455デフォルトの名無しさん:2010/07/04(日) 23:34:25
ほしゆ
456デフォルトの名無しさん:2010/08/15(日) 23:34:03
ほす
457デフォルトの名無しさん:2010/09/20(月) 13:48:37
見てる人いますか?
458デフォルトの名無しさん:2010/09/20(月) 13:50:13
パネルの座標の取得ってどうすればいいですか?
leftやtopでも取得できないのですが。。。
459デフォルトの名無しさん:2010/09/20(月) 15:51:14
そういうのはだいたい boxObject の下にあるんじゃね
460458:2010/09/20(月) 19:13:01
>>459
即答ありがとうございます。
document.getElementById("myPanel").leftでは取得できませんでしたが、
document.getElementById("myPanel").boxObject.xで取得できるようになりました。
461デフォルトの名無しさん:2010/09/23(木) 13:32:44
postしたページでlocation.reload(true)すると
「このページを表示するにはフォームデータを再度送信する必要があります。フォームデータを再送信すると以前実行した検索、投稿や注文などの処理が繰り返されます。」
というメッセージが表示されて処理が中断されますが、
このポップアップを表示しない、もしくは自動で再送信を押す方法はありますか?
拡張機能なら後者の方法は可能かと思ってウィンドウのID探したんですけど、
見つけられませんでした。
462デフォルトの名無しさん:2010/09/23(木) 20:24:22
>461
DOM Inspector を起動してからそのメッセージを出して
File=>Inspect Chrome Document でそのメッセージのダイアログを選択すると
ポップアップの実体のファイルが分かる。
多分 commonDialog.xul だと思うから、nsIWindowWatcher でオブザーバを登録して
ウィンドウが開かれる度に内容を見て監視するしかないと思う。

それか、gBrowser.loadURIWithFlags とかは引数で PostData を
受け付けるようだから、それを使えば自動送信はできるはず。
463デフォルトの名無しさん:2010/09/24(金) 08:29:43
ご回答ありがとうございます。

var wwatch = Components.classes["@mozilla.org/embedcomp/window-watcher;1"].getService(Components.interfaces.nsIWindowWatcher);
var observer = {
 observe: function(aSubject, aTopic, aData) {
  if (aTopic != "domwindowopened") return;
  aSubject.addEventListener("load", function() {
   aSubject.close();
  }, false);
 }
};

// 更新箇所
wwatch.registerNotification(observer);
window.location.reload(true);
wwatch.unregisterNotification(observer);

このようにすることでポップアップを消すことはできたのですが、
再送信を押してポップアップを閉じることができません。
また、DOM InspectorでF5や更新ボタンが効かず、
該当のダイアログを出すことができませんでした。
464デフォルトの名無しさん:2010/11/12(金) 15:09:32
FF4でWebGL搭載だってね
正式版出たらXULRunnerで同人ゲームでも作ろうかしらん
465デフォルトの名無しさん:2010/12/03(金) 14:52:11
初めてFirefox(3.6.12)の拡張機能を作ってみてるんだが、
ポインタファイルをつくるところでさっそく詰まりましたorz

extensionsフォルダにinstall.rdfで用いたIDをファイル名にもつファイルを作って
ファイルにはソースのフルパスを書いて再起動してもアドオンに追加されません
ポインタファイルをextensionsフォルダから取り除いて再起動すると、
同名のフォルダ(中はからっぽ)が作られます

何が問題なのか、教えてください
466465:2010/12/03(金) 15:17:20
自己解決しました。文字コードをUTF-8(BOMあり)にしてたのが問題でした。
お騒がせしました
467デフォルトの名無しさん:2010/12/19(日) 01:30:31
でっていう
468467:2010/12/19(日) 01:31:13
誤爆
469デフォルトの名無しさん:2011/01/16(日) 15:07:11
Mozillaの拡張を書いているんですが、C++/XPCOMで書かなければいけない
部分があります。C++/XPCOMのソースは、autoconfを使用して以下の
プラットフォームでビルドできるようにしています。

- Darwin_x86-gcc3
- Darwin_x86_64-gcc3
- Linux_x86-gcc3
- Linux_x86_64-gcc3
- WINNT_x86-msvc
- WINNT_x86_64-msvc

現状、Windows,Linux,Macの3つの環境でこれらのプラットフォーム用の
Xulrunnerをビルドし、そこからXPCOMを作成し、
リポジトリの拡張フォルダのcomponents/platform以下にそれらを個別に
コミットするところまではできています。
(全プラットフォームのXPCOMを手動で作成後、それらをzipで固めて拡張ができる)

ここから本題ですが、上記のプロジェクトの
デイリービルド環境を構築したいと考えたところで躓いてしまいました。
具体的な構築/運用例をググっても、なかなかでてきません。

1. gccと依存関係をクロスコンパイル+WINEにVCインストール
2. 拡張ビルドサーバ1台+コンパイルファーム2台の3台構成

などの案を考えましたが、どちらでやっても手探りで実際の
運用にこぎ着けるのに2,3週間ぐらいの期間を覚悟しています。
(2.はポータビリティなさそうなのでできればやりたくない)
実際にこれを行っているプロジェクト名を教えて頂けたり、
あるいは「自分はこうやっている」という情報があれば教えてください。
470デフォルトの名無しさん:2011/02/20(日) 11:04:13.06
age
471デフォルトの名無しさん:2011/02/27(日) 03:20:04.39
リンクをクリックしたときにURLを加工してジャンプさせるアドオン作りたいんですが、
なんていうイベントで処理すればいいんですかね?
472デフォルトの名無しさん:2011/02/27(日) 21:46:40.67
なにそれ怖い
473のみねーと ◆myadMFZ/7k :2011/04/05(火) 05:34:06.27
                ,.ィ'"               ` 、
               /   ,.--、               :.:.\
          r、 |:.:.:.:.〈;;;;;;;ノ               :.:.:.:.ヽ
          _/△ハ,,__ / ハ !:.:.:.:.:.:.::.:.:.:.:.:.:...        :.:.:.:.ヘ
      /: : : : : :/ ||:.:i/'ーリ―- 、_:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.   :.:.:.:.:.:.ハ
     //: : /: :.:.ト=': : : : :/: : : : : : :. ̄`''ー- 、:.:.:.:.:.:.:.:.:... . .:.:.:.:.:.:!
    / /: : /:.:.:.:.:/: :./: : : /: : : :./: : :/:/: /!: :.i::::``.、:.:.:.:.:.:.:.:.:.:.:.:.:.:!
.      /: :./:.:.:.:.:.:! : /: : : / : : : /: : :/:/!:./ |:.:.l|: : :.:.::::\:.:.:.:.:.:.:.:.:.:.|
    /Vlハ|/!/!|: : !: : : :! : : :.,'!: :.:/:/ |,'  |: :|!: :! : i:.:.::::ヽ.:.:.:.:.:.:.:.:l
         ,イ  /|: :.|: : : :|: : : :.!|: :/:/ |!  .|:.リ|: :|:.:.:|: : : : :ハ:.:.:.:.:.:.!
.       /  / ! ,r|: : : :|: :.'"丁/ ̄` |!   !,'十ァ!、:.|: : : :.|: !:`! _,/
          |:.! |: : : :| ,rfj ̄ヾ、   !   / |ム」_:リ!: : :.,':.:|:::「
          | ト.|: : : :K {| ::::::リ   l  / ,イ}:::::::ハ,!: :.:/:.:.,'::::|
              V:.ハ: : :.|  ゛ー ''        K.__,/ }:.:.:/:.::/::::リ
             V: |: : :ト . xxxx     ,.   `"''" //}:::/: :.,'   ただちに逃げてください...
              V:ハ : |:::\   __     "'''''' /イ:::::/: :./    
            リハハヽ-t`/  \   _,. イ//l/!/|/!      
    ,..、           / /~\ ヽ‐、  /  / / リ 
   /: : :\   _  __,.ィ| イ ,.へ `< ヽr‐ァ―=‐、      
  くr! : : : : : }フ´ \ ̄ハ:.:.:.:ハ  イ ,、〆``ー /:.:/::/   ハ
.  |ト、: : : : :/     ヘ::|: !.:.:.:ハ   ∨ ̄  / .:/::/ /   i!


ただちににげろのガイドライン
http://www.geocities.jp/ust7800870/index.html
。。
474天使 ◆uL5esZLBSE :2011/07/05(火) 07:08:17.59

ゴミが口を開くな????????????????????????????????????
475デフォルトの名無しさん:2011/07/22(金) 21:59:34.37
Emacsでちまちま書いてるけれど、限界を感じてきた
komodo使ったら効率上がるかな
476デフォルトの名無しさん:2011/08/06(土) 21:54:12.20
俺もspidermonkeyでflymakeしながら書いてるけど
js1.7以上対応のjslint的なものの必要性を感じている

jsdocもjs1.7以上だとデフォルトでうまく動いてくれないんだけど
拡張開発者はどうやって対応しているのか知りたい
477sage:2011/08/26(金) 04:03:44.04
hosyu
478デフォルトの名無しさん:2011/08/26(金) 11:14:06.66
:new
479デフォルトの名無しさん:2011/08/27(土) 12:34:32.48
化沿ってるな
Mozilla開発者ってみんなChrome移行しちゃったの?
480デフォルトの名無しさん:2011/08/28(日) 07:24:11.82
スレタイが分かりにくい
「Firefoxの拡張を作るスレ」とかだったらもっと人いたんじゃね
481デフォルトの名無しさん:2011/08/28(日) 12:52:07.56
あげればいいんじゃね?
482デフォルトの名無しさん:2011/09/16(金) 15:59:18.00
本格的にChrome移行しちゃった?
Chrome面白いの?将来的に拡張で稼げたりするとか?
483デフォルトの名無しさん:2011/09/17(土) 12:13:26.64
Chromeの拡張は痒いところに手が届かないからなあ
APIはXULよりずっと整理されててとっつきやすいんだが、色々理不尽な制限がついてて嫌になる
484デフォルトの名無しさん:2011/09/17(土) 18:02:27.13
Add-on SDKで拡張を作ってたらいつの間にか今までの方法に戻ってた
SDKよりboostrap.jsの方がよっぽど使いやすいぜ・・・
485デフォルトの名無しさん:2011/09/26(月) 16:20:56.19
アドオンから外部サイトのHTMLを取得するにはどうしたらいいでしょうか
XMLHttpRequest的な関数があれば教えてくださいm(__)m
486デフォルトの名無しさん:2011/09/26(月) 17:24:21.23
ありゃクロスドメインでも普通にXMLHttpRequestでできるんですね
多分解決?しました。。
487デフォルトの名無しさん:2011/09/27(火) 01:33:22.77
https://dev.mozilla.jp/2011/09/add-on-sdk-xpcom-knagato/

Add-on SDK、結局XPCOMそんまんま使わなきゃいけないのかよ
Pythonまでインスコさせておいて、これはちょっとしょぼすぎる
488デフォルトの名無しさん:2011/09/27(火) 05:45:42.25
アドオン自動更新ログ取って試してみたけど一度アプデするとしばらくは手動で更新確認しても
updateURLにアクセスしないのね

489デフォルトの名無しさん:2011/09/27(火) 07:20:04.95
>>487
めっちゃ迷走してんな
490デフォルトの名無しさん:2011/09/27(火) 14:23:11.41
XPCOMを叩くようなコードはサードパーティ製ライブラリとしてまとめておいて
一般開発者はそのライブラリを使うだけだからXPCOM触らなくて済んでウマー
ライブラリ作者はライブラリのメンテナンスのために今まで通り苦労
っていう話ですよ。
ライブラリを簡単に使うためのCPANやGemみたいな仕組みが整備されないと
多分あんまり意味無い。
491デフォルトの名無しさん:2011/10/04(火) 15:39:00.12
てかpython入れさせるなら、もういっそのことpythonで拡張書けるようなもの作っちゃいなよって思う
492デフォルトの名無しさん:2011/10/05(水) 06:54:51.06
pythonextがあるから現時点でも作れるには作れるけどビルドにも必要なんだからネイティブサポートしちゃえばいいのに
最近のECMAScriptなんてPythonの影響受けまくりだし
493デフォルトの名無しさん:2011/10/07(金) 06:49:58.90
xptの動的登録ってできないのかな
いろいろ探してみたんだけどわからんかった
494デフォルトの名無しさん:2011/10/07(金) 09:07:58.98
>493
今の設計ではどう頑張っても無理。
Components.manager.addBootstrappedManifestLocation()と同様の機能が実装される必要がある。
495デフォルトの名無しさん:2011/10/07(金) 11:35:42.41
addons.mozilla.org おちてるっぽい
496デフォルトの名無しさん:2011/10/11(火) 23:11:48.54
久方ぶりにまとまった内容の本が出るっぽいが
http://www.oreilly.co.jp/books/9784873114972/

でもどうせこれ買うのアドオン開発者くらいなんだから、XUL解説メインの本を出してほしいわ
497デフォルトの名無しさん:2011/10/11(火) 23:47:38.93
本買った 理解できたと 勘違い
498デフォルトの名無しさん:2011/10/12(水) 00:28:00.98
本買うよりMDN見たほうがいいよ
499デフォルトの名無しさん:2011/10/12(水) 00:54:00.93
いまさら Gecko はねーだろ
JavaScriptは参考になるだろうけど
500デフォルトの名無しさん:2011/10/12(水) 01:33:14.19
MDNは化石レベルの情報が平然と残ってるのでちょっと怖い
501デフォルトの名無しさん:2011/10/12(水) 02:00:23.57
しょっちゅうリンク切れしてるのかんべんしてくれよ
502デフォルトの名無しさん:2011/10/12(水) 02:25:20.29
翻訳してないページなら素直に英語版のリンク貼りゃいいのに、なんで存在しない日本語版のページへリンク貼るんだ
503デフォルトの名無しさん:2011/10/12(水) 11:43:41.15
>>494
はっきり否定してくれてありがとう。半年くらい悩んでた。
504デフォルトの名無しさん:2011/10/29(土) 06:01:06.80
.xul内で変数か定数って使えますか?
505デフォルトの名無しさん:2011/11/01(火) 00:28:08.77
.xulに埋め込んだJavaScriptの中なら定数使えるけど、よくいみわかんね
506デフォルトの名無しさん:2011/11/01(火) 00:28:21.48
.xulに埋め込んだJavaScriptの中なら変数や定数使えるけど、よくいみわかんね
507デフォルトの名無しさん:2011/11/05(土) 01:27:09.44
再起動不要なアドオンの作り方ってどうすんの?
508デフォルトの名無しさん:2011/11/05(土) 01:41:59.90
jetpackで作ればおk
509デフォルトの名無しさん:2011/11/05(土) 01:49:19.36
調べてみましたが、これってこれからの主流になるんでしょうか?
510デフォルトの名無しさん:2011/11/05(土) 02:05:28.89
拡張を作る用意さやら導入時の再起動無しやらを考えれば主流になると思うよ
ただバージョンが古いFirefoxへ対応が難しいのが難点
3.6とかへ対応したいなら素直にXUL等で記述する従来でのやり方に慣れた方が良さげ
511デフォルトの名無しさん:2011/11/05(土) 02:08:18.07
どうだか
制限は多いし資料は少ないしで、どっちかっつーとboostrap.jsの方が・・・
512デフォルトの名無しさん:2011/11/05(土) 05:04:51.56
Components.classesだけ書き換えたら完了するようなラッパーはないんですか!
513デフォルトの名無しさん:2011/11/05(土) 05:52:31.84
それがboostrap.jsだ
514デフォルトの名無しさん:2011/11/05(土) 06:56:56.32
xulが使えないのが致命的
515デフォルトの名無しさん:2011/11/05(土) 10:12:52.27
boostrapじゃなくbootstrap.jsじゃないのか
516デフォルトの名無しさん:2011/11/05(土) 11:48:55.80
Firefox 8からはchrome.manifestでchrome://...普通に使えるようになるよ
517デフォルトの名無しさん:2011/11/22(火) 04:09:02.04
サイドバーにおいたTEXTBOXのキャレット位置を取得したくおもい、調べて見たところ.getSelection()を使い
最初から選択位置までの文字列を取得し、改行を数えるという所までわかり、文字列を選択出来るようになったのですが。
反転されている選択した文字列を変数に代入の仕方が判らない為改行の数が数えられません。
サイドバーにあるTEXTBOX上の反転文字列を取得するにはどのようすればよろしいでしょうか?
518デフォルトの名無しさん:2011/11/23(水) 01:47:18.43
valueをselectionStart/Endでsubstringすればいいんじゃないかな
519デフォルトの名無しさん@か:2011/11/26(土) 19:14:13.77
>>518

518さん
substringというのを知らなかったので試してみたところ、無事取得できました。

ありがとうございました。やっと先にすすめます。
520デフォルトの名無しさん:2011/11/29(火) 19:34:40.59
最近XULをはじめたんですが疑問があります。
@下記のように条件をクリアーしたらremoveEventListenerするようにしたつもりなんですが
解除されません。

--------------------------------------
function aaaaa() {
Components.utils.reportError(gBrowser.mTabs.length);
if(gBrowser.mTabs.length>3){window.removeEventListener("TabOpen",this, false);}
}

window.addEventListener("TabOpen",aaaaa, false);
--------------------------------------

Aカスタムボタンでテストをよくおこなうのですが、FirebugにConsole.infoが渡せません。。
errorではなく、infoで渡す方法はないでしょうか?



521デフォルトの名無しさん:2011/11/29(火) 19:51:21.71
@ this === window
522デフォルトの名無しさん:2011/12/09(金) 06:12:15.58
Firefoxオプションのプロキシ経由で繋いでいるかを判別するにはどうしたらいいですか?
523デフォルトの名無しさん:2011/12/09(金) 18:50:35.98
network.proxy.type見ればよかったですね
すみません
524デフォルトの名無しさん:2012/01/29(日) 18:00:03.88
Firefoxでmp3再生するのにいい方法ないかね
フラッシュは手間がかかる割に不安定だし
audio.jsはなんかローカルファイルの再生が出来ないし

audioタグがmp3に対応してくれりゃこんなに苦労しなくてすむのに…
525デフォルトの名無しさん:2012/03/11(日) 01:23:47.58
閲覧しているページのキャプチャを自動的に取るアドオンを開発していて、
documentのloadイベントのタイミングでキャプチャするようにイベントリスナーを登録しました。
そして試してみたところ、Frameページを表示すると、小フレームの数だけdocumentにloadが
起きるようです。
どうしたら、Frameページでもページ全体がloadされたイベントを一回だけ拾うことができるのでしょうか?
526デフォルトの名無しさん:2012/03/11(日) 01:49:16.28
event.targetは?
527デフォルトの名無しさん:2012/03/12(月) 00:47:48.06
<browser>タグのオブジェクトに対してaddEventListener("load", loadHtml, true) と登録したのですが、
フレームページを表示すると、フレームページの数だけloadHtmlが呼び出されてしまいます。
呼び出されたすべてのeventのtarget, currentTarget, explicitOriginalTarget, originalTargetを
確認しても子フレームからのイベントだとは判断できず、すべてが<browser>タグのオブジェクトのようです。
528デフォルトの名無しさん:2012/03/12(月) 00:51:34.98
https://developer.mozilla.org/En/Code_snippets/Tabbed_browser#Detecting_page_load

if (event.originalTarget instanceof HTMLDocument) {
var win = event.originalTarget.defaultView;
if (win.frameElement) {
// Frame within a tab was loaded
529527:2012/03/12(月) 01:09:34.19
>>528
できました。
ありがとうございます。
XULの開発はしっかり英語の部分を読まないとだめですね。気をつけます。
530デフォルトの名無しさん:2012/03/12(月) 20:47:01.58
そのページは日本語のページもあるけど
531デフォルトの名無しさん:2012/03/16(金) 12:59:59.51
Firefox11のXMLHttpRequestしゅごいいいいいいいいいいい!!
コードから正規表現がゴリゴリ減っていくのおおおおおおおおおおお!!
532デフォルトの名無しさん:2012/03/17(土) 10:41:44.46
なにそれくやしく
と言うまでもなく調べたがxhr.responseXML.titleとか出来るようになるんか
https://developer.mozilla.org/ja/HTML_in_XMLHttpRequest
533デフォルトの名無しさん:2012/03/22(木) 22:49:58.54
responseXMLをjQueryで操作できないもんかね
534デフォルトの名無しさん:2012/03/22(木) 23:44:44.73
jQueryバグだらけ
535デフォルトの名無しさん:2012/03/23(金) 02:09:21.23
xhr.responseXML.getElementsByClassNameがまともに動かねえでござる
536デフォルトの名無しさん:2012/03/23(金) 18:52:53.38
>>533
移植すりゃいいだけじゃねえの?
$をresponseXMLの参照にするくらいだべ
537デフォルトの名無しさん:2012/03/24(土) 09:15:33.41
readyStateが3で止まりまくる
使えねえ
538デフォルトの名無しさん:2012/03/24(土) 12:37:14.88
以前、Firebugを有効にしているとreadyStateが4にならないことがあった気がする
539デフォルトの名無しさん:2012/04/26(木) 18:53:37.80
趣味の日曜アドオン開発始めたけどHelloWorldさえだせずに一日が過ぎたお(´・ω・`)
おれはダメな男だお(´・ω・`)
ネットでいろいろ調べたら同じようなところでハマってる人が結構いるみたいだお(´・ω・`)

他にもつくらないといけないものあるから
もうちょっとがんばってダメだったらアドオン開発はあきらめるお(´;ω;`)
540デフォルトの名無しさん:2012/04/26(木) 20:39:17.15
最初のハードル高すぎんだよな
おまけに情報も3.x以前のものばっかだし
541デフォルトの名無しさん:2012/04/26(木) 23:07:32.13
他のアドオンのソースが見放題なんだから、
小さめのアドオン探して適当に改変して遊んでれば何となくいけると思うよ
初心者にそれをやれというのは確かに無理があるけど
542デフォルトの名無しさん:2012/04/26(木) 23:49:58.05
chromeの拡張なら最初の一歩は簡単だよん。
543デフォルトの名無しさん:2012/04/27(金) 00:10:54.72
userChromeJSのスクリプトやGoogle Chromeの拡張は作るけど
Firefoxの拡張は最初の準備段階で面倒くさそうに思えてあきらめてしまう
544デフォルトの名無しさん:2012/04/27(金) 03:17:05.27
そこでboostrap.jsですよ
545デフォルトの名無しさん:2012/05/02(水) 04:46:10.00
準備が面倒ならオンラインで作ってしまえばよろし
https://builder.addons.mozilla.org/
546デフォルトの名無しさん:2012/07/12(木) 20:46:52.13
最近になってXULの存在を知って、
javascriptで動くマルチプラットフォームなアプリ開発に使おうとおもって
色々調べ始めた。
でも古い情報ばっかりで新しい記事が全然みあたらない。
もしかしてXULってオワコンなの?
547デフォルトの名無しさん:2012/07/12(木) 21:30:01.72
というか始まってすらいない
548デフォルトの名無しさん
mozIStorageServiceについて質問です、
テーブルの数値型をINTEGERやREALにした場合、
javascriptとからバインディングするときに
bindInt32ParameterかbindDoubleParameterを使えば良いのでしょうか?