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

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

前スレ
Mozillaでプログラミング(XUL)
http://pc5.2ch.net/test/read.cgi/tech/1019704370/
2デフォルトの名無しさん:04/12/05 00:18:44
テンプレ書いてるうちに立ってたorz

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

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

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

>>2-50あたりに関連リンク、近況など。
31:04/12/05 00:20:13
>>2
うわ、すまそ
4デフォルトの名無しさん:04/12/05 00:21:06
>>1
いやいや、スレ立て乙。
5デフォルトの名無しさん:04/12/05 00:26:06
>>1
乙!
6デフォルトの名無しさん:04/12/05 00:28:06
Z。
7デフォルトの名無しさん:04/12/05 00:31:38
みなさん、overlayした拡張を作るときどのようにテストしてるんですか?
Firefoxで、xul単体だけなら引数の-chromeで表示・テストできるんですけど
overlayした拡張のテスト方法が分かりません。
8デフォルトの名無しさん:04/12/05 00:36:23

MozillaJapan 資料集: コアアーキテクチャ: XUL
http://www.mozilla-japan.org/catalog/architecture/xul/
XUL Tutorial 日本語版 - 和訳ドキュメント一覧
http://www.mozilla.gr.jp/jt/xul/progress.html
XULアプリケーション作成入門
http://www.mozilla.gr.jp/~kazhik/xul/tutorial.html
XUL研 Moz2chなど
http://xul-app.hp.infoseek.co.jp/
XULプログラマの参考書
http://www.bekkoame.ne.jp/~poetlabo/WWW/XULref/XUL_Reference.html

9デフォルトの名無しさん:04/12/05 00:40:47
XUL Planet 聖典
http://www.xulplanet.com/
10デフォルトの名無しさん:04/12/05 00:42:28
>>7
ブラウザ(chrome://browser/content/browser.xul)にオーバーレイしたXULなら
毎回ブラウザを再起動してテストしなければならない。
11デフォルトの名無しさん:04/12/05 01:02:37
関連リンク
Mozilla Cross Reference(ソースコード検索)
http://lxr.mozilla.org/mozilla/

上とxulplanetでなんとかなる。以下余談。

mozilla.orgはサイト構成に問題があるので、自力で見つけるのは難しい。
http://www.mozilla.org/scriptable/components_object.html
Components.interfaces.nsILocalFileとか機械的にコピペしてる人は
一度くらい読んでおくといいかも。

http://www.mozilla-japan.org/docs/tutorials/tinderstatus/
公式拡張サンプル。mykはFirefox用の記事を書いてるって
3ヶ月くらい前に言ってたけど、まだ完成してないらしい。
多分忘れてる。

http://kb-upgrade.mozillazine.org/index.php/Main_Page
私が書いたコードも入っているが、はっきり言うと全然使えない。
でも、__proto__とかやけにマニアックな解説がある。

http://wiki.fdiary.net/xul/
前スレの後ろの方で紹介されてた。
wikiだから、いつの間にか化けてるかも。

Javascriptを極めたいなら、
http://www.crockford.com/#javascript
こういうのが好きな人とか。
foo.prototype.__defineGetter__('bar', function(){return 0;});
12デフォルトの名無しさん:04/12/05 01:05:47
>>10
ありがとうございます。
それは、http://www.mozilla.gr.jp/~kazhik/xul/tutorial.htmlに書いてあるように
chromeディレクトリ下にxulなどのファイルを置いた状態でテストできるのでしょうか?
13デフォルトの名無しさん:04/12/05 01:08:40
もちろんできますよ。
14デフォルトの名無しさん:04/12/05 01:12:29
>>13
それは、引数の-chromeをつけてFirefox本体を起動するんですか?
質問が多くてすいません
15デフォルトの名無しさん:04/12/05 01:23:26
いや、そんな必要は無いです。
引数-chromeはあるクロムURLのXULを単体のウィンドウで開きたい時だけ使います。
16デフォルトの名無しさん:04/12/05 01:26:39
多分、なんか勘違いしてるんじゃないかな。
overlayは当然インストールしないとテストできない。
で、インストールする時にzipで固めずにインストールするといい感じ。
http://kb-upgrade.mozillazine.org/index.php/Dev_:_Tips_:_Disable_XUL_cache
17デフォルトの名無しさん:04/12/05 01:30:00
>>15
そうだったんですかー。
じゃあoverlayしたxulを書いたら、普通に起動するだけでOKなんですね。
ありがとうございました。

>>16
ってやっぱりインストールしないとダメなんですね・・・
installed-chrome.txtを編集するだけじゃダメですか?
18デフォルトの名無しさん:04/12/05 01:33:17
installed-chrome.txtを編集するのとinstallするのは全く同じ。
インストーラーが書き換えるか手で書き換えるかの違いだけ。
でも、firefoxの場合、フォルダをインストールする方が楽だと思う。
19デフォルトの名無しさん:04/12/05 01:39:29
>>18
勉強になります。ありがとうございました。
20デフォルトの名無しさん:04/12/05 01:46:20
だから、順番が逆なんだね。
インストールスクリプトを最初に書いて、
白紙のoverlayをとりあえずインストールするんだよ。
で、いろいろいじって完成したら、コピーをとってアンインストールして、
zipで固めてインストールテスト、公開、鋭いツッコミ、ぎゃあ。
21デフォルトの名無しさん:04/12/05 01:49:20
開発用の環境とインストールテスト用の環境は分けといた方が楽だよ。
(当然プロファイルは分けて)
22デフォルトの名無しさん:04/12/05 08:21:21
>>10
毎回ブラウザを再起動しなくてもブラウザ自体をリロードすればいい

#そのためのxuld
Ctrl+\でリロード
http://nazodane.hp.infoseek.co.jp/extension/xuld.xhtml
23デフォルトの名無しさん:04/12/05 10:06:56
>>22
なるほど!!今まで馬鹿みたいに毎回再起動してたわ。
24デフォルトの名無しさん:04/12/05 10:35:11
漏れは新しいウィンドウ開いて確認してる。
25デフォルトの名無しさん:04/12/05 12:04:20
>>24
ですね。私もそれです。
26デフォルトの名無しさん:04/12/05 23:30:52
>>11 に追加
http://www.hevanet.com/acorbin/xul/top.xul
XUL コンポーネントのサンプル集。 XUL のリファレンスとしても使える。
27デフォルトの名無しさん:04/12/06 06:00:49
誰あ前スレを閲覧できておくように保存してくれる人など居ないものか?
28デフォルトの名無しさん:04/12/06 06:30:10
保存してまとめサイトにアップしておきました。

ttp://firefox.geckodev.org/?%B4%D8%CF%A2%A5%B9%A5%EC%A5%C3%A5%C9#i0181e3b
29デフォルトの名無しさん:04/12/06 06:47:10
>>18
フォルダをインストールってどうやるの?
30デフォルトの名無しさん:04/12/06 07:43:01
>>29
前スレにあったはず。
3130:04/12/06 08:30:16
すまん。。

>>29
>>16
32デフォルトの名無しさん:04/12/06 16:35:35
>>16をわかりやすく言うと、
chromeにjarファイルの代わりにフォルダをいれて、
install.rdfにjarファイルの代わりにフォルダ名を書いとけってことだ
33デフォルトの名無しさん:04/12/06 19:53:41
>>31
>>32
トン!
34デフォルトの名無しさん:04/12/08 01:37:07
まとめサイトの和訳チュートリアル見ながら見よう見真似で拡張の中身とか
install.rdf install.jsを書いて試したんですが、いざインストールしても
再起動する時にエラーで正常にインストールされません。

エラー文にはcontent.rdfの位置指定が間違ってるとかあるんですが・・。
35デフォルトの名無しさん:04/12/08 06:38:25
install.jsはとりあえずは不要では?
また、content.rdfではなく、contents.rdfです。
36デフォルトの名無しさん:04/12/08 07:18:36
質問です。firefoxの拡張を作ってるのですが
ツリーのカラムヘッダを非表示にするにはどのようにすればよいのでしょうか?
treecolにhideheaderを追加してもダメでした。
37デフォルトの名無しさん:04/12/08 07:24:12
hidecolumnpicker="true"になってないとか?
38デフォルトの名無しさん:04/12/08 07:28:17
>>37
ありがとうございます。とりあえずこんな感じで書いてるんですが、ダメでした・・orz

<tree flex="1">
<treecols>
<treecol id="test" hideheader="true" hidecolumnpicker="true" primary="true" flex="1" />
</treecols>

<treechildren>
<treeitem container="true" open="true">
<treerow>
<treecell label="test"/>
</treerow>

<treechildren>
<treeitem>
<treerow>
<treecell label="test1"/>
</treerow>
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</tree>
39デフォルトの名無しさん:04/12/08 07:31:48
hidecolumnpickerはtreeの属性です。

<tree flex="1" hidecolumnpicker="true">
以下略
40デフォルトの名無しさん:04/12/08 07:33:25
treeにhidecolumnpicker="true"を書いたらいけました・・・
>>37さんありがとうございました。
スレ汚しすまそ。
41デフォルトの名無しさん:04/12/08 13:15:49
>>32
肝心なインストールの時はどうやるんだ・・・xpiに固めたら意味ないだろうし・・・
英語読めねー誰か解説してくりー
42デフォルトの名無しさん:04/12/08 13:19:15
>>41
いや、xpiには固めるんだよ。
43デフォルトの名無しさん:04/12/08 13:23:50
>>42
マジですか、でもそれじゃあ編集できないんじゃ・・?
44デフォルトの名無しさん:04/12/08 13:26:28
あーなんとなく意味分かったかも。
45デフォルトの名無しさん:04/12/08 13:28:56
xpiには固めないでしょ。
情報が古いかもしれないけど、
http://www.mozilla.gr.jp/~kazhik/xul/tutorial01.html
このページに書いてあるように手動でフォルダを置き、設定ファイルを書き換える。
46デフォルトの名無しさん:04/12/08 13:29:54
そう、いじるのはプロファイルの中身だから、
上手い具合に解凍されてるわけだ。
47デフォルトの名無しさん:04/12/08 13:30:30
>>45
そっちの方が古い
48デフォルトの名無しさん:04/12/08 13:32:07
>>45-46
とりあえずxpiに固めて試してみます。
お二人さんありがd
49デフォルトの名無しさん:04/12/08 13:37:37
tinderstatusとか、xpiだけどインストールすると
解凍された状態になる。
確か、torisugari氏もget file sizeのnon-jarred版を公開してたはずだが、
404だね。
50デフォルトの名無しさん:04/12/08 18:38:02
51デフォルトの名無しさん:04/12/09 03:05:05
install.rdfのIDって適当に書いていいんですかね?
52デフォルトの名無しさん:04/12/09 03:38:23
>>51
だめ。GUID Generator を使おう。

http://extensions.roachfiend.com/cgi-bin/guid.pl
53デフォルトの名無しさん:04/12/09 04:02:42
>>52
おお!サンクス!
54デフォルトの名無しさん:04/12/09 07:20:19
たまに適当に書いているというか拡張の名前を含めているのもみかけるが。
55デフォルトの名無しさん:04/12/09 08:21:52
適当すぎ。
56デフォルトの名無しさん:04/12/09 08:38:40
仕様上の要求はGUIDなので、Web上で公開するならGUIDを使うべき。
実際にはどんな文字列でも動くから、
自分のマシンだけで使う場合は適当でいい。
57デフォルトの名無しさん:04/12/09 18:08:22
58デフォルトの名無しさん:04/12/09 20:09:14
GUIDGenは大文字と小文字が混じってるのがなぁ。
MACアドレス使ってるからこっちがいいんだろうけど。
59デフォルトの名無しさん:04/12/09 23:19:17
XPCOMで

aIOService.newChannelFromURI(aURISpec).QueryInterface(Components.interfaces.nsIHttpChannel);

とかやってるのを見たのですが、newChannelFromURIの返り値はnsIChannelなのにnsIHttpChannelで
QueryInterfaceできるのは何故でしょうか。
60デフォルトの名無しさん:04/12/09 23:52:16
nsIHttpChannelはnsIChannelを継承してるから。
http://www.xulplanet.com/references/xpcomref/ifaces/nsIHttpChannel.html
61デフォルトの名無しさん:04/12/10 01:43:07
>>60
うーん、それってあまり正確じゃないような。
継承してるのは確かだけどね。
あえて言うなら、「理由はない」な。
aURISpecのプロトコルがhttp[s]?じゃなかったら、
QueryInterfaceは失敗する。
こういう実装がごく自然だってことはわかってほしいが…
6259:04/12/10 07:28:25
メソッドが返す値はドキュメントに書いてあるインタフェイスを
継承した別のインタフェイスを持っている可能性もあるってこと?
メソッドが返す値が持っている可能性があるインタフェイスの一覧とかって
どこ見たら分かりますか?
63デフォルトの名無しさん:04/12/10 08:30:46
firefoxでタブを一覧表示しようとしてるのですが
現在開いてるタブをすべて取得するにはどのようにすればよいのでしょうか?
64デフォルトの名無しさん:04/12/10 08:40:45
gBrowser.mTabContainer.childNodes
65デフォルトの名無しさん:04/12/10 08:46:02
>>64
ありがとうございます!
66デフォルトの名無しさん:04/12/10 11:06:21
>>62
>メソッドが返す値はドキュメントに書いてあるインタフェイスを
>継承した別のインタフェイスを持っている可能性もあるってこと?

そうなるね。
でもそれは、継承している親インターフェイス以外でもおき得る。
インターフェイスっていうのは、余分についてる分には文句の付けようがない。
よく本体と手足に喩えられるられるが、
「握手したいから手を差し出せ」
って言われた時、そいつの足が八本あろうがキャタピラになってようが、
手がついていれば握手に支障はない。

逆にいうと、足がいくらたくさんあっても手がなければ握手はできないから、
インターフェイスをきっちり実装するのが重要なんだけどね。

インターフェイスは必要条件を記述するためのものだから、
実際に送りつけられるインスタンスの十分条件とは限らない、って感じだろうか。

足が八本も付いてるのに、パンチしかしないのはもったいないなー、
と感じた時のためのQueryInterfaceで、
「足があるならキックもやらせようか」ということになる。

継承した子クラスってのは、普通の手だと思ってたのが
実は超合金製だった、とかそんな感じだね。
知らなきゃ握手にしか使えないが、
知ってれば釘を打ったりいろいろ使えて便利になる、と。
67デフォルトの名無しさん:04/12/10 12:22:55
JavaScriptの重たいループ処理をバックグラウンドで実行させる方法はありますでしょうか。
勘で以下のようにやりましたが、まったく処理が動きませんでした。

var runnable = { run : function(){ 重たい処理 } };
const CITHREAD = Components.interfaces.nsIThread;
var thread = Components.classes['@mozilla.org/thread;1'].createInstance(CITHREAD);
thread.init(runnable, 0, CITHREAD.PRIORITY_NORMAL, CITHREAD.SCOPE_GLOBAL, CITHREAD.STATE_JOINABLE);
68デフォルトの名無しさん:04/12/10 23:23:07
>>66
なるほど。

>>59のコードを書いた人はどうやって
aIOService.newChannelFromURI(aURISpec)の返り値が
Components.interfaces.nsIHttpChannelお持っていると
気付いたのでしょうか。
たまたまQueryInterfaceして分かったってこと?
69デフォルトの名無しさん:04/12/10 23:32:31
内部の情報に詳しかったんじゃないの?
英語の方ならドキュメントも充実してるようだし・・・
70デフォルトの名無しさん:04/12/11 01:47:54
xpcom warpped objectかどうかを判定する確実な方法が
しりたいのですが、どうすればいいですか?
71デフォルトの名無しさん:04/12/11 02:29:33
try-catch構文でQueryInterfaceしてみるのが一番早いのではないでしょうか。
72デフォルトの名無しさん:04/12/11 03:16:44
>>70
instanceof 構文で出来るよ。

var channel = ioService.newChannel("http://www.example.com/", null, null);
alert(channel instanceof Components.interfaces.nsIHttpChannel); // おそらく true
alert(channel instanceof Components.interfaces.nsIFTPChannel); // おそらく false

var channel = ioService.newChannel("ftp://ftp.example.com/", null, null);
alert(channel instanceof Components.interfaces.nsIHttpChannel) // おそらく false
alert(channel instanceof Components.interfaces.nsIFTPChannel) // おそらく true
73デフォルトの名無しさん:04/12/11 06:15:04
treeにアイテムを追加するにはどうすればいいの?
タブはaddTabとかあるけど、treeがいまいち分からん。
74デフォルトの名無しさん:04/12/11 08:49:33
>>71
>>72
ありがとうございます。
もうひとつ、nsIEnumerator,nsICollectionでは
アイテムの返り値は、nsISupportsですが
例えば、nsICollectionのなかに、複数の[spconnect wapped nsI*]を格納した時
どのように、QueryInterfaceすれば良いのでしょうか。
NO INTERFACEなどが、出てしまい、うまくいきません。おねがいします。
75デフォルトの名無しさん:04/12/11 09:11:32
try{
support.QueryInterface(Components.interfaces.xxx);
}catch(e){
if(e.name==" NO INTERFACE"}{
//インターフェイスがないとき

}
}
7674:04/12/11 10:11:56
nsICollectionの中身が全部欲しいから、
GetElementAt(0)で、かってくる
nsISupportsがもっている、interfacesのリストなどが
わかるといいのですが。。
7773:04/12/11 12:57:17
もしかして、appendChildとか使わないとダメですか?
78デフォルトの名無しさん:04/12/11 13:09:15
俺だったらDOM使うけど他にも方法あると思うよ
79デフォルトの名無しさん:04/12/11 14:13:23
>>73
createElementNSで要素を作ってappendChildしていくのも可能だけど
RDFデータソースからテンプレートで生成したほうがいい。
80デフォルトの名無しさん:04/12/11 14:27:20
一応、nsIClassInfoっていう専用のインターフェイスがあるから、
それをもってるかどうかをまず確認した方がいいね。
8173:04/12/11 14:30:49
>>79
その方法は、要素の入れ替わりが頻繁に起こるタイプのプログラムに向いてますかね?
そういうのを作ろうとしてるもので・・・
82デフォルトの名無しさん:04/12/11 14:32:38
>>81
そうそう。動的なツリーを作る場合の定石。
83デフォルトの名無しさん:04/12/11 14:33:59
要素の入れ替わりが一度でも起こるんならappendChild, removeChildなんてめんどくさくてやってられん。
84デフォルトの名無しさん:04/12/11 14:48:55
>>82
おお、そうなんですか。ではその方法で行こうと思います。
85デフォルトの名無しさん:04/12/12 15:03:53
binaryStreamをつかって読み書きしたいのですが
ファイルをバイナリで読み込む方法はわかったけど、
nsILocalFileをつかわずにpythonでいうStringIOのような
ものを使うにはどうすればいい?
下のようにすれば、できるかと思ったけど。
nsISimpleStreamListener.init(outputStream,observer)
outputStream.write("hoge",4)
とすると、かならず固まるか、落ちてしまいます。
正しい使い方を、おしえてください;

86デフォルトの名無しさん:04/12/12 15:41:35
type="checkbox"にしたtoolbarbuttonやmenuitemで、oncommand時のcheckedプロパティが
MozillaとFirefoxとで逆のようです。
現状ではしかたなくnsPreferencesからapp.idを取得してFirefoxの場合は…としてますが、
他にうまい解決方法はありませんか?
そもそもなぜFirefoxはcheckedが逆になってしまうのか謎。

サンプルコード
<toolbarbutton type="checkbox" oncommand="alert(this.checked);" />
こちらは問題無し
<checkbox oncommand="alert(this.checked);" />
87デフォルトの名無しさん:04/12/12 16:55:10
>>86
CSSが正しくプロパティを解釈出来てるんなら、
少なくともアトリビュートは正確、ってことになる。

alert((this.getAttribute("checked") == "true")? "Checked": "Not checked.");
でどうだろうか?
88デフォルトの名無しさん:04/12/12 17:20:53
>>87
それでも結果は同じでした。
89デフォルトの名無しさん:04/12/12 17:24:02
oncommandとチェックの発生順序かな
是はどうしようもないかと
90デフォルトの名無しさん:04/12/12 17:34:31
oncommand="setTimeout(function(){alert(event.originalTarget.checked);}, 0);"
としたらうまくいきました。
Firefoxではoncommandよりもcheckedが先に変更されるということか。
91デフォルトの名無しさん:04/12/12 17:38:23
>>90
そうみたいだね。
DOM的に言えば、Semonkeyの方が正しい挙動だと思う。
92デフォルトの名無しさん:04/12/12 19:51:56
BookmarkなどのRDFデータソースってどこに置かれてるんでしょう?
93デフォルトの名無しさん:04/12/12 19:53:00
htmlに変換されて保存されてる
読み出すときはhtmlからrdfに変換されてる
94デフォルトの名無しさん:04/12/12 22:37:51
それにしてもブックマークのHTMLってなんであんなに汚いんだろう
95デフォルトの名無しさん:04/12/12 22:38:37
>>93
サンクス
96デフォルトの名無しさん:04/12/12 23:18:34
>>94
パーサが古いからだろうな。
どう考えてもソース公開以前のコードをそのまま使ってる。
97デフォルトの名無しさん:04/12/15 10:38:15
Firefoxのタブのコンテキストメニューのオーバーレイってどんな感じでやればいいんでしょう?
98デフォルトの名無しさん:04/12/15 11:31:35
スクリプトで動的に編集するしかないんじゃない?
99デフォルトの名無しさん:04/12/15 14:50:31
mTabContainerのonclickを上書きするとか?

行儀悪・・・
100デフォルトの名無しさん:04/12/15 17:28:17
>>99
popupshowingかpopupshownにイベントリスナーを追加したら?
101デフォルトの名無しさん:04/12/17 04:31:04
ページがロードされるたびに、WebページのJavaScriptより先にスクリプトを
実行する方法はありますか?
browserにaddEventListener('load')する方式だと遅すぎるようです。
TbEみたいにメソッド乗っ取りするしかないのでしょうか。
102デフォルトの名無しさん:04/12/17 16:28:12
RDFデータソースの操作って難すぃね
103デフォルトの名無しさん:04/12/17 16:38:26
http://www.kanzaki.com/book/rdf/
そういえばこんどRDFの解説本が出るみたいですよ
104デフォルトの名無しさん:04/12/17 18:34:17
>>102
オブジェクト指向じゃなく手続き型だからね
105デフォルトの名無しさん:04/12/17 20:45:07
>>103
理論的な部分はともかく、実際に手でコードを書いて遊んでみたほうが
よくわかると思います。

>>104
個人的には究極のオブジェクト指向だと思う。
DOMが子供だましに思えるほど。
106デフォルトの名無しさん:04/12/17 21:43:47
>>105
オブジェクト指向について分かってないだろ

例:
オブジェクト指向→
rdf=new 〜();
rdf.delete();
手続き型→
rdfutil=new 〜()
rdfutil.delete(rdf);
107デフォルトの名無しさん:04/12/17 22:58:08
>>106
RDFがわかってないだけでしょ
108102:04/12/18 00:06:39
難すぃというか面倒くさいね
109デフォルトの名無しさん:04/12/18 00:09:38
RDFはデータ構造。
オブジェクト指向はプログラミングの様式。
手続き型なのは、RDFを扱うためのMozillaの実装。
110デフォルトの名無しさん:04/12/18 00:14:27
まあSQLでデータベースをいじるのに比べたら全然難しいよね
111デフォルトの名無しさん:04/12/18 01:16:32
addEventListenerの第三引数のuseCaptureってのが意味不明なのですが、
これをtrueにするのとfalseにするのとではどう違ってくるのでしょうか?
112デフォルトの名無しさん:04/12/18 01:53:23
ttp://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-ref/Events/
trueだと、リスナーが登録されたノードの内部で起こったイベントについて、そのリスナーが真っ先に呼ばれる。
falseだと、イベントが発生したノードからリスナーが登録されたノードまでイベントが伝搬した後で、マターリとそのリスナーが呼ばれる。
113デフォルトの名無しさん:04/12/18 02:31:49
>>112
ありがとうございます。
前スレをのぞいたら、具体例が。
なんとなくわかってきました。

902 :デフォルトの名無しさん :04/11/05 09:17:34
現在、Firefoxの拡張作成をちょこちょこ勉強しているのですが、
Tab,Windowの新規作成時のタイミングを得たいのですが、
試してみたaddEventListener("load",では"更新"にも反応してしまいます。
他に何か方法はありますでしょうか?

903 :デフォルトの名無しさん :04/11/05 15:07:29
>>902
window.addEventListener('load', listener, false)

最後のfalseがポイント
114デフォルトの名無しさん:04/12/18 07:35:45
>>111-113
XUL Event Propagation
http://www.mozilla-japan.org/docs/xul/xulnotes/xulnote_events.html
ここに詳しく解説してある
115デフォルトの名無しさん:04/12/18 22:57:57
開いてるウィンドウをすべて取得したいのですが、RDFデータソース以外から取得できますか?
116デフォルトの名無しさん:04/12/18 22:59:23
117デフォルトの名無しさん:04/12/19 15:54:12
外部ファイルからテキストを一行づつ読み込むことってできますか?
nsILineInputStream というのがありますが、の readLine() を呼び出すとクラッシュしてしまいます。
118デフォルトの名無しさん:04/12/19 17:22:37
XULのウィンドウを最前面ではなく背面に表示したいのですが、
openDialog(URL, "", "alwaysLowered")ではもちろん常に背面に表示されてしまいます。
タスクバーを切り替えてフォーカスしたときや必要なときに最前面に出せるようにはできませんか?
nsIWindowMediatorあたりをさぐってみたのですが、get/setZLevelといったメソッドはなぜか使えないようです。
119デフォルトの名無しさん:04/12/19 18:14:50
>>117
クラッシュしない。
>>118
noscriptってちゃんと書いてある。
120デフォルトの名無しさん:04/12/19 18:20:34
>>117

Firefox 1.0 で nsILineInputStream は問題なくうごくよ。
ただ、readLine はすごく遅いから 全部読み込んで、String.split("\n")
したほうがいい。
121117:04/12/19 19:28:18
当方Firefox1.0(Linux i686)で、やはりクラッシュするするのですが、
>>120 の事情もあるので結局 split("\n");を使うことにしました。ありがとうございます。
122デフォルトの名無しさん:04/12/19 19:46:33
>やはりクラッシュする
ぶっちゃけ、あんたの書き方が悪いんでしょ。
他人や機械のせいにするくらいなら、掲示板で質問しない方がいい。
123デフォルトの名無しさん:04/12/20 06:58:42
むしろJavaScriptでクラッシュなんてどうやったらできるんだ
124デフォルトの名無しさん:04/12/20 08:36:46
「あんたの書き方が悪い」で済ませられない重要なものかもしれないぞ
125デフォルトの名無しさん:04/12/20 12:03:51
>>123
できる。俺もThunderbirdがクラッシュした。

@mozilla.org/messengercompose/quotingのQuoteMessage()に渡した
nsIStreamListenerで、onStartRequest()が呼ばれた後にonDataAvailable()が
呼ばれる代わりにクラッシュした。コールバックだと、自分のコードのどこが
まずいのかよく分からん。

ソースからデバッグビルドのThunderbirdを作って、Emacs + GDBで追いかけ
ようかと思ったけど、そうなるとXULの範疇越えてるし。
126デフォルトの名無しさん:04/12/20 18:50:29
前から疑問に感じていたのですが、XPCOMインターフェースの接頭辞nsは何の略ですか?
127デフォルトの名無しさん:04/12/20 18:59:37
ネットスケープじゃないの。
128デフォルトの名無しさん:04/12/20 19:02:03
なぜmzじゃないんですか?
129デフォルトの名無しさん:04/12/20 19:11:19
Netscape社が作ったからだろ。おまえの頭はカボチャか?


130デフォルトの名無しさん:04/12/20 19:14:41
カボチャじゃありません。ウンコです。
 |人
 |___)
 |__)クスクス
 |∀・ )
  ̄ ̄ ̄ ̄
131デフォルトの名無しさん:04/12/21 00:25:06
>>128
mozITXTToHTMLConv や mozIJSSubScriptLoader とか moz から始まるのがあったりする。
132デフォルトの名無しさん:04/12/21 05:54:43
任意のWindowのResourceを取得する方法はありますか?
getWindowForResourceはあるのですが、その逆がありません。
133デフォルトの名無しさん:04/12/21 18:09:15
>>131
あるにはあるけどかなりの少数派だね。
いまさらnsをmozに付け替えるわけにはいかないから、
nsの意味を捏造した方が早いと思う。
ネームスペースとか。
COMに全然関係ないな…
134132:04/12/21 18:21:47
少し質問を変えます。
getWindowForResourceを使うためにWindowのResourceを取得する方法を模索しているのですが、
http://www.xulplanet.com/tutorials/xultu/xpcomex.html
ここを見ると、templateでなぜかIDが割り当てられていて
そのIDからgetWindowForResourceしてるようなのですが
WindowのResourceを取得する方法は他にないのでしょうか?
135デフォルトの名無しさん:04/12/21 19:07:32
>>134
なぜリソースが必要なんだ?
136デフォルトの名無しさん:04/12/21 19:13:26
>>135
リソースというかgetWindowForResourceで使う引数が欲しいのです。
137デフォルトの名無しさん:04/12/21 19:15:01
普通にwindowがあれば要らないんじゃない?
138デフォルトの名無しさん:04/12/21 19:24:56
>>137
それが要るプログラムな訳でして・・
とりあえず>>134のURL先のサンプルソースで割り当てられてあるIDを
RDFデータソースから取得できたらいいのですが。
139デフォルトの名無しさん:04/12/21 20:00:37
>>138
多分、かなりアホなことやってると思うよ。
とりあえず、>>134を読んでリソースの受け取り方がわからないようじゃ、
RDFとか口走るのはどうかと思う。

つーか、あなたは>>115でしょ?
データソース、本当に要るのか?
ウィンドウのリストがあれば満足なんじゃないのか?
140デフォルトの名無しさん:04/12/21 20:16:34
このスレだけでもずいぶんいろんなプロジェクトが進んでるみたいだけど
完成したら晒してもらえるかな?
たとえば以前あった、Googlebarの検索語を全角空白で区切っても
ちゃんと動作するようにしたのなんかぜひ使ってみたいし、
このスレで出た質問がどう生かされたのか見てみたい。
141デフォルトの名無しさん:04/12/21 20:26:58
最近このスレに感じの悪いやつが一人紛れ込んでるな。
142デフォルトの名無しさん:04/12/21 20:51:08
>>139
はぁ、説明するのまんどくさいんでもういいです。
143デフォルトの名無しさん:04/12/21 20:56:00
むしろ、情報を小出しにしてるやしの方がアレだと思う。
まあ、ムキにならずにタチの悪い質問はスルーした方がお互いの為ではあるな。
144デフォルトの名無しさん:04/12/21 21:38:49
強制IDまだ~?と言ってみるテスト。

>>140
>いろんなプロジェクトが進んでるみたい
公開されているのがほとんどです。(ScrapBookとかMoz2chとか)
>Googlebarの検索語を全角空白で区切ってもちゃんと動作するようにしたの
是は簡単にできる気がします。

>>134
resourceという変数はDOMの(要素の)ノードが入っていますのでそれを入れればいいかと
145144:04/12/21 21:40:21
というかgetWindowForResourceからノード返せといっているのか。
window.document.getElementsByTagName("*")でいいかと
146デフォルトの名無しさん:04/12/21 21:56:09
>>145
多分違う。
147144:04/12/21 21:58:58
いや、>>132のやりたい事
148デフォルトの名無しさん:04/12/21 21:58:59
>resourceという変数はDOMの(要素の)ノードが入っています
そもそもこれが間違い
149144:04/12/21 22:00:05
あ…
属性ノードの間違いorz
スマソ
150デフォルトの名無しさん:04/12/21 22:03:27
混沌としてきたなぁ。
もしDOMの話をしてるんだったら、属性じゃなくて、要素のID属性だから、
それでいいんだけど、多分、>>132のやりたいことは
コンテナからRDFResouceを直に取り出すことじゃないかな。
151デフォルトの名無しさん:04/12/21 22:04:08
んでリファレンス見たら単にID渡せば良いだけという罠
152デフォルトの名無しさん:04/12/21 22:06:40
とりあえず、>>134 は勘違いをしている確立が高いと。
何をしたいかがわからないと答えようがないなぁ
153132:04/12/21 22:13:37
皆さん、すいません。
IDを渡せばいいってのは分かるんですが、Window Mediatorデータソースから
直接getWindowForResourceの引数に使う値を取り出したいのです。
154デフォルトの名無しさん:04/12/21 22:31:14
データソースってとこ良く分からんがWindow MediatorはXPCOMをインスタンス化しただけだから引数に使う値はない。
#ウインドウ一覧が欲しいという事なのかな
#もうちょっと具体的にお願いします。
155デフォルトの名無しさん:04/12/21 22:37:47
156デフォルトの名無しさん:04/12/21 22:38:46
>>154
http://xulplanet.com/references/xpcomref/comps/c_rdfdatasource1namewindowmediator.html
このコンポーネントを使用してるのですが

>ウインドウ一覧が欲しいという事なのかな
はい、とりあえずそうです。
157デフォルトの名無しさん:04/12/21 22:40:27
んでID付けたくない理由は?
158デフォルトの名無しさん:04/12/21 22:44:42
というかRDFの奴が一通り使えるしRDFについて学ぶのが良いと思う。
でも単純なリストではないって事???
159デフォルトの名無しさん:04/12/21 22:45:27
データソースから取り出すには、コンテナを初期化して、
Enumeratorを回すのが定石。
でも、ウィンドウのリストがほしいだけだったら、mediatorでも出来る上に
どっちみちSimpleEnumeratorの説明をしなくちゃならんから、
遠回りしてるだけなんだよ。

だから、情報を小出しにすんな、って言われてるでしょ?
160デフォルトの名無しさん:04/12/21 22:47:12
>>156
頼むから、getEnumeratorを使ってくれ。
RDFは、もうちょっと知識が身に付いたあとでも遅くないから。
161デフォルトの名無しさん:04/12/21 22:50:10
>>115-116
実は2分で結論が出てることを、ここまで引っ張ってきてるわけだ…
162132:04/12/21 23:06:26
いや、単純にウィンドウのリストを取得するだけなら分かりますし、できるんですが。
ていうか、説明が難しい上にスレも荒れるので、自力で解決したいと思います・・
今後自分に対するレスはもう不要です、いやほんとに。
163デフォルトの名無しさん:04/12/21 23:10:29
やり方 http://wiki.fdiary.net/xul/ に書いてきた
164デフォルトの名無しさん:04/12/23 11:24:59
ところで、>>132 さんが使おうとしているgetWindowForResourceって使えます?

Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator).getWindowForResource("window-1");
エラー: Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator).getWindowForResource is not a function
165デフォルトの名無しさん:04/12/23 13:04:35
166デフォルトの名無しさん:04/12/24 05:27:02
厨房もじらーさんってまだ生きてるのかな?(・∀・)
167デフォルトの名無しさん:04/12/24 12:41:37
>>166
メールでも送ってみたら?
168デフォルトの名無しさん:04/12/26 21:44:00
こんな事できたのか。。おれてきメモ。
var docroot = window.content.document.documentElement
docroot.innerHTML += '<p id="hoge">hoge</p>'
window.content.document.getElementById("hoge")
//もうひとつ
var doc = document.implementation.createDocument("","html",null)
var range = doc.createRange();
range.selectNodeContents(doc.documentElement);
range.collapse(true);
var cf = range.createContextualFragment(htmlcontent)
doc.documentElement.appendChild(cf)
var serializer = new XMLSerializer();
var xml = serializer.serializeToString(doc);
これで、htmlも簡単にxmlに変換できるのね。
169デフォルトの名無しさん:04/12/31 12:46:05
テキストファイルの文字コードの自動認識する方法ってありますか?
170デフォルトの名無しさん:04/12/31 17:41:00
>>169
あるよ
171デフォルトの名無しさん:04/12/31 18:37:24
ウィンドウにフォーカスがあるか調べるメソッドかなんかあります?
172デフォルトの名無しさん:04/12/31 18:44:04
自己解決しますた。
173デフォルトの名無しさん:04/12/31 19:04:51
>>170
どのようにすれば自動認識できますか?
174デフォルトの名無しさん:04/12/31 19:08:22
自動認識はできないんじゃ?
確かflyson氏のページに日本語の文字コードを簡易的に識別する関数があったが…
175デフォルトの名無しさん:04/12/31 21:04:18
>>173
他のプログラム言語で書かれた判定式を移植
#Mozilla内部にもあるはずだけどJSからは使えないはず
176デフォルトの名無しさん:04/12/31 23:08:31
>>22の拡張を入れたらフロントエンドからアンインストールしても「次回の起動時に削除されます」
とか書かれて再起動しても消えてくれない・・・・
とりあえず手動で消すにはどうしたらいいですかね
177デフォルトの名無しさん:04/12/31 23:13:22
プロセスが残ってない?
Winならタスクマネージャで調べてみて。
178デフォルトの名無しさん:05/01/01 00:10:49
>>177
プロセスで殺しても無理でした。ついでにPCごと再起動しても無理です・・・
179デフォルトの名無しさん:05/01/01 00:14:28
extension.rdfあたりを手動でいじればいいんじゃ?
180デフォルトの名無しさん:05/01/02 05:37:34
nsIRequestObserverのonStopRequestで、statusCodeに2147500033という数値が返ってきました。
この数値の意味を知る方法はありますか?
181デフォルトの名無しさん:05/01/02 08:32:13
それは、NS_ERROR_NOT_IMPLEMENTEDだな。
idlでは定義されてるんだが、実装を書かないとそうなる。
182デフォルトの名無しさん:05/01/02 08:35:05
>>66の例でいくと、「握手しようとしたら、空振り」エラーだ。
183デフォルトの名無しさん:05/01/02 10:14:40
握手に失敗しても空振りとは言わんな
むしろ空手形とかそんなんだろ
184デフォルトの名無しさん:05/01/02 22:29:41
空手形もおかしい
185デフォルトの名無しさん:05/01/03 22:20:51
ページ読み込み完了時に処理させたいのですが、どのようにしたらいいでしょうか?
mTabBox.addEventListener("load", test, true);
現在このようにやってますが、これでは早すぎます。
186デフォルトの名無しさん:05/01/03 22:29:54
>>185
mTabBox.addEventListener("load", test, false);
でいかがでしょうか? (>>111-114 参照)
187デフォルトの名無しさん:05/01/03 22:33:01
>>186
ありがとうございます。
それも試しましたが、それだとうまく"完了時"に取得できないようです。
他の方法があればよいのですが・・・
188デフォルトの名無しさん:05/01/04 02:04:40
nsITreeViewを自分で実装したツリーで、setCellTextしてもすぐにはツリーセルのテキストが変わらず、
なぜかそのセルを選択状態にすると変更が反映されます。
これをどうにかすぐに反映させるようにできないでしょうか?
189188:05/01/05 23:54:27
自己解決というか実装の仕方を変えたので質問を取り下げます。
190デフォルトの名無しさん:05/01/08 12:16:32
firefoxの拡張機能で、インストール時に独自の設定ファイルを作る方法ってあります?
191デフォルトの名無しさん:05/01/08 13:19:32
デフォルト設定を*.jsで定義したいという話なら、
だとしたら、しかるべきパスにしかるべきファイルを置いて
*.xpiに含めればいいと思う。
192190:05/01/08 17:55:27
>>191
defaults/preferences/*.js ではなくて、独自の「ファイル」の方法ってことです。

で、さっき気が付いたんだが、 *.xpi の中に setting.xml とか置いておけば、インストール時に
%ProfD%/extensions/{extension-uuid}/setting.xml
に展開されるから独自の設定ファイルを置けることがわかったので、解決しました。

が、これだとアップデート時にもsetting.xmlが上書きされてしまうという問題点がうまれてしまいました。
193デフォルトの名無しさん:05/01/08 18:36:29
>>192
> defaults/preferences/*.js ではなくて、独自の「ファイル」の方法ってことです。

そういうポリシーになってないと思う。
194デフォルトの名無しさん:05/01/08 19:17:09
>>192
xpiにあらかじめ設定ファイルを含めるのではなく、初回起動時に生成できればいいよね。
アップデート時は設定ファイルの存在を判定して、あればそのまま使うように。
195デフォルトの名無しさん:05/01/08 20:02:27
nsIPrefServiceに任意のファイルに設定を出力する機能があったと思うけど、
これは特定のブランチ以下だけを吐くとかできるのかな?
無理なら、TbEみたいに自力で実装するしかないかと。
196190:05/01/09 12:06:31
やっぱり起動するときに、設定ファイルを捜したり作ったりする処理が必要なのか…。
皆さん、ありがとうございました。
197デフォルトの名無しさん:05/01/12 02:03:26
Mozillaのインクルードディレクトリ、
あちこちに散らばってるのですが全部手動で指定するのはダルイです。
皆さんどうやって対応しているのですか?

#include "xpcom/xxxx.h"
みたいにしてます?
198デフォルトの名無しさん:05/01/12 02:19:51
拡張の多言語版の配布方法で困っています。

ある拡張の公式なバージョン(例えばen-USとja-JP)とは別にローカライズ版(例えばde-DE)が存在するとき、
ローカライズ版をインストールしたドイツ人のユーザが拡張の更新ボタンを使って公式バージョンの最新版へ
アップデートすると、ロケールに食い違いが生じて赤字のXULエラーが出てしまうという問題があるようです。

このような場合、ローカライズ版を一度インストールした人は今後ずっとローカライズ版がアップデートされるのを
待つように注意を促すしかないのでしょうか?
199デフォルトの名無しさん:05/01/12 03:13:45
それしかないと思う。現状のExtensionManagerでは対策のしようがないので。

あと、ローカライズ版作成者の人に
ローカライズ版専用の自前の更新情報を提供してくれるよう
協力を呼びかけるくらいだろうか。
200デフォルトの名無しさん:05/01/12 03:28:50
ありがとうございます。やはりそうですか…。
ローカライズ版作者にupdate.rdfを作ってもらうという方向でいきます。
しかし不要なトラブルを避けるためにいっそ自分で全ロケールを管理した方がマシのような気もしてきました。
201デフォルトの名無しさん:05/01/12 12:42:06
それが妥当だと思うなあ。 > 自分で全部管理
手数は増えるけど。UNIXのソフトは普通そうだよね。
リリースが近くなったらアナウンスして翻訳してもらって。

202デフォルトの名無しさん:05/01/12 20:22:28
XULのwikiに拡張の説明のローカライズの仕方書いてきた。(って言ってもコピペだけど)
#んで書いてみて、何か物凄い面倒なことしてるな>俺って思ったのは気のせい。

>>200
全部自分で管理、新たな文が必要になった所は英語で補完しとけば良いと思う。
203デフォルトの名無しさん:05/01/17 06:28:07
XUL開発のために今までずっとnglayout.debug.disable_xul_cacheをtrueにしてたけど、
久々にfalseにしたらFirefoxが驚くほど軽快に。デバッグするときと普段とでいちいち値を
切り替えるのは面倒だけど。
204デフォルトの名無しさん:05/01/19 00:13:03
HTMLの文字列をDOM treeに変換したいときは、どうするのがベストでしょうか。
空のHTMLDocumentを作って、innerHTMLに入れるのかと
思ったんだけど、document.implementation.createDocumentで作られるのは
XMLDocument…。
205デフォルトの名無しさん:05/01/19 07:27:41
DOMParserは?
206デフォルトの名無しさん:05/01/19 14:06:53
>>205
DOMParserはXMLのパースしかできなかったと思われ。
207デフォルトの名無しさん:05/01/19 19:24:47
http://firefox.geckodev.org/?%B3%C8%C4%A5%A4%CE%BA%EE%C0%AE
のHello worldチュートリアルを見てコンテキストメニューとツールのとこに
メニューを追加する方法はわかったのですが、
タブの右クリックメニューのところにはどうやって追加するのでしょうか?
難しいんですか?
208デフォルトの名無しさん:05/01/19 19:34:15
>>207
簡単ですよ
209207:05/01/20 20:24:58
>>208
toolkit.jarを書き変えれば確かに簡単だけど、
自分の拡張からだとXBLとかいうのを書くみたいでちょっと初心者には無理ですね。
来年がんばります。
210208:05/01/20 20:42:48
>>209
勘違い?
#オーバーレイを使えば肝胆なのに
211デフォルトの名無しさん:05/01/21 01:00:23
確かにタブのコンテクストメニューってidで一意に定められているわけじゃなく、
XBLで各タブごとに存在するという感じだから、例えばcontentAreaContextMenuにオーバーレイ
するみたいに一筋縄ではいかない気がするな。
212208:05/01/21 18:34:13
よく調べないで書き込んでスマソ。
#でもXBLもそんなに難しくない気がするけど…
213デフォルトの名無しさん:05/01/30 19:30:13
>>211
XBLはCSSに入ってるから、オーバーレイっていうよりカスケーディングだな。
CSSはオーバーレイされてるんだけどね。
根本的な考え方は一緒、というかむしろカスケーディングの方が
なじみがあるだろう。
214デフォルトの名無しさん:05/02/02 03:47:44
http://xul-app.hp.infoseek.co.jp/xultu-janit/datasrc.html
ここの6.7.2のファイルブラウザーが何も表示されませんが、何か間違っていますでしょうか?
treecolsが無いのはおかしいと思い追加してみたが、それでもダメでした。
215デフォルトの名無しさん:05/02/02 19:19:12
そのサンプルが古いからです。
>2002 年 3 月 16 日記。このページの更新は、もはや、ありません。
>後を継いで頂ける方がありましたら、ここでのこれまでの翻訳を、ご自分のサイトに移して、このサイトの翻訳が停止した後の差分を訳すなり、一から訳し直すなりの措置をお取り頂ければ幸いです。
>私の連絡は不要です。このページは、4 月末までに廃止されます。
216デフォルトの名無しさん:05/02/03 02:40:57
現在の仕様では、旧treeウィジェットはなくなって、
その資料でoutlinerとなっているものがそのまま名称変更されて
treeとして実装されています。
217デフォルトの名無しさん:05/02/03 21:56:19
>>215-216
ありがとうございました。
もう一度考えてきます。
218デフォルトの名無しさん:05/02/07 20:16:11
これ結構楽しいかも。
JSDoc
http://jsdoc.sourceforge.net/
219デフォルトの名無しさん:05/02/07 21:48:17
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Perl
220デフォルトの名無しさん:05/02/07 22:06:13
>>219
Python と HSP を忘れてるぞ。

……って Ruby スレじゃないじゃん。ここ。
221デフォルトの名無しさん:05/02/10 07:31:13
すいません、RDFとTemplateに絡んで質問なんですが、

<rdf:Description rdf:about="...">
<my:property rdf:parseType="Literal"><html:em>はろー</html:em>ぐっど<html:br />もーにんぐ</my:property>
</rdf:Description>

というふうにparseType="Literal"である目的語の値をそのままテンプレートに使うのにはどうしたらいいんでしょうか。
ためしに以下のようにやってみましたが、(&my;は名前空間URIに展開される)

<rule>
<conditions>
...
<triple subject="..." predicate="&my;property" object="?object" />
</conditions>
<action>
<html:p uri="..."><textnode value="?object" /></html:p>
</action>
</rule>

以下のような結果になってしまいました。

<html:p>rdf:#$R1O4A1</html:p>

ほしい結果は以下のとおりです。

<html:p><html:em>はろー</html:em>ぐっど<html:br />もーにんぐ</html:p>

何とかテンプレート関連要素を使ってやる方法はないのでしょうか?
それともこういう場合はスクリプトで処理していかなくてはならないのでしょうか?
# 関係ないけどXUL/Migemoはすごいですね。
# "parseType"で検索したら「パース型」まで引っかかりましたよ。
222デフォルトの名無しさん:05/02/11 08:16:38
sidebarBox = document.getElementById("sidebar-box");
みたいな感じでGUIの部品への参照を取得してるみたいなのですが
引数として与えられる文字列と取得できる部品の対応表とメンバ一覧みたいのはありますか?
223デフォルトの名無しさん:05/02/11 11:07:44
>>222
domi
224デフォルトの名無しさん:05/02/12 15:54:12
>>221
> http://lxr.mozilla.org/mozilla/source/rdf/base/src/nsRDFContentSink.cpp
>
> This code is based on the final W3C Recommendation,
> http://www.w3.org/TR/1999/REC-rdf-syntax-19990222.

moz の実装してるRDFの仕様は少し古いので

> 2) We don't support the `parseType' attribute on the Description
> tag; therefore, it is impossible to "inline" raw XML in this
> implemenation.

perseType="Leteral" 属性は使えない、XML 断片を含ませることができない。
だそうだけど...何か方法あるのかな。
225デフォルトの名無しさん:05/02/12 20:36:58
まずはbugzillaでvoteするべし
226221:05/02/16 01:52:59
>>224
おおっ、ありがと。ってサポートされてないのね。残念。
仕方ないからテンプレート使わず単なるXMLとみなして
DOMでひとつずつ取り出すかXSLTで一気に変換するかします。

ちなみにBugzillaで探したら

Bug 33197 - no support for parseType="Resource|Literal"
https://bugzilla.mozilla.org/show_bug.cgi?id=33197

RESOLVED/FIXEDになってる!?
どうやらNC:parseType (意味的にはrdf:datatypeに相当?)が実装されたときに
FIXEDにされたらしいですが……どうなってるんでしょ?
227デフォルトの名無しさん:05/02/16 10:55:42
>>226
Bug 33197 の修正元
Bug 118865 - Asserting an rdf int literal writes malformed xml
https://bugzilla.mozilla.org/show_bug.cgi?id=118865
のパッチ
https://bugzilla.mozilla.org/attachment.cgi?id=64400
をみても、NC:parseType="Interger" と NC:parseType="Date"
しか実装されてないように見える。Bug 33197 はきちんと直ってないんじゃないかなぁ。

テンプレートじゃなくてスクリプトで、nsIRDFService.GetLiteral 使う場合は
できるのかも。試してないからわからんけど。
228デフォルトの名無しさん:05/02/20 11:14:04
229デフォルトの名無しさん:05/02/20 22:01:54
どういった利点が?
230デフォルトの名無しさん:05/02/20 22:37:20
簡単に拡張を作成できるようにしました。
http://nazodane.hp.infoseek.co.jp/extension/xuld.xhtml
ツール>拡張の作成で作成できます。
まだあまりテストしてなかったり、ロケールがen-USのみ固定だったりするので人柱募集。
231デフォルトの名無しさん:05/02/20 23:29:18
>>230
GJ!
これで生成できるGUIDって正式なやつなんでしょうか?
232デフォルトの名無しさん:05/02/21 09:24:59
RDFデータソースの操作で参考になる拡張は何ですか?
233デフォルトの名無しさん:05/02/21 16:36:31
>>231
guidのwindowsでの正式な出し方はadvapi32.dllを使うのでどうしようもありません。
またunixではランダムデバイスを使っているようです。

ようはランダムであれば良い訳で別にMath.randomでも問題なさげと判断しました。(内部処理までは確認してません。)
234デフォルトの名無しさん:05/02/21 19:47:39
>>233
でも、なるべく衝突しないようにしなきゃいけないわけで。
235デフォルトの名無しさん:05/02/21 20:08:03
GUIDは全部をランダムに取るわけじゃないよ。
それなりに人によって使う領域が違ってくるように考えられている。
計算の仕方というのがあるのできちんとやるように。
236デフォルトの名無しさん:05/02/21 20:25:31
あーデバイスから求めてる訳か。
JSの実装がどうなってるか確認してみます。
237デフォルトの名無しさん:05/02/21 20:26:21
>>235
角度とか?

つか、偉そうなこと言うんだったらもうちっと具体的なこと言えばいいのに(笑)
238デフォルトの名無しさん:05/02/21 20:39:20
ダメっぽいな…
XPCOMあさってみます。
239デフォルトの名無しさん:05/02/21 20:45:06
crypto.random();が実装されてないorz
240デフォルトの名無しさん:05/02/21 20:53:08
>>237
DCE 1.1 RPC Specificationを読め。
241デフォルトの名無しさん:05/02/21 21:06:11
uuid=guidでいいんだよね
http://lxr.mozilla.org/mozilla/source/calendar/libxpical/token.c
是見るとやっぱり時間で求めてるorz

他の所も
>"uuid" + (new Date()).getTime();
な感じで無理っぽいなorz
242デフォルトの名無しさん:05/02/21 21:26:29
>>240
uuidって仕様あったんだ
某所で聞いた時誰も答えてくれなかったorz
243デフォルトの名無しさん:05/02/22 00:04:37
http://nazodane.hp.infoseek.co.jp/uploader/xuld_v0.3.2+.xpi

GUIDを修正してみた。
ただしvbs関係でエラーが出たりウイルスチェッカーが引っかかったりする可能性大。
Cドライブ以外にプロファイルがある時は上手く動作しない。
244DCE:05/02/23 00:21:46
245243:05/02/24 16:45:55
添付フォルダを使うようにしました。
これでwindows上では問題なし。

>>244
で?
246デフォルトの名無しさん:05/02/24 17:30:12
>>244
そのツールって内部から呼べて、さらに値返ってくるの?ってことでしょ

>>245
手動の計算方法は*BSDのソース見たときに載ってた気がする
まぁ計算方法は何とでもなるだろうけど、問題は機種固有数値の取得か
あれって確かMACアドレス取ってるんだっけ?

# Windows系だけでOKなら、現行の仕様で問題無さそうだけど
247デフォルトの名無しさん:05/02/24 17:35:59
windowsではvbsでScriptlet.Typelibを使うようにしたので問題ないです。
linuxでは/dev/urandomや/dev/randomを読み込むだけでよさげだけど環境が無いので対応は後回し。
248デフォルトの名無しさん:05/02/24 17:52:37
>>246
> 手動の計算方法は*BSDのソース見たときに載ってた気がする
> まぁ計算方法は何とでもなるだろうけど、問題は機種固有数値の取得か
> あれって確かMACアドレス取ってるんだっけ?

そう。DCEのSpecの"UUID Format"ってとこに書いてある。
要するにMACアドレスが(建前としては)一意性を保証されてるってことと
時刻を利用して理論的には一意な数値を叩き出す。
MACアドレスが尽きたらどうするんだろうというのは昔から謎。
249デフォルトの名無しさん:05/02/24 17:54:16
xul+javascriptでデータベースアプリケーションは作れマツか?
その1は落ちていて読めていません。
250デフォルトの名無しさん:05/02/24 18:32:10
>>249
とりあえずその1
http://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc5_tech/1019/1019704370.html

データアプリケーションは作れなくも無いけど、読み込みスピードの問題が発生してくるかも。
251デフォルトの名無しさん:05/02/24 18:48:53
こんなのあったりもします
http://jsdb.sourceforge.net/index.html
252sage:05/02/25 05:54:21
> 250, 251
ありがとうございます。
既存のDBを使いたかったら、PHPとかサーバサイドでその処理を行い、
xul+jsはフロントエンドとして使う、ということですね。
flexとかと同じですね。
253252:05/02/25 05:55:15
sageのいれどころ間違いました。すいません。
254デフォルトの名無しさん:05/02/25 08:59:39
一瞬ThunderbirdにSageのXPI突っ込んじゃったのかと思っちゃったじゃないか
255デフォルトの名無しさん:05/03/03 08:04:06
ナイトリービルドではXUL(JavaScript)の仕様もあちこち変わってきているように見受けられますが、
そういった細かい仕様変更やバグフィックスなどに関する情報はどこで手に入れることができますでしょうか?
256デフォルトの名無しさん:05/03/03 17:09:38
>>255
mozillaのwikiに載ってるよ。

ちなみに>>228はxulrunnerでしか関係ないと思われ
257デフォルトの名無しさん:05/03/03 19:55:19
xulrunner結構いいけど是と言って作る物が思いつかないorz
258デフォルトの名無しさん:05/03/03 21:16:35
サイドバーにテキストボックスを1つ配置したとして、
その内容(value)を閉じても保持するにはどういう方法がありますか?
要はスタティックな変数が確保できればいいんですけど、

function hoge(){};
hoge.prototype = {
 load: function(){
  var hogeside = document.getElementById("hogeSidebar");
  hogeside.value = ++hoge.prototype.count;
 },
 count:0
}
var hogehoge = new hoge();

例えば上のようなコードで、サイドバーを開く度にcountをインクリメントして表示だと、
どういう風に書けばいいでしょうか。
(上の例では毎回1が表示される)
259258:05/03/03 21:21:48
ああ何か違う_no
countを〜じゃなくて、テキストボックスのvalueをインクリメントして〜、です
260デフォルトの名無しさん:05/03/03 21:28:25
preferencesに保持するのが一般的と思われ
261260:05/03/03 21:30:20
262258:05/03/03 21:49:32
>>260-261
ありがとうございます。
ただ、例なので単純に数値のインクリメントにしてみたんですけど、
実際はテキストボックスでなくツリーで、
ツリー内の状態を保持しようと考えてます。
その場合もやっぱりpreferencesしか手はないでしょうか?
263デフォルトの名無しさん:05/03/03 21:56:33
>>262
それだったらrdf
264デフォルトの名無しさん:05/03/03 22:50:03
265デフォルトの名無しさん:05/03/05 00:16:24
斜め読みで適当に書いてるんで、間違ってても知りませんよ。
ttp://piro.sakura.ne.jp/latest/2005/03.html#d5-A7F7BD1E-1
266デフォルトの名無しさん:05/03/05 01:12:36
>>265
乙です。
chrome.manifestはinstalled-chrome.txtの記述にさらにcontents.rdfのoverlayの記述を加えたような感じですね。
XMLではないので読み書きしやすいので、こちらの方がよさげな気がします。
ただ、今までinstall.rdfで登録していた拡張の名前やバージョン、アップデートURLなどの情報はどうなるのだろうか。
267デフォルトの名無しさん:05/03/05 01:55:04
ほんとだね。どうなるんだろ
268デフォルトの名無しさん:05/03/05 12:18:13
>>266
いや変わらないでしょ
>install.rdfと
って所はただのミスでしょ
一箇所にまとめるのもいいと思うしスピードを上げるのもいいけどRDFの採用を減らすのはどうかと思うな…
269デフォルトの名無しさん:05/03/05 13:28:13
んで疑問なのはmanifestの置く場所がxulrunner(というかアプリケーション側)と違う事。(アプリケーション側はchromeフォルダ内)
270デフォルトの名無しさん:05/03/07 20:05:14
windowsでfirefoxのtrunkを使っているのですが
window.open("chrome://*",null,"chrome,alwaysRaised");
が聞かない様な気がするのですがどうすればいいのでしょうか?
271デフォルトの名無しさん:05/03/07 20:55:51
便利でメジャーなプラグインを自動で検索してインストールするプラグインキボン
272270:05/03/07 21:08:00
親のzLevelが設定されてないとだめなのかなぁ…

>>271
窓の社(not 杜)の中の人乙
273デフォルトの名無しさん:05/03/07 21:21:32
ウィンドウの内部名はなんでnullになってるの?
274デフォルトの名無しさん:05/03/07 21:28:45
>>273
'_blank'になおしますた。
それと上手くいったけどtopmostっていってもfirefox内だけなのねorz
275デフォルトの名無しさん:05/03/08 00:14:10
システムに対してtopmostにできるとフィッシングに使う馬鹿が出るから仕方ない
と言っても特権持ったXULアプリならできても良さそうなもんだがな
276デフォルトの名無しさん:05/03/08 01:32:07
Win32API呼ぶ方法ってありますか?
277デフォルトの名無しさん:05/03/08 23:47:16
rundll32.exe使うとかどうよ
278デフォルトの名無しさん:05/03/09 22:15:18
そんなんじゃIEには勝てないな
279デフォルトの名無しさん:05/03/09 22:32:56
>>278
ええ、確かにIE+ASP.NETとは比べ物になりませんよ
やりようによってはウイルスだってハードディスク丸ごとフォーマットだってできちゃうXULに勝ち目はありません。
280デフォルトの名無しさん:05/03/10 16:41:17
nsIViewManagerでサムネイルが出力できるようになったのはいいんだけど(set MOZ_FORCE_PAINT_AFTER_ONLOAD=c:\tmp\test)、xpcom側から使えないのがなぁ…
是使えればもっと色々なことできそうなのに…
誰かパッチ書いてくれないかなぁ(他人任せ)
281デフォルトの名無しさん:05/03/10 23:37:03
武熊をサムネイルで整理とかできたらおもしれえかもな。
282デフォルトの名無しさん:05/03/13 08:09:28
ブラウザが持っているダイアログ(ブックマークに追加、など)を呼び出して、通常と違う動作をさせるにはどうしたらいいんでしょうか?
通常呼び出される場合には手を加えず、特殊な場合だけ動作を変えたいのです。
283デフォルトの名無しさん:05/03/13 10:14:17
引数を渡してウィンドウを開く
284デフォルトの名無しさん:05/03/13 11:11:35
>>282 <dialog id="****">を overley すれば?
overley の js で通常と特殊を振り分ければできるっしょ。
285282:05/03/13 16:27:28
なるほど。ありがとうございます。
286デフォルトの名無しさん:05/03/14 18:14:21
>>275
chrome内ならできるようにして欲しいなぁ。
でないとランチャーや時計みたいな小物アプリが…
287デフォルトの名無しさん:05/03/14 18:49:13
Flasherって何?inIFlasher
ウンコモラッシャー!
288デフォルトの名無しさん:05/03/15 11:48:20
>>287
inIだからDOMiの為の何か。
289デフォルトの名無しさん:05/03/18 00:17:59
すいません。今、XULでMozillaのToolbarを作っています。

ツールバーでアイコンとアイコンの間に仕切り線を入れたいのですがどうしたらいいのでしょうか?

デフォルトであるブックマークのツールバーの「ホーム」と「ブックマーク」の間にある仕切り線みたいなのが良いです。
よろしくお願いします。
290デフォルトの名無しさん:05/03/18 00:43:15
>>289
separatorかと思ったけど、
これだったらちょっと検索しただけで分かるよね
他の何かかな?
291デフォルトの名無しさん:05/03/19 08:48:41
DOMインスペクタ使ってる?
292デフォルトの名無しさん:05/03/19 23:33:07
ドロップダウンリスト関連の質問です。

リストのラベルをJavaScriptで作成した変数(配列変数)を使いたいんですか
どうすればいいんでしょうか。

具体的には以下の通りです。
293291:05/03/19 23:33:51
<script type="application/x-javascript">
<![CDATA[
teArray = new Array();
n = 0;
while (n<5) {
teArray[n] = n + "番目";
n++;
}
]]>
</script>

<menulist>
<menupopup>
<menuitem label="≪teArray[1]を使いたい≫" oncommand="sk1()"/>
<menuitem label="≪teArray[2]を使いたい≫" oncommand="sk2()"/>
<menuitem label="≪teArray[3]を使いたい≫" oncommand="sk3()"/>
<menuitem label="≪teArray[4]を使いたい≫" oncommand="sk4()"/>
<menuitem label="≪teArray[5]を使いたい≫" oncommand="sk5()"/>
</menupopup>
</menulist>
294デフォルトの名無しさん:05/03/19 23:46:18
>>293
menuitem自体を動的に挿入汁
295291:05/03/19 23:51:29
>>294
それはどのように行えばよいのでしょうか?
具体的に、丁寧な説明をお願いします。
296292:05/03/19 23:52:59
>>293
>>295
すいません。名前の欄を間違えました。「292」です。
297デフォルトの名無しさん:05/03/19 23:54:54
もう少しjavascriptを勉強したら?
298デフォルトの名無しさん:05/03/19 23:55:07
>>292
menupopupにID付けといて、
var mi = document.getElementById("mp").firstChild;
while(n<5){
teArray[n] = n + "番目";
mi.label = teArray[n];
mi = mi.nextSibling;
n++;
}
みたいにすればいいんじゃ?
ただしonloadなどで実行してね。
299デフォルトの名無しさん:05/03/19 23:57:13
もっとも、俺なら294のように動的に要素を生成して挿入するね。
300292:05/03/20 14:12:49
>>298
ありがとうございます。早速やってみたのですが・・・、クリックしてもリスト(アイテム)が出てきません。
以下のスクリプトで実行しました。どこに問題があるか教えていただけると幸いです。

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window
title="XUL"
onload="ttt01()"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript">
<![CDATA[
function ttt01() {
teArray = new Array();
var mi = document.getElementById("mp").firstChild;
while(n<5){
teArray[n] = n + "番目";
mi.label = teArray[n];
mi = mi.nextSibling;
n++;
}
}
]]>
</script>
<menulist>
<menupopup id="mi">
</menupopup>
</menulist>
</window>
301デフォルトの名無しさん:05/03/20 15:19:18
>>300
menupopupのchildNodesが見あたりませんが……それじゃ動くはずないって。

皆さんが言ってるのは、

<script type="application/x-javascript">
<![CDATA[
function ttt01() {
teArray = new Array();
var mi = document.getElementById("mi").firstChild;
while(n<5){
teArray[n] = n + "番目";
mi.label = teArray[n];
mi = mi.nextSibling;
n++;
}
}
]]>

<menulist>
<menupopup id="mi">
<menuitem oncommand="sk1()"/>
<menuitem oncommand="sk2()"/>
<menuitem oncommand="sk3()"/>
<menuitem oncommand="sk4()"/>
<menuitem oncommand="sk5()"/>
</menupopup>
</menulist>

とするか、
302デフォルトの名無しさん:05/03/20 15:22:55
(続き)

<script type="application/x-javascript">
<![CDATA[
function ttt01() {
var menulist = document.getElementById("ml");
for(var n= = 1; n < 6; i++){
mpopup.appendItem(n + "番目").setAttribute("oncommand", "sk"+n+"()");
}
}
]]>

<menulist id="ml"/>

とするか、ってことです。
303デフォルトの名無しさん:05/03/20 15:27:25
>302のコード間違えたorz

<script type="application/x-javascript">
<![CDATA[
function ttt01() {
var menulist = document.getElementById("ml");
for(var n= = 1; n < 6; i++){
menulist.appendItem(n + "番目").setAttribute("oncommand", "sk"+n+"()");
}
}
]]>

<menulist id="ml"/>

が正解。

とりあえずDOM(Document Object Model)の基本を勉強した方がいい気がする。
http://moz.skillup.jp/docs/dom/reference/javascript.html
http://www.mozilla.gr.jp/jt/xul/progress.html
http://www.parkcity.ne.jp/~chaichan/src/javascdom00.htm
このへんとかどうかな。
304デフォルトの名無しさん:05/03/20 18:45:25
すいません、画像の整理がしやすいように、"今自分の指定した規則のファイル名"で、ファイル保存する拡張を作りたいのですが
contentAreaUtil.js内部の
saveURL()

saveInternal()
と関数を追っていったところ、その関数の最後の
var sniffer = new nsHeaderSniffer(aURL, foundHeaderInfo, data, aSkipPrompt);
の1行で躓いてしまいました、何方か、このクラスに関する資料や、(期待出来ないけど)saveInternal関数の詳細解説

ファイル保存時に、好きなファイル名を指定出来る方法等をご存じでしたら、お知恵をお願いいたします
単純に、aFileName引数に適当な名前を入れ込んでしまえば上手くいくと思ったら、綺麗に動いてくれなかった物で…
一応、作りかけ…、普通にファイル保存しか出来ません
http://www.geocities.co.jp/Playtown-Knight/9224/img_collect.zip
305デフォルトの名無しさん:05/03/20 20:44:41
「"今自分の指定した規則のファイル名"で、ファイル保存する」という意味がよくわからないけど、
そんな小難しいことやんなくても、nsIWebBrowserPersistのsaveURIで保存すればいいんじゃないの?
http://piro.sakura.ne.jp/xul/tips/x0015.html
306デフォルトの名無しさん:05/03/21 00:09:05
DOMインスペクタのようにノードを監視するにはどのようにすればよいでしょう?
DOMインスペクタのソースを一通り眺めてみたけど理解できずorz
307デフォルトの名無しさん:2005/03/21(月) 04:13:03
>>306
DOM Inspectorのソースは見てないがMutation Events用のリスナを登録してみるのはどうだろう。
ただしまともに実装されているのかは知らないが。
Mutation Events not created or dispatched for XML document that is loaded into memory but not rendered in a window/frame
https://bugzilla.mozilla.org/show_bug.cgi?id=201236
308デフォルトの名無しさん:2005/03/21(月) 05:44:17
DOMAttrChange(だったっけ)はとりあえず使えてます
309デフォルトの名無しさん:2005/03/21(月) 12:50:50
そもそもDOM Inspectorってどうやって監視してるんだ。
310デフォルトの名無しさん:2005/03/28(月) 15:03:55
>>306,309
「調査対象ノードをマウスで選択します」ボタンの動作を見る限りでは、
予め対象のDOM Documentを格納しておいてボタンを押されたとき(監視開始時)に
対象ドキュメント.addEventListener("mousedown",リスナー,true);
として、リスナーでevent.targetとして対象ノードを取得しているようです。

参考資料
chrome://inspector/content/viewers/dom/dom.js
http://lxr.mozilla.org/mozilla/source/extensions/inspector/resources/content/viewers/dom/dom.js#427
http://lxr.mozilla.org/mozilla/source/extensions/inspector/resources/content/viewers/dom/dom.js#964

>>306 さんの仰る「ノードの監視」の意味がわからなで答えているので、主旨が違ってたらごめんなさい。
311デフォルトの名無しさん:2005/03/31(木) 14:04:56
http://tinderbox.mozilla.org/showbuilds.cgi?tree=XULRunner
のWINNT 5.0 sweetlou Dep %のログのエラーの部分見てワロタ
>d:/builds/tinderbox/XR-Trunk/WINNT_5.0_Depend/mozilla//dist/bin/firefox.exe does not exist.
>Error: binary not found: firefox.exe
ってw
312デフォルトの名無しさん:2005/04/07(木) 22:26:45
http://ryuzi.dyndns.org/mozillazine/html/modules/news/article.php?storyid=969
>Bug 281988 を修正したところ影響が大きく、いくつかの拡張機能が動作しなくなっている
313デフォルトの名無しさん:2005/04/07(木) 23:32:16
変更内容がいまいちわからない。
具体例を挙げて説明キボンヌ。
314デフォルトの名無しさん:2005/04/08(金) 00:12:19
window._contentが使えなくなったのかな?
315デフォルトの名無しさん:2005/04/08(金) 01:18:56
そりゃ大変だ。
316デフォルトの名無しさん:2005/04/08(金) 10:57:25
自分が気づいたものでは、gBrowser.contentDocument.defaultViewがnullになってる。
gBrowser.contentWindowやdocument.popupNode.ownerDocument.defaultViewは今までどおり使える。

オマケ
ttp://piro.sakura.ne.jp/latest/2005/04.html#d8-A8239515-1
317デフォルトの名無しさん:2005/04/08(金) 23:09:52
http://nyozlla.hp.infoseek.co.jp/cgi-bin/nyoboard.cgi

> Mozilla/Firefox のセキュリティ修正は IE のようなパッチ方式ではなく、
> 全体を丸ごと更新します。このため「セキュリティ修正のたびに数 MB も
> ダウンロードするのは、ダイアルアップ接続のユーザーには苦痛だ」とい
> う意見も多く、とくに Mozilla 1.7.6 => 1.7.7 と Firefox 1.0.2 => 1.0.3
> は日にちが近いこともあり、多くの苦情が寄せられました。
> そこで Mozilla Foundation は、今回の修正に "fix the root problem"
> (根本問題の修正)を追加して、製品寿命を長くする決断をしたもようで
> す。いきさつは adot's notblog* "another shot at 1.0.3"
> (http://weblogs.mozillazine.org/asa/archives/007898.html) 参照。
> しかし、この「根本問題の修正」はいわば「仕様上のぜい弱性の修正」で
> もあるため、一部の「拡張機能」が動作しなくなるなどのトレードオフが
> 生じています。
318デフォルトの名無しさん:2005/04/10(日) 03:33:55

XULでポトペタ環境ってまだないの?そういうのがあると
手軽なGUI作成ツールになるんだけど
319デフォルトの名無しさん:2005/04/10(日) 06:32:15
この辺のことか?
ttp://www.mozdev.org/categories/xul.html
320デフォルトの名無しさん:2005/04/10(日) 10:52:41
>>318
XULDでテスト中
chrome://xuld/content/visualformmaker/formmake.xul
ただしMozArtを元にしてるのでそっちの許可が下りない限りは(ry
#tree表示がないときついな
321320:2005/04/10(日) 11:23:45
>>319
お、すげ…
322デフォルトの名無しさん:2005/04/10(日) 12:41:42
>>319
まともに動くのが無い・・・orz
323デフォルトの名無しさん:2005/04/11(月) 01:47:21
これってブラウザの外に窓開いて独立したアプリを作ることもできるの?
324デフォルトの名無しさん:2005/04/11(月) 14:40:19
>>323
ブラウザ自体XUL+JavaScriptで記述されてますから。
325デフォルトの名無しさん:2005/04/11(月) 15:18:16
XULRunnner がそれじゃない?
使ったことないから知らないけど。
326デフォルトの名無しさん:2005/04/11(月) 16:54:56 BE:113346465-
327デフォルトの名無しさん:2005/04/11(月) 22:44:25
328デフォルトの名無しさん:2005/04/11(月) 23:52:09
>>323
できます。
Firefox内でも、「ブックマークの管理」ダイアログやDOMインスペクタ、
設定ダイアログ、拡張機能の管理ダイアログなどが
「ブラウザの外に窓開いて独立したアプリを作」った例と言えます。
329デフォルトの名無しさん:2005/04/12(火) 00:04:05
-chrome引数付けて開けば単独で開けたはずだし
330デフォルトの名無しさん:2005/04/13(水) 19:27:52
JSでもXPCOM作れるらしいけど実際使われてる拡張ほとんど見ない…
使いまわしだとかバージョンによるバッティングとかどんな感じになってるの?
ttp://nazodane.hp.infoseek.co.jp/xpcom/xpcom.xhtml
331デフォルトの名無しさん:2005/04/14(木) 04:01:22
>>330
adblock とか livehttpheaders とか結構使ってるよ。
332デフォルトの名無しさん:2005/04/14(木) 06:08:00
333デフォルトの名無しさん:2005/04/14(木) 16:42:08
>>331
あくまでもスキーマ登録とか処理介入じゃん。
xptを含むのってほとんど無い…
334デフォルトの名無しさん:2005/04/14(木) 17:14:55
XULRunnerのWindows版ナイトリキター
335デフォルトの名無しさん:2005/04/16(土) 16:54:27
+ テキスト
 ├テキスト
 └テキスト

ツリーのこの部分の幅を調節するにはどうすればよいのでしょうか?
336デフォルトの名無しさん:2005/04/16(土) 16:59:20
337335:2005/04/16(土) 17:02:53
>>336
ありがとうございます。それは試しましたがtree-lineの上に上書き?されてしまいます。
出来ればtree-lineは残した状態で調節したいのです。

ちなみにこう書きました。
treechildren::-moz-tree-indentation {
width: 0px;
}
338デフォルトの名無しさん:2005/04/17(日) 19:25:23
Fx1.0.3でfocusedWindow.__proto__.getSelection.call(focusedWindow)が使えなくなって
ちょっとした祭りになってるけど、そもそも__proto__ってどういう意味なの?

ttp://developer-test.mozilla.org/docs/Safely_accessing_content_DOM_from_chrome#Do_not_use_the___proto___trick
339デフォルトの名無しさん:2005/04/17(日) 19:29:38
>>338
prototype
340デフォルトの名無しさん:2005/04/19(火) 12:17:05
リリースバージョンが上がるたびに互換性の問題で動かない拡張が山のように出るな
341デフォルトの名無しさん:2005/04/20(水) 17:52:53
もっとライブラリ化しまくって中間ライブラリで対処できるようにするべきだと思うんだけど…
342デフォルトの名無しさん:2005/04/28(木) 00:09:26
Firefox専用の拡張をMozillaで使えるように改造とかできますか?
343デフォルトの名無しさん:2005/04/28(木) 00:14:35
場合による。
344デフォルトの名無しさん:2005/04/28(木) 03:18:28
>>338
[[Prototype]]
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/8_Types.html#section-8.6.2
prototype は [[Prototype]] じゃない。
345デフォルトの名無しさん:2005/04/28(木) 18:17:20
346デフォルトの名無しさん:2005/04/28(木) 23:02:01
347デフォルトの名無しさん:2005/05/01(日) 09:41:57
IDEっつか、CVSとかがついた統合環境にならんかなぁ
348デフォルトの名無しさん:2005/05/08(日) 22:44:58
349デフォルトの名無しさん:2005/05/09(月) 04:50:03
これってECMA Scriptの仕様にもある機能なの?
350デフォルトの名無しさん:2005/05/09(月) 06:04:51
パッと見 Ruby っぽい?
Ruby にもメソッド新設されないかなぁ
351デフォルトの名無しさん:2005/05/09(月) 16:24:58
>>>348-349
ECMA-262 3rd にはないよ。
concat, join, pop, push, reverse, shift, slice, sort, splice, unshift, length
これだけ。

独自拡張やるなら JavaScript 1.5 と ECMA Script 区別できるようにして欲しいなぁ
https://bugzilla.mozilla.org/show_bug.cgi?id=62485
352デフォルトの名無しさん:2005/05/09(月) 18:40:25
個人的には大文字を使うのが気持ち悪いんだが、
これもJAVA風味ってことかねぇ。
353デフォルトの名無しさん:2005/05/09(月) 18:51:10
あー、でもよく考えたら、charAtとかもインターキャップか…

ECMAとの違いもここに書いてあるね。
http://developer-test.mozilla.org/docs/Core_JavaScript_1.5_Reference:Objects:Array
354デフォルトの名無しさん:2005/05/09(月) 20:18:57
しかし、javascript1.5の準拠バージョンが1.8b2になってしまったな。
1.8finalを出せるとよかったんだが…
355デフォルトの名無しさん:2005/05/09(月) 22:49:42
indexOfがあるならlastIndexOfもほしいような気がするけど実際には使わないかな?
にしてもforEachとかmapとかArrayだけじゃなくって普通のObjectにもほしいな。
大文字小文字という点ではStringのsubstringとsubstrだけが例外なのかな?
356デフォルトの名無しさん:2005/05/10(火) 00:17:18
"substring"で一単語なんじゃないかな。
357デフォルトの名無しさん:2005/05/10(火) 00:46:48
あっ、ホントだ。sub stringじゃなかったのね。

substring
【名】 サブストリング、従属文字列{じゅうぞく もじれつ}、部分列{ぶぶん れつ}
(スペースアルク英辞郎より)
358デフォルトの名無しさん:2005/05/10(火) 23:01:48
新しいウィジット<prefwindow/>の解説。
http://forums.mozillazine.org/viewtopic.php?p=1450063

prefいじりが簡単で見やすくなった…
が、applyボタンがついてないのってUIとしてどうよ?
最近の設定ダイアログだと大抵あるのに、
firefoxは随分遅れているような気がする。
359デフォルトの名無しさん:2005/05/12(木) 00:59:08
>>358 の Applyボタンに関して追記
WindowsビルドにはApplyボタンは付いています。UnixビルドとMacビルドにはありません。

例えば、unixビルドはGnome HIGに合わせる形でInstant ApplyスタイルになったためApplyボタンがありません
http://developer.gnome.org/projects/gup/hig/2.0/windows-utility.html#windows-instant-apply
ただ、このスタイルが嫌いならばuser.jsに
user_pref("browser.preferences.instantApply", false);
のように設定すればApplyボタンが「復活」するので、好みのスタイルで使えます。つか、そうしています。
360デフォルトの名無しさん:2005/05/12(木) 03:08:36
また Gnome HIG か。
悪い方向にしか働いてないんじゃないか?
俺、Gnome なんて使ったことないし。fluxbox で十分。
361デフォルトの名無しさん:2005/05/12(木) 03:41:46
入門のための書籍もしくはwebサイトはありませんか?
362デフォルトの名無しさん:2005/05/12(木) 04:37:55
363デフォルトの名無しさん:2005/05/12(木) 16:49:21
> 359
Win の beast(tinderbox 最新) trunk だと Option ダイアログに OK と Cancel しかない。
browser.preferences.instantApply を true にすると Close だけになる。
何か操作間違えてるかな、Theme はデフォルト。
364デフォルトの名無しさん:2005/05/12(木) 21:01:39
>>363
http://lxr.mozilla.org/mozilla/source/toolkit/content/widgets/preferences.xml#472
を読んだ感じではそういう実装だね。

ダイアログがモーダルなら、applyボタンの出る幕はないし、
そうでないなら、InstantApplyにしとけ、ってコトなんだろう。
365デフォルトの名無しさん:2005/05/12(木) 23:21:00
>>361
Mozilla拡張の作成
http://firefox.geckodev.org/?%B3%C8%C4%A5%A4%CE%BA%EE%C0%AE#mf95723f
つまりは、hello、worldまでの準備。
これじゃあ、ダメかな、自分は、ココのおかげでスタートを切れた

あとは、このスレの最初の方のリンクを頼りに頑張らないといけないと思う
366デフォルトの名無しさん:2005/05/13(金) 18:20:13
>>365
それは既に時代遅れになってる。
367デフォルトの名無しさん:2005/05/13(金) 22:18:57
368デフォルトの名無しさん:2005/05/16(月) 20:49:33
Dive Into GreaseMonkey
ttp://diveintogreasemonkey.org/toc/
すごいね〜
369デフォルトの名無しさん:2005/05/16(月) 20:54:09
Greasemonkey compiler
ttp://www.letitblog.com/greasemonkey-compiler/
で、こいつで userScript を Firefox の拡張 xpi に変換する。
370デフォルトの名無しさん:2005/05/18(水) 22:03:11
いろんなリモートXULアプリが公開されている。
http://www.georgenava.com/applauncher.php
371デフォルトの名無しさん:2005/05/18(水) 23:23:13
>>366
最新情報はいったいどれなの?
372デフォルトの名無しさん:2005/05/19(木) 12:14:27
どれ、って言われてもなぁ。
(いろんな人の)脳内としか言いようがない。

まだ1.1が出てないうちは、あれでいいのかもしれないが、
今から拡張の書き方を覚えるなら、contents.rdf云々を覚えるのは無駄。

賞味期限があと一日しかない牛乳を買うような感じ、とでも。
373デフォルトの名無しさん:2005/05/24(火) 02:39:00
ユーザーにプログラムを配布するときはどうすればいいの? 
クラスが登録されていませんと出て、実行できないのですが・・・。 
374デフォルトの名無しさん:2005/05/24(火) 02:50:04
>>373
もうちょっと詳しく。
375デフォルトの名無しさん:2005/05/24(火) 03:03:45
http://homepage2.nifty.com/spw/tips/Gecko.html
ここにある、実行ファイルを実行すると、Mozilla ActiveX Controlがインストールしてある環境では
うまくいくのですが、そうでない別のパソコンでは上記のようなエラーが出ます。
ともにfirefoxはインストールしてあります。
Mozilla ActiveX Controlは必ずインストールしなければならないのでしょうか?
それともregsvr32 を使って何かを登録すればよいのでしょうか?
376デフォルトの名無しさん:2005/05/24(火) 13:23:22
>>375
それは、ActiveXを使うかどうかに拠ります。
ActiveXの本質はMicrosoftのコンポーネントオブジェクトモデル(COM)ですよね。
ActiveXを使うなら、Mozilla ActiveX Controlが必要になりますが、
そんなものをインストールしてあるFirefoはかなりの少数派です。

ただ単に自分のアプリケーションでGeckoを使いたい場合は、
http://rcl.hp.infoseek.co.jp/pub/gecko_old/geckosdk/Minimum.html
を参考にしてください。
80行程度の短いプログラムですが、きちんと動きます。

コンパイラ(MS Visual Studio)を持ってないなら、
http://blue.sakura.ne.jp/~junnno/mozilla/
が参考になるかと思います。
377デフォルトの名無しさん:2005/05/24(火) 17:06:00
自作のJava XPComオブジェクトを呼び出す(By LiveConnect)Firefoxプラグインの作り方を
紹介しているようなページをご存知な方いらっしゃったら、教えてもらえませんか?
Javaでなくて、自作XPComだけでもかまいません。
ここのスレッドでも紹介されているようなサイトを色々見ながら試行錯誤しているのですが
なかなか痒いところに手が届く情報が手に入りません。
今は、
http://simile.mit.edu/piggy-bank/index.html
を解析しながら試しているのですが、規模が大きすぎて。
378デフォルトの名無しさん:2005/05/24(火) 18:25:28
>>377
プラグインというのはいわゆるプラグインではなく、拡張のことですよね?

Firefoxは拡張として独自のXPCOMを付加するのが以前に比べて*かなり*
簡単になっているので、こちらの方はお薦めです。

一方で、以前はプラグインに自作のXPCOMをつけるのは当たり前でしたが、
今はnpruntimeがあるので無理にXPCOMを書く必要はありません。
やや、難解です。

が、ここにその古いXPCOM付きのころの解説があります。
http://web.archive.org/web/20041113045157/cgi29.plala.or.jp/mozzarel/plugin/buildplugin/buildplugin_ja.html
npruntime版もプラグイン自体は書きあがって私のFirefoxで動いていますが、説明までは出来ていません。
(というか、ぷららを解約してしまったのでどこで公開するかも決めてないのですが…)

>>378が紹介してくれた80行のプログラムでも何度もXPCOMが呼び出されているので、
呼び出しが難しい、なんてことはないですよね?
どのへんのことを知りたいのでしょうか?

基本的な作り方の手順は、
1. idlを書く。
2. idlをコンパイルして、.xptと.hを手に入れる。
3. .hに書いてあること参考にc++で実装する。
4. それをコンパイルしてdll(linuxならso?)に出力する。
という感じです。

どのへんで詰っているのでしょうか?

多分、誰かが参考リンクとして、
http://www.mozilla.org/projects/xpcom/book/cxc/html/index.html
を挙げてくれると思いますが、これはやや遠回りしすぎな感じがします。
379デフォルトの名無しさん:2005/05/24(火) 18:36:43
>> 378
はい、拡張でした。

XPComに関して、呼び出しはまったく問題ないのですが、
idlにインターフェイス定義してから先、どうやってコンパイルするのか、
どこにxptファイルを置くのか、どのような仕組みでdllがロードされるのか
という点が分かっていません。

情報ありがとうございます。調べてみます。
380デフォルトの名無しさん:2005/05/24(火) 19:21:23
>>379
とりあえず、Gecko SDKを入手してください。
http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.8b1/gecko-sdk-i586-pc-msvc-1.8b1.zip

すると、xpidl.exe(だっけ?)が入っているので、
それをDOS窓等から使います。
http://www.mozilla-japan.org/scriptable/xpidl/

例えば、idlが"nsIHoge.idl"とすると、
xpidl.exe -m typelib -i (gecko-sdkへのパス)\idl\ -o (カレントディレクトリへのパス)\nsIHoge (IDLファイルへのパス)
で、nsIHoge.xptができます。
xpidl.exe -m header -i (gecko-sdkへのパス)\idl\ -o (カレントディレクトリへのパス)\nsIHoge (IDLファイルへのパス)
で、nsIHoge.hができます。

この、nsIHoge.hというのはなかなか優秀でして、実はコメントとして、
実装のテンプレートを書いてくれてあります。
ですから、それをhoge.hとhoge.cppにコピペして、
hoge.hからnsIHoge.cppをインクルードしてやれば、
コンパイラとリンカは通ります。
ですから、変数名をいじって肉付けすれば半分完成です。

残りの半分は登録です。
http://lxr.mozilla.org/mozilla/source/xpcom/sample/nsSampleModule.cpp
を参考におまじないを書くのが一番分かりやすいと思います。

今は何のことかわからなくても、
とりあえずsampleという名詞を自分のクラスの名前と置換しておけば
あとは、マクロがうまくやってくれる、はずだと思いますが…
381デフォルトの名無しさん:2005/05/24(火) 21:26:25
>>367 これ試せた人います?
382デフォルトの名無しさん:2005/05/25(水) 01:05:54
Sageの様にブックマーク内の特定フォルダを取得したくて苦戦中っす。
bookmarks-menuをDOMで掘ろうとしても、「このページをブクマ」等しか取得できなかった。

とりあえず、XUL上でRDF & template でブクマ全体をメニュー化するところまではいったんだけど、
特定のフォルダのみ表示ってruleでいけるのでしょうか?

RDFをDOM形式に変換できれば簡単なのに・・・
383デフォルトの名無しさん:2005/05/25(水) 01:20:40
>>382
RDFのXPCOMだけで掘り進めるので、慣れれば簡単ですよ。
ちなみに、rdfをdomにするのは当然可能なんですが、却って
扱いづらいのは請け合いです。なんたってRDFですからね。
384デフォルトの名無しさん:2005/05/25(水) 03:49:17
>>383
ありがとうございます。XPCOMを調べておぼろげながら理解してきました。
OOPとDOM操作さえできれば拡張作れると思ってたけど、勉強することいっぱいありますね。

RDFっていうのは、RDFインターフェースを実装してて
ファイルはXMLっぽいけどAPIは別物なわけですね。

bookmarkはnsIRDFDataSourceを実装してるから、
GetSourceか、GetTargetあたりにフォルダ名やフォルダIDをパラメータで渡して
対象のノード(?)を取得して、templateに流し込む。

こんな認識でOKでしょうか? 勘違いだったらごめんなさい。
385デフォルトの名無しさん:2005/05/25(水) 12:51:40
>> 380
できました。ありがとうございます。
今度はJavaのプログラムをバックエンドで動かすため、
npruntimeにトライしてみます。

386デフォルトの名無しさん:2005/05/25(水) 19:43:49
>>385
どういう状況を想定しているのかわかりませんが、
npruntimeはおよそ役に立たないと思います。
javaを使うだけなら、普通のjava pluginでいいような気がするし。
387デフォルトの名無しさん:2005/05/26(木) 17:12:35
ここで報告するような事では無いかもしれませんが、firefox1.04でなんとかxulmakerを動かす事が出来ました。

で、ちょっと質問なんだけど、jslibでjarのリソースを読みこむ事は出来ないのでしょうか?
というのも、自分で見た限りだと、xulmaker.jsの438行目
this.XULSchema.openFile(getChromePathName("xul.xsd"));
で、パッケージのxul.xsdを読みこもうとしてコケてるみたいなのです。
(この部分を適当なパスに変えてあげて、XMDocumentのgetRootElement methodの所でdocumentElementをcloneNodeするようにしたら動くようになりました)
388デフォルトの名無しさん:2005/05/26(木) 21:42:48
>>387

jarプロトコルで読めます。
389デフォルトの名無しさん:2005/05/28(土) 18:57:44
強制的にサイドバーを開かせたいんですが、
そういう関数はありますか?
toggleSidebar() じゃなくて openSidebar みたいな。
あるいは、
サイドバーが閉じてることを調べる方法でもいいんですが。
390デフォルトの名無しさん:2005/05/28(土) 20:15:31
>>389
toggleSidebarの実装を見れば分かります
391デフォルトの名無しさん:2005/05/28(土) 21:24:17
どうもありがとうございます。
toggleSidebar みたら forceOpen オプションがありました。
toggleSidebar(aCommandID, forceOpen)
392デフォルトの名無しさん:2005/05/29(日) 06:37:04
Greasemonkeyスクリプトについての質問はOKですか?
document.bodyにappendChildすると分裂してしまうのですがこれは何故でしょうか

http://pc8.2ch.net/test/read.cgi/software/1115991828/587
これを使うと、bgsound1個に対し2個embedが追加されてしまいます
(DOMインスペクタや選択範囲のソースを表示では1個しかembedはないのですが)

実質document.bodyにappendした時も、最後のノードが分裂することがあります
http://pc8.2ch.net/test/read.cgi/software/1115991828/601
http://neugierig.org/software/greasemonkey/unembed.user.js
393デフォルトの名無しさん:2005/05/29(日) 16:30:13
embed.nextSiblingが存在しない
394デフォルトの名無しさん:2005/05/29(日) 17:10:33
>>393
それだと分裂じゃなくエラーになると思うのですが

<html><body>
<embed src="a.mp3">
test
</body></html>
の場合、embed.nextSiblingはテキストオブジェクトです("\ntest\n"になります)


<html><body>
<embed src="a.mp3"></body></html>
このようにnextSiblingが存在しないように書いたとしても、
Greasemonkeyが最後にスクリプトを加えるので存在しないと言うことはありえないと思います
(この場合Unenbedで加えられた[download]のリンクが分裂します)
395デフォルトの名無しさん:2005/05/29(日) 18:20:41
Greasemonkeyってヘッダじゃなくて、bodyにスクリプトを足してるのか?
396デフォルトの名無しさん:2005/05/29(日) 18:39:04
>>395
document.body.innerHTMLをalertを使うなどして表示すると

<script>(function(){
var GM_xmlhttpRequest = window.GM_xmlhttpRequest;
var GM_registerMenuCommand = window.GM_registerMenuCommand;
var GM_setValue = window.GM_setValue;
var GM_getValue = window.GM_getValue;
var GM_log = window.GM_log;

//user.jsの内容

})();</script>

このようなタグが最後に追加されています。
スクリプトの実行が終わると削除されるようですが。
397デフォルトの名無しさん:2005/05/29(日) 18:43:28
>>396はGreasemonkeyスクリプト中でdocument.body.innerHTMLを参照した場合の話です

(function(){alert(document.body.innerHTML;})();

こんな感じのスクリプトを作ると確認できると思います。
ちなみにalertじゃなくdocument.body.appendCild(documen.createTextNode(document.body.innerHTML))だと
先に言ったような分裂現象が起こります
398デフォルトの名無しさん:2005/05/29(日) 19:09:29
わからないなら、xpathやめてdomのを使っとけばいいんじゃない?
ああいうfor文を書いてカッコいいとか思ってるんなら止めはしないけど。
399デフォルトの名無しさん:2005/05/29(日) 21:06:56
javascript:(function(){h=document.createElement('a');h.href='http://www.google.co.jp';
h.appendChild(document.createTextNode('google'));document.body.appendChild(h)})()

こんな bookmarklet を試して見ると分裂は起きない。
Greasemonkey が二度 appendChild してる可能性がある。
一度 bookmarklet で試してみて Greasemonkey の問題か Script の問題か
切り分けるのが先決か?
400デフォルトの名無しさん:2005/05/29(日) 21:10:01
>>398
あのfor分はUnembedのパクリですが、問題はそこじゃないと思うんですが・・・
getElementsByTagNameでも同じです
というかdocument.body.appendChild()すると分裂するんです

(function(){document.body.appendChild(documen.createTextNode(document.body.innerHTML));})();
例えばこのスクリプトも分裂現象が起こります
401デフォルトの名無しさん:2005/05/29(日) 21:11:33
>>399
Greasemonkeyで件のスクリプトを使ったときだけ問題が起こります
普通にscriptタグで記述すると問題はおこりません
402デフォルトの名無しさん:2005/05/29(日) 21:36:48
じゃぁ Greasemonkey の問題でしょ。
http://greasemonkey.mozdev.org/authoring.html
の Tips の最初を見ると onload の前に userScript の処理をするみたいだから
window.addEventListener("load", function(e) {...}, false)
でやってみれば?
403デフォルトの名無しさん:2005/05/30(月) 02:04:01
たまーにnsIWebBrowserPersistのsaveURIでうまく保存できない画像があるのですが、原因は何なんでしょうか???
下記のスクリプトでcanonのロゴ画像を保存しても壊れてしまいます。

var src = Components.classes['@mozilla.org/network/standard-url;1']
.createInstance(Components.interfaces.nsIURL);
src.spec = "http://consumer.usa.canon.com/sys/images/canon_logo.gif";
var dst = Components.classes['@mozilla.org/file/local;1']
.createInstance(Components.interfaces.nsILocalFile);
dst.initWithPath("C:\\canon_logo.gif");
var wbp = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1']
.createInstance(Components.interfaces.nsIWebBrowserPersist);
wbp.saveURI(src, null, null, null, null, dst);
404デフォルトの名無しさん:2005/05/30(月) 08:16:19
>>400
htmlの方でそのスクリプト呼んでない?
テストのために<body onload="func()">みたいにしてて、
そのままgreaseスクリプトとしても実行してるとか
405デフォルトの名無しさん:2005/05/30(月) 09:48:26
>>404
alert挟んででデバッグしてみましたが1度しか呼ばれてませんでした

>>402
駄目でした。setTimeoutでそれなりの時間を設定すれば分裂は回避できましたが・・・


分裂した方はDOMインスペクタに表示されず、
選択しようとしても変なことになる
(後に付いた方のテキストをドラッグして選択しようとすると何故か前の方の同じ部分が反転表示になる)
のでGreasemonkeyかFirefox、あるいはGeckoのバグのような気がします

どうもありがとうございました
406デフォルトの名無しさん:2005/05/30(月) 14:06:30
JavaScriptでXPCOMを作ろうと思って、
ttp://lxr.mozilla.org/mozilla/source/xpcom/sample/ とか
ttp://nazodane.hp.infoseek.co.jp/xpcom/xpcom.xhtml とか
を参考にJSとXPTファイルを用意したんだけど、
この二つを
<Profile>/extensions/{<uuid>}/components
においても認識してくれない。
> reference to undefined property Components.classes['@nanto/jstest;1']
という警告が出てエラーになる。
<Firefox>/components
においても同様にうまくいかないんだけど
どうすればJavaScriptで作ったXPCOMを
登録する(認識させる)ことができるんだろう?
407デフォルトの名無しさん:2005/05/30(月) 18:28:49
>>406
まずは、ちゃんと拡張をつくってインストールしてください。
408デフォルトの名無しさん:2005/05/30(月) 20:49:48
<Profile>/ もしくは <Firefox>/components の compreg.dat と xpti.dat
一度削除した?
409デフォルトの名無しさん:2005/05/30(月) 21:22:08
>>408
拡張を作っているなら、そんなトリッキーなことをしてはいけません。
ユーザーが一人もいないなら話は別ですが。
410デフォルトの名無しさん:2005/05/31(火) 00:06:13
>>409
拡張作成時は compreg.dat の削除でOK。
411デフォルトの名無しさん:2005/05/31(火) 00:22:47
>>410
そんな作業は必要ない。
412406:2005/05/31(火) 01:20:44
XPIにパッケージ化してインストールしたらうまくいきました。
横着してXULDで作った拡張のディレクトリに
後からファイルを入れたのがいけなかったようです。
インストール時じゃないと登録されないのね。
アドバイスくれた人ありがと。
413デフォルトの名無しさん:2005/05/31(火) 09:57:52
拡張の ID ってどうやってつけるんでしょうか。
適当につけていいんですか?
414デフォルトの名無しさん:2005/05/31(火) 11:34:50
値が衝突しないように算出方法が決まっているので、所定のツールを使うべし。
その名をuuidgenという。
WindowsだとVS.NETやPlatform SDKとかに入っている。
LinuxやFreeBSDなどのUNIXだと標準で入ってる。
415413:2005/05/31(火) 12:04:48
どうもありがとうございます!
手元のlinuxに入ってました。
でもどうやって重ならないことを保証してるんでしょう?
単純に巨大な数の中からランダムで選んでるから?
16^32 パターンあるみたいですね。
416413:2005/05/31(火) 12:16:37
過去ログでおんなじ話題出てましたね。ごめんなさい。
macアドレスと時間で一意性を求めてるらしいですね。
http://www.opengroup.org/onlinepubs/9629399/apdxa.htm#tagcjh_20
http://www.atmarkit.co.jp/icd/root/52/94084052.html
417デフォルトの名無しさん:2005/05/31(火) 22:16:45
Components.classes["ぬるぽ"].createInstance(Components.interfaces.nsIガッ);
でインスタンスを作るとき、nsIガッ のコンストラクタに引数を渡す方法はありますか?
418デフォルトの名無しさん:2005/06/01(水) 02:38:31
>>417
無理みたい。
http://www.mozilla.org/scriptable/components_object.html

FilePathInit = new Components.Constructor("@mozilla.org/file/local;1", "nsILocalFile", "initWithPath");
FilePath = new FilePathInit(path);
こーゆーのはありだけど。
419デフォルトの名無しさん:2005/06/01(水) 12:04:19
コンストラクタに引数とか言ってるようじゃXPCOMへの道はまだ険しいね
420デフォルトの名無しさん:2005/06/01(水) 22:38:41
>>419
どーゆーこと?
421デフォルトの名無しさん:2005/06/01(水) 23:34:32
>>419
道は険しくていいからnsURICheckerのmAllowHeadをPR_FALSEにして
初期化するにはどうしたらいいのか教えてくれ
http://lxr.mozilla.org/mozilla/source/netwerk/base/src/nsURIChecker.cpp#70
引数付きコンストラクタはC++専用のインターフェースなの?
422デフォルトの名無しさん:2005/06/02(木) 09:59:25
http://lxr.mozilla.org/mozilla/source/netwerk/base/src/nsURIChecker.h#76
protected なメンバ変数 mAllowHead を外部から弄れたら困ってしまう。

> 引数付きコンストラクタはC++専用のインターフェースなの?
JS から XPCOM オブジェクト作成の時は使えない。
IDL に setter がないとどうにもならん...JS で実装してしまうって手はあるけどマンドクサ
423デフォルトの名無しさん:2005/06/02(木) 15:20:42
>>421
それが引数付きコンストラクタに見えるんだったら、
もう険しいどころの話じゃないぞ。
protectedとか関係ないし。

xpcomやるのに、c++がどうしても必要だとは言わんが、
ソース読んで質問するなら、ある程度の理解が要求されるわな。
いや、ある程度でいいんだけど…
424デフォルトの名無しさん:2005/06/02(木) 19:09:59
>>421 (>>417->>423 あたり)
http://lxr.mozilla.org/mozilla/source/netwerk/base/src/nsURIChecker.cpp
の70〜74行目のコンストラクタは引数なしで、呼び出し時にmAllowHead=PR_TRUEに初期化されます。
さらにmAllowHeadは >>422 さんが仰るとおりアクセスが不能で、且つmAllowHeadを直接弄るメソッドもないようです。

>>417=421 さんが何を意図としてmAllowHeadを弄りたいのかわからないので的外れかもしれませんが、nsURIChecker::Init(aURI)で引数aURIのスキームを"http"以外にするとmAllowHead=PR_FALSEになるみたいに思いますがいかがでしょうか。
425デフォルトの名無しさん:2005/06/04(土) 00:41:49
426デフォルトの名無しさん:2005/06/05(日) 11:28:53
427デフォルトの名無しさん:2005/06/07(火) 23:13:29
ac_add_options --enable-static
でコンパイルするコツを教えてください
全部
428デフォルトの名無しさん:2005/06/07(火) 23:52:49
>>427
ビルド環境もわからないのにコツも糞もない

ac_add_options --disable-shared
をセットで使うのが基本だが
429デフォルトの名無しさん:2005/06/08(水) 10:17:49
こんなのが出来てるね。
http://developer-test.mozilla.org/ja/docs
430デフォルトの名無しさん:2005/06/08(水) 10:28:52
物凄い勢いで文字化けしてるのは俺だけなのか
431デフォルトの名無しさん:2005/06/08(水) 10:46:31
皆化けてるんじゃなかろか
432デフォルトの名無しさん:2005/06/08(水) 11:00:09
何とか意味をとれそうなのはUTF-8だけど、やっぱり化けてる。
混ぜてあるんじゃないかなぁ
433427:2005/06/08(水) 23:35:31
>428
すっとんきょうな事言って申し訳ありません
VC6なんですが、こけるんです。派手に、mozilla側じゃなくWindowsが
ファンが鈴鹿ばりにうなってるし
再起動後に傷口みようとして、2>build.errで飛ばしてもなんも出来てなくて
エラーなのかもわからない、そこで尋ねてみたですよ

メモリーいくらぐらい積んでるんです?256MBだと必然?
その文字化けものっそいね
434デフォルトの名無しさん:2005/06/09(木) 00:26:55
なんで、MJ と本家で微妙に要求スペックが違うんだろ?

http://www.mozilla-japan.org/build/win32.html
http://www.mozilla.org/build/win32.html
435デフォルトの名無しさん:2005/06/09(木) 01:08:38
本家の文書を訳して公開→その後本家が更新するも追随せず
436デフォルトの名無しさん:2005/06/09(木) 19:05:50
https://bugzilla.mozilla.org/show_bug.cgi?id=296430
このバグはいろんな意味で影響力がでかいやつだが、チェックインされている。
(サーチプラグイン以外も)

とりあえず、gooとかみたいに自社サイトのプラグインを配っている企業はどうするのだろうか。
やっぱ、update.mozilla.orgに行くのか…?
437デフォルトの名無しさん:2005/06/16(木) 06:23:39
DOMの要素を識別する値を取得したいんですが
何かありますか?
比較するときなどに使いたいのですが
438デフォルトの名無しさん:2005/06/16(木) 08:08:56
>>437

idふれよ。
ない・嫌なら独自プロパティとか。
439デフォルトの名無しさん:2005/06/16(木) 12:54:03
https://bugzilla.mozilla.org/attachment.cgi?id=186363&action=diff
がチェックインされたから、jsファイルの推奨mimetypeが

"application/javascript"
"application/ecmascript"

になる。

後方互換+IE互換として
"text/javascript" //Webサイトでは主流
"application/x-javascript" //拡張では主流。現行のxpfeやtoolkitもこれ。
"text/ecmascript"
は残される。
440デフォルトの名無しさん:2005/06/16(木) 20:31:09
まだ internet-draft だし IANA にも登録されてないのに「x-」取っちゃっていいのか?
441437:2005/06/17(金) 00:37:33
>>438
ありがとうございます。
独自プロパティとはどういう物ですか?
442デフォルトの名無しさん:2005/06/17(金) 06:13:50
>>437
普通に値として比較できるんじゃなかろうか。
if (element1 == element2) {
//Todo
}
else {
//Todo
}
jsobjectはともかく、中の人のポインタは同じだと思うし、
そういう便宜を計っていると思う。
443437:2005/06/17(金) 06:15:43 BE:107543693-##
>>442
えぇ、確かにそのまま要素同士で比較できるんですが
その値を取得できないものかと思いまして。
444デフォルトの名無しさん:2005/06/17(金) 06:36:34
うわ、こんな時間に即レスされてるとは思わなかった。

>>443
そりゃ、値の用途によるんじゃないかな。
少なくとも、汎用的な意味では無理だから。
いつ取得していつ(比較に)使うわけ?
445437:2005/06/19(日) 07:27:49
>>444
RDFにその値を保存しておき、その値で対象の要素を比較
みたいな事をやりたいんですが・・・。
446デフォルトの名無しさん:2005/06/19(日) 08:28:20
>>445
つまり、セッションを跨ぎたいと?
そらむりでそ。
血統書でも書いておけば?
447デフォルトの名無しさん:2005/06/19(日) 11:30:14
XPathでも使うとか
448デフォルトの名無しさん:2005/06/26(日) 16:06:19
nsITreeViewを使用したツリーの実装で、各ツリーセルのアイコンを定義するにはどうすればよいでしょうか?
449デフォルトの名無しさん:2005/06/26(日) 16:31:56
getImageSrc
450デフォルトの名無しさん:2005/06/26(日) 16:48:08
即レスありがとうございます。無事できました。
451デフォルトの名無しさん:2005/07/11(月) 17:38:19
メールの本体をstringとして参照する方法をご存知の方いたら教えてください。
ヘッダとアタッチメントを見る方法はわかったのですが(nsIMsgほげほげ)、
本文だけがわからんとです。orz
452451:2005/07/11(月) 17:38:51
追加:451はthunderbirdでの話です。
453デフォルトの名無しさん:2005/07/11(月) 18:23:11
454451:2005/07/11(月) 19:16:25
>>453
ありがとうございました。
455デフォルトの名無しさん:2005/07/11(月) 19:22:11
どういたしまして。
456デフォルトの名無しさん:2005/07/15(金) 22:30:32
いつの間にか、install.rdfでプラグインもインストール出来るようになってる。

https://bugzilla.mozilla.org/show_bug.cgi?id=295247
457デフォルトの名無しさん:2005/07/16(土) 01:03:01
サーバ版 Gecko が開発中
http://mozillazine.jp/?p=71
458デフォルトの名無しさん:2005/07/16(土) 20:57:03
ブラウザタブの切り替えを確実に捕捉する方法はありませんか?
GooglePageRankではbrowser.xulのwindowにaddEventListenerでloadとfocus時のイベントを追加するという方法を
とっていますが、これだとイベントがダブって発生してしまったり、まれにうまくいかないことがあるようです。
459デフォルトの名無しさん:2005/07/16(土) 21:55:59
>>458
progresslistenerのonlocationchangeは確実に呼ばれるな。
460デフォルトの名無しさん:2005/07/16(土) 23:35:33
>>459
ありがとうございます。こんなふうなものを試しましたが、NS_ERROR_ILLEGAL_VALUEで怒られてしまいました。
var pl = {
onLocationChange : function() { alert("OK"); }
};
gBrowser.mCurrentBrowser.webProgress.addProgressListener(pl, Components.interfaces.nsIWebProgress.NOTIFY_LOCATION);
461458:2005/07/17(日) 04:05:28
gBrowser.mTabBox.addEventListener("select", function(){dump("OK");}, false);
どうやらこれで解決しました。
462デフォルトの名無しさん:2005/07/18(月) 18:12:23
javascript 書くのにエディタ何使ってます?
463デフォルトの名無しさん:2005/07/19(火) 03:19:00
Emacs + java-mode
ロクなモード elisp が無いのが痛過ぎ
464デフォルトの名無しさん:2005/07/19(火) 08:01:18
463に同じく。Meadowだけど。
465デフォルトの名無しさん:2005/07/19(火) 16:20:20
Vim
466デフォルトの名無しさん:2005/07/19(火) 19:27:07
メモ帳
467デフォルトの名無しさん:2005/07/20(水) 00:55:05
TeraPadかな
468デフォルトの名無しさん:2005/07/20(水) 14:22:29
メモ帳はさすがに苦しいなぁ。
CRが入らないように出来ないと使えない。
469デフォルトの名無しさん:2005/07/20(水) 14:43:35
vim って vi 的には使えるけど、
インデントの仕方がよくわかんないんだよな。
470デフォルトの名無しさん:2005/07/20(水) 15:08:22
インデントなんていらね。
気がついたら、親指が二回スペースを叩いてる。
471デフォルトの名無しさん:2005/07/20(水) 15:17:53
それは時間の無駄だろう
472デフォルトの名無しさん:2005/07/20(水) 15:24:00
そうか?
cvsから引っ張ってくるソースでも異なるインデントが混在してるし。

俺はスクリプトも一行80文字以内でやってるから、インデントを4にせずに、2にしてた。
結局スペースを2回の方が、淀みなく書ける。
473デフォルトの名無しさん:2005/07/20(水) 15:34:48
それは単にお前の慣れの問題じゃないのか?
俺もソフト2タブ派だけどオートインデントだよ。
使ってるのは xyzzy。
474デフォルトの名無しさん:2005/07/20(水) 15:35:50
まあ人によるんじゃないかな。
本当にすごいプログラマでも
エディタの機能ろくに使わない人もいるし。
475デフォルトの名無しさん:2005/07/20(水) 15:39:53
というか、インデント量が深くなるとやってられなくね?
タブ一発で揃えてくれないと、かなりイライラすると思うのだが。
476デフォルトの名無しさん:2005/07/20(水) 15:59:28
深くならないからいいんだよ!
俺の事はもうほっといてくれ。

       実際にすごく深い時は、コピペだな。
       慣れっておそろすぃ。
477デフォルトの名無しさん:2005/07/20(水) 23:02:47
オートインデントとか使わんのか。
478デフォルトの名無しさん:2005/07/21(木) 07:16:56
>>468
わたしゃWindowsしか使ってないんでわからないんだけどCRが入ると困る場面ってどんなのがある?
479デフォルトの名無しさん:2005/07/21(木) 08:35:57
>>478
ファイルサイズを抑えたい時
480デフォルトの名無しさん:2005/07/21(木) 12:57:25
unix改行とwindows改行が混ざってる拡張いくつか見たことあるんだけど、
あれはやってるの?
コピペのせいかな。
481デフォルトの名無しさん:2005/07/21(木) 22:15:28
>>479
そんなんで「使えない」ってレベルになるほど困るのか?
482デフォルトの名無しさん:2005/07/22(金) 06:59:42
まあ、拡張しか書かないんだったら、どっちでもいいな。
483デフォルトの名無しさん:2005/07/23(土) 15:33:37
ネイティブコードに関しては、XPコードではCRLF改行を使わないって規約があったな
484デフォルトの名無しさん:2005/07/23(土) 16:55:40
CRLFを使わないんじゃなくて、LFにする、ってことだな。
今は知らんが、昔のマックはCRだったし。
485デフォルトの名無しさん:2005/07/30(土) 06:21:07
バージョンチェックの方法がちょっと変わったそうだね。
ttp://lxr.mozilla.org/mozilla/source/xpcom/base/nsIVersionComparator.idl#41

各番号がsigned charの範囲内って
1.1.0.20050730のようなバージョン番号は非推奨ってことか……
486デフォルトの名無しさん:2005/07/31(日) 00:51:46
install.rdfでプラグインをインストールさせられますか?
IE Tabを一纏めにしたい・・・。
487デフォルトの名無しさん:2005/07/31(日) 16:40:35
>>486
trunkなら可能
branchならミリ
二つ同時にインストールさせるようにする事は可能
488デフォルトの名無しさん:2005/08/03(水) 19:29:46 BE:409147597-#
うーんアップデートに関する日本語ドキュメントが少なくてこまってます。

■確認したこと

http://www.mozilla-japan.org/projects/firefox/extensions/packaging/extensions.html
ここの「カスタムアップデート RDF」を参考にupdate.rdfを作成してアップ。

,htaccessに
AddType text/rdf .rdf
と記述(試しにこれを消すとエラーになる)

■問題点

バージョンアップしたxpiと一緒にrdfをアップしても、
「更新されたパッケージが存在しませんでした」
となる。
update.rdfへのパスや記述が間違えてるとエラーになるので、
それはないものと思われる。

■特にわからないこと

上記URLの「em:updateURL」を見ても、
%ITEM_VERSION%アップデート対象となる拡張機能のバージョン
とか、それを得るためにupdateURLにrdfを問い合わせるんじゃないの?
問い合わせるときに先にGETで送るとか、どうもよくわからないんで、
この「更新問い合わせ」そのものの動作がよくわからない。

■特に聞きたいこと

アップデートがつつがなく行えてる皆さん、
他になにか特別なことする必要はありますか?
489デフォルトの名無しさん:2005/08/03(水) 19:30:52
FireFoxを窓から投げ捨てなさい。
490デフォルトの名無しさん:2005/08/03(水) 19:34:39
>>487
他のうpだてのrdf参考に汁
491488:2005/08/04(木) 03:20:44 BE:77933243-#
具体的にやったことを書くと、

update.rdf
<RDF:Description about="urn:mozilla:extension:{「xpiのid」}">
<em:version>「バージョン」</em:version>
<em:updateLink>http://「xpiの置いてあるサイト」/「xpiのファイル名」.xpi</em:updateLink>
</RDF:Description>

を作成してhttp://「xpiの置いてあるサイト」/update.rdfとしてアップ。

.htaccessに
AddType text/rdf .rdf
と記述。

xpiのinstall.rdfには
<em:updateURL>http://「xpiの置いてあるサイト」/update.rdf</em:updateURL>
を記述。

これでupdate.rdfに記載してるバージョンより低いxpiから
拡張機能の更新マネージャーで更新問い合わせしても
「更新されたパッケージが存在しませんでした」
となります。

うまく更新を伝えるには他に何かチェックするところはありますか?
492デフォルトの名無しさん:2005/08/04(木) 03:35:33
それ書式が古いよ。

<rdf:Description rdf:about="urn:mozilla:extension:(ID)">
 <em:updates>
  <rdf:Seq>
   <rdf:li>
    <rdf:Description>
     <em:version>(バージョン番号)</em:version>
     <em:targetApplication>
      <rdf:Description><!-- Firefox -->
       <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
       <em:minVersion>1.0</em:minVersion>
       <em:maxVersion>1.0+</em:maxVersion>
       <em:updateLink>(.xpiのURI)</em:updateLink>
      </rdf:Description>
     </em:targetApplication>
    </rdf:Description>
   </rdf:li>
  </rdf:Seq>
 </em:updates>
</rdf:Description>
493488:2005/08/04(木) 03:57:49 BE:58450133-#
>>492
ありがとうございます。
うまいこと更新できるようになりました。
494デフォルトの名無しさん:2005/08/29(月) 15:43:01
人大杉制限がついてから、誰も書き込んでないのか。
このまま放置しておけば、さすがに落ちるだろうな
495デフォルトの名無しさん:2005/09/03(土) 18:40:26
http://pc8.2ch.net/test/read.cgi/unix/1065583401/837
837 :KoRoN@Vim%Chalice ◆8XALICEsdk :2005/09/03(土) 03:22:34
今手元で、XPCOM+C/Migemo使ってnsIMigemoなるものを作り、簡単なサンプルが動いて
ます。こんな感じで、MozillaのJavaScriptで正規表現が取得できる状態なんです。

> netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
> var migemo, answer;
> migemo = Components.classes["@kaoriya.net/migemo/nsMigemo,1"].createInstance();
> migemo = migemo.QueryInterface(Components.interfaces.nsIMigemo);
> answer = migemo.query(document.getElementById("MIGEMO_INPUT").value);
> document.getElementById("MIGEMO_OUTPUT").value = answer;
496デフォルトの名無しさん:2005/09/04(日) 05:47:43
すばらしい。
クロスプラットフォームならなおすばらしい。
497デフォルトの名無しさん:2005/09/04(日) 10:34:22
とりあえず落としてみた限りではWindows専用だったけど
プラットフォームごとのバイナリを用意することもできるようになったし
クロスプラットフォームも夢じゃないよね?
これ使えばXUL/Migemoがもっと速くなるのかな?
498デフォルトの名無しさん:2005/09/12(月) 11:47:33
locale の browser.dtd からテキスト読んで javascript 内でつかいたいのですが無理ですかね
.xul に browser.dtd 読ませてなんかの要素に <element id="test" label="&test;/> のような感じで
取得するとか・・・。でもどの要素にしたらいいのか分からない_| ̄|○
ってかそもそもそんなことしたらだめなのか?
何とかして dtd を javascript で使いたい・・
javascript で if (label == "test") とかしたら言語が変わったとき
if (label=="テスト") にしなきゃいけないし、言語ファイルによっては
label="テストです"とかにしてるかもしれないし。
言語を意識せずに &test;と書いてしまった方がいいと思うのです。
if (label=="&test;")
とか
testlabel = getLabel("&test;");
if (label==testlabel)
とか出来たら楽になるかと
いいアイデアありませんか?
499デフォルトの名無しさん:2005/09/12(月) 12:37:56
>>498
xbl内では普通にそうやっちゃうなぁ。
オブジェクト化する部分だったらpropatiesの方がいい
表面だったらxul内でそうやればいいとおも
500デフォルトの名無しさん:2005/09/12(月) 13:54:31
firefoxのプラグインの開発情報はどこで手に入りますか?
501デフォルトの名無しさん:2005/09/12(月) 15:31:19
>>498
その変数 label の中身って何?
502デフォルトの名無しさん:2005/09/12(月) 15:36:28
>>498
createEntityReferenceは……対応していないようだ。
となるとcreateContextualFragmentで無理やり生成するとかかな?
503498:2005/09/12(月) 17:10:43
menuitem.label とかです。
Fx1.0.x だと 「URL を開く(L)...」となっているのですが
Fx1.5.x だと 「URL を開く...」となっています
こういう違いがあるので menuitem.label で比較すると面倒だなとおもいまして。
かといって全部IDがふってあるわけじゃないし
やりたいことは Cutemenus の locale 対応です。
504デフォルトの名無しさん:2005/09/12(月) 19:23:39
JavaScript で DTD ファイルを読み込んで解析するという力業になりそう
505lowandsh:2005/09/12(月) 23:39:30
>>503
label 以外の方法で改造してみましたが、どうでしょう。

http://www7a.biglobe.ne.jp/~denshizuno/ff/test-version.html
506デフォルトの名無しさん:2005/09/12(月) 23:53:08
>>505
labelでなくkeyとcommandで検定したわけね。
なるほどこっちの方があきらかに良さげ。
っていうか元のやつは非英語圏をまったくもって無視した作りですね。
507498:2005/09/13(火) 00:34:30
>>505
なるほど。でもこれですべてのmenuitemに対応できるわけではなさそうですね。
やはり label もみた方がいいのか・・・
508デフォルトの名無しさん:2005/09/13(火) 02:40:04
>>507
こんな感じで隣からたどるのはダメですかね。

case "cmd_print": iconic(mItems.item(i), 'print');
            iconic(mItems.item(i - 1), 'hatena');     // Page Setup...

他の拡張でメニューをいじられると、ずれちゃうかもしれませんが(^^;
いちおう、File メニューだけ変更したものをアップしておきました。
509lowandsh:2005/09/13(火) 02:41:20
すみません。名前を書き忘れました(^^;
アップしたのは、 >>505 の URL です。
510デフォルトの名無しさん:2005/09/13(火) 03:00:12
DTD を JavaScript で扱ってみる方法をでっち上げてみたけどどうよ?

http://electrolysis.hp.infoseek.co.jp/diary/d200509.html#d13a
511lowandsh:2005/09/13(火) 03:19:39
getEntities() 知りませんでした。
ためになります。
512デフォルトの名無しさん:2005/09/13(火) 03:53:02
>>510
GJ
513デフォルトの名無しさん:2005/09/13(火) 14:30:54
>>510
DTDからDTDの呼び出し、<!ENTITY xxx "&yyy;というテスト">の対応キボン
514498:2005/09/13(火) 17:24:10
>>510
うほwいいですね。
参考にさせてもらいます。
515デフォルトの名無しさん:2005/09/13(火) 21:36:58
いえーい皆もっとやれやれーーー!いいぞーー
516デフォルトの名無しさん:2005/09/13(火) 22:01:38
だが断る!
517デフォルトの名無しさん:2005/09/18(日) 18:39:03
CuteMenus の overlay
<overlay label="cutemenusOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
ってなってるけど
label って id のまちがいじゃね?
支障はないけど
518デフォルトの名無しさん:2005/09/21(水) 10:33:55
open link in new tabの時に、
新しいtabに移動するかどうかを、
「設定」のtab browsingのところまで行かないで、
ナビゲーションツールバーのボタンなんかで設定する拡張ありますか?
519デフォルトの名無しさん:2005/09/21(水) 15:10:38
>>518
すれ違いの予感

Mozilla Firefox 拡張機能スレッド Part5
http://pc7.2ch.net/test/read.cgi/software/1123318769/
520デフォルトの名無しさん:2005/09/24(土) 15:56:44
ttp://book.mycom.co.jp/book/4-8399-1805-8/4-8399-1805-8.shtml
この本買った人いる?
興味あるけど立ち読みできる店ないの
521デフォルトの名無しさん:2005/09/25(日) 14:51:44
cutemenusを改造して、
プロファイル/menucions/label/戻る.png を取得するようにしてるのですが
「戻る」はコンテキストメニューとメインメニューの「移動」のところにあるのですが
コンテキストメニューの方にしかアイコンがつきません
コンテキストメニューにアイコンがついているということは画像パス取得は間違ってないと思うのです。
なぜメインメニューの方にはつかないのか・・・。
ソースを張りますのでどこが悪いのか教えてください。
522521:2005/09/25(日) 14:54:49
function iconic(menuitem,icon) {
  menuitem.setAttribute("class", "menuitem-iconic");
  menuitem.setAttribute("image", icon);
}
function getIcon(type,name)
{
  var DIR = Components.classes['@mozilla.org/file/directory_service;1']
                    .getService(Components.interfaces.nsIProperties);
  var fileOrDir = DIR.get('ProfD', Components.interfaces.nsIFile);
  fileOrDir.append("menuicons");
  fileOrDir.append(type);
  fileOrDir.append(name + ".png");
  if (!fileOrDir.exists()) return null;
  var ioService = Components.classes["@mozilla.org/network/io-service;1"]
                  .getService(Components.interfaces.nsIIOService);
  var entryURI = ioService.newFileURI(fileOrDir).spec;
  return entryURI;
}
function cutemenusInit() {
  var mItems = document.getElementsByTagName("menuitem");
  for (var i = 0; i < mItems.length; ++i) {
    if (mItems[i].id) {
      var icon = getIcon("id", mItems[i].id);
      if (icon) iconic(mItems[i], icon);
    }
    if (mItems[i].label) {
        // 戻るは2つあるのでmItems[i].label == 戻るが2度あるはずなのに・・・
        var icon = getIcon("label", mItems[i].label);
        if (icon) iconic(mItems[i], icon);
    }
}
523デフォルトの名無しさん:2005/10/02(日) 10:30:58
まだ良く読んでないが、もしかしてこれって大事?
ttp://slashdot.jp/journal.pl?op=display&uid=15295&id=320481
524デフォルトの名無しさん:2005/10/02(日) 18:26:25
pref.jsにセットされている不要な設定を削除する(値だけでなくキーも削除する)方法はありますか?
525デフォルトの名無しさん:2005/10/03(月) 16:32:15
nsIPrefBranchのclearUserPref()
526デフォルトの名無しさん:2005/10/03(月) 19:05:42
>>523
そうだとすると>>520の本の内容はあっという間に古くなるな。
527デフォルトの名無しさん:2005/10/03(月) 19:46:22
いや、私も作者はチェックすべきだと思います。
1.0系はそれでぐだぐだになりましたし。

逆に言うと、マイナーアップデートでも、
拡張にとっては致命的な変更が有り得るってことが、
1.0系で経験論的に実証された、という流れですね。

惑星はブログを勝手に集めてるだけなので、
あそこに有用な情報が載るかどうかは運次第、というか、
さほど重要な変更でもないし。
528デフォルトの名無しさん:2005/10/03(月) 22:23:00
惑星でもいいけど、developer.m.o とか wiki.m.o に書いておいてほしいな。
Bugzilla だけってのは困るよ。
529デフォルトの名無しさん:2005/10/12(水) 01:09:00
nsDictionary.jsとかってどうやって使うの?
530デフォルトの名無しさん:2005/10/12(水) 04:35:18
531デフォルトの名無しさん:2005/10/12(水) 12:16:24
nsDictionary.jsって、nsIDictionaryといっしょなんですか?
ごめんなさい、よくわからなくて…
532デフォルトの名無しさん:2005/10/12(水) 15:10:25
nsなんたら
の ns って何の略ですか?
netscape?
533デフォルトの名無しさん:2005/10/12(水) 15:21:36
534デフォルトの名無しさん:2005/10/13(木) 23:01:25
おそらくWin特有の問題だと思うのですが、
フォルダ名の末尾が表、能、ソなどで終わるフォルダをnsIFileのcopyToを使って
コピーしようとするとフォルダ内のファイルが移動されずに処理が完了してしまいます。
これを防ぐ対策は何かありませんか?
535デフォルトの名無しさん:2005/10/14(金) 00:45:32
>>531
nsDictionary.jsにはContract IDが"@mozilla.org/dictionary;1"であるXPCOMコンポーネントの実装コードが含まれている。
で、そのコンポーネントはインターフェースnsIDictionaryを実装している。

つまり
var dic = Components.classes["@mozilla.org/dictionary;1"].createInstance();
としたときのdicのソースコードがnsDictionary.js
536デフォルトの名無しさん:2005/10/14(金) 06:45:36
>>534
最新のtrunkのGREでも発生するならBugzillaに報告してみたら
537デフォルトの名無しさん:2005/10/17(月) 12:44:23
>>535
なるほど、わかりました!!ありがとうございます!
538デフォルトの名無しさん:2005/11/05(土) 01:39:36
http://www.extendfirefox.com/
拡張の 1.5 対応促進活動かもしれんが、おもろいことはじめたようで
539デフォルトの名無しさん:2005/11/09(水) 08:03:32
transformiixってどこいったの
打ち切ったなんて事ないしょ?
540デフォルトの名無しさん:2005/11/09(水) 15:40:19
どこいったってどういうこと?
ちゃんとあるじゃん。
541デフォルトの名無しさん:2005/11/09(水) 17:51:35
お騒がせしました。cvsで見ればありました。

ttp://www.mozilla-japan.org/projects/xslt/standalone.html
これ以前はできたのにそんなものはないって言われたんで、配置の問題でした
542デフォルトの名無しさん:2005/11/12(土) 22:19:40
XULで圧縮ファイルの展開は可能ですか?
543デフォルトの名無しさん:2005/11/13(日) 02:09:02
zipはできるはず
xpiはzipそのものだから
544デフォルトの名無しさん:2005/11/13(日) 15:50:46
>>542
XPCOMが作れれば何でもできる。
545デフォルトの名無しさん:2005/11/13(日) 17:10:15
あくまでも既存のXPCOMでできないかと思ったしだいです。
けどXULPlanet落ちてるな。
546デフォルトの名無しさん:2005/11/14(月) 11:37:10
XULPlanetがなくてもソースがあれば……ってLXRもサーバーエラーで見れない。
こりゃもうダメぽ。
547デフォルトの名無しさん:2005/11/14(月) 12:32:54
>>546
こういうのってなぜか重なるよね
548デフォルトの名無しさん:2005/11/14(月) 12:50:02
archives.org経由で見たけど、XPCOMでzip関連のものはないような。
549デフォルトの名無しさん:2005/11/14(月) 13:55:42
>>548
あるはずだよ。
#jslibを参考に汁
550デフォルトの名無しさん:2005/11/14(月) 15:23:27
>>549 thx.

@mozilla.org/libjar/zip-reader;1 あたりですね。

ちなみに、jslibもけっこうよさげ。
上で話題になっていた、UUID用のライブラリもありました。
さすがにMACアドレスは取っていないみたいだけど。
551デフォルトの名無しさん:2005/11/15(火) 04:40:59
XULPlanetもLXRも復活してる
552デフォルトの名無しさん:2005/11/30(水) 13:40:19
プログラミングではないのですが、
groupboxを二つ横に並べることは可能でしょうか?
□日のように左に一つ、右に縦に二つ置きたいのです。
groupboxにflot:leftでは無理なようで・・・。
553デフォルトの名無しさん:2005/11/30(水) 14:07:16
<hbox>
<groupbox orient="vertical">...</groupbox>
<groupbox orient="vertical">...</groupbox>
</hbox>
554デフォルトの名無しさん:2005/11/30(水) 14:08:09
<hbox>
 <groupbox orient="vertical">...</groupbox>
 <vbox>
  <groupbox orient="vertical">...</groupbox>
  <groupbox orient="vertical">...</groupbox>
 </vbox>
</hbox>

か。
555552:2005/11/30(水) 15:25:11
ありがとうございました、出来ました。
556デフォルトの名無しさん:2005/11/30(水) 23:15:07
1.5になってJavaScriptコンソールにスタイルシートのエラーが出力されるようになってうざったいな。
557デフォルトの名無しさん:2005/11/30(水) 23:54:23
<xbox>360</xbox>
558デフォルトの名無しさん:2005/12/01(木) 13:46:46
Firefox 1.5 で SVG サポートが入ってxhtmlに埋め込んだSVGとか出るようになったわけだけど
これってXUL内でも使えるかしら?
559デフォルトの名無しさん:2005/12/01(木) 14:14:36
>>558
display:-moz-box;でクラッシュするバグさえ無ければ。
560デフォルトの名無しさん:2005/12/01(木) 20:15:35
popupが今表示されてるかどうかを知るプロパティのようなものはありますか?
561デフォルトの名無しさん:2005/12/02(金) 13:28:41
onshowpopupイベントがあった気ガス
562デフォルトの名無しさん:2005/12/02(金) 14:35:30
onpopupshowing(ポップアップメニューが表示される直前)
onpopupshown(ポップアップメニューが表示された直後)
onpopuphiding(ポップアップメニューが消える直前)
onpopuphidden(ポップアップメニューが消えた直後)
だね。
「ポップアップ」というのが広告等のポップアップウィンドウのことではなく
ポップアップメニューのことなら、これでいける。
563デフォルトの名無しさん:2005/12/02(金) 14:36:19
>>561
onpopupshowingのこと?
あれと今回の質問の意図は違うと思うが
例えばhoge.visibleみたいな感じでtrueやfalseを取得したいんじゃね?
564デフォルトの名無しさん:2006/01/01(日) 01:33:45
リンクをクリックした時にサウンドをならす拡張を作りたいと思ったのですが、どういう JavaScript を書けばFirefoxでリンクをクリックした時にサウンドをならせるのか分かりません。
どなたかご教授いただけないでしょうか?
565デフォルトの名無しさん:2006/01/01(日) 02:32:30
そういう拡張すでになかったっけ?
566564:2006/01/01(日) 04:18:19
>>565
Firefox1.5だとどれも満足に動かないので新たに作ってみようと思いまして。
既存の拡張がアップデートしてくれるならそれで良いのですが。
567デフォルトの名無しさん:2006/01/01(日) 10:41:34
既存のxpiをばらして、install.rdfに書き換えれば大体動くんじゃないの?
(XPCOMの仕様変更入ったものはちょっとあれだけど)
568564:2006/01/01(日) 11:54:01
もじら組をのぞいたら Navigational Sounds というのがあったのでそれいれました。
レスくれた方々ありがとうございました。
569デフォルトの名無しさん:2006/01/08(日) 15:18:20
xblってむずくね
570デフォルトの名無しさん:2006/01/14(土) 11:29:48
セパレータとセパレータの間にhidden="true"なアイテムしかない場合、
片方のセパレータを隠すようなスクリプトはどう書けばよいでしょうか?
UserChrome.cssでdisplay:noneにしたmenuitemにはhidden="true"が付くので、UserChrome.cssに
menuseparator:not([hidden="true"]) + *[hidden="true"] + menuseparator:not([hidden="true"])
のようなのを一個ずつ真ん中だけ増やして何行か書いてみたのですが効きませんでした。
DOM Inspectorで取得すると真ん中のアイテムにはちゃんとhidden="true"はあるのに。
真ん中を単に*とすると上手くいきます。
userchrome.cssの設定が適用された後にhidden="true"が適用されているのでしょうか。
571デフォルトの名無しさん:2006/01/16(月) 14:42:22
スクリプトでよければ、こんな方法もあるよ
http://piro.sakura.ne.jp/xul/tips/x0033.html
572デフォルトの名無しさん:2006/01/17(火) 18:03:08
ありがとうございます。
まだ組み込み方よく分かりませんけど頑張ってみます。
これ本体に組み込まれると各拡張作者さんも楽になると思うんだけどなぁ。
573デフォルトの名無しさん:2006/01/21(土) 15:25:45
すみません、教えてください。
今のSeaMonkeyのアプリケーションIDって、
Mozilla Suitと同じ(86c18b42-e466-45a9-ae7a-9b95ba6f5640)でよいですか?
574デフォルトの名無しさん:2006/01/21(土) 16:18:38
XPCOMのnsIFileのisReadableってメソッドってなにがfalse返すの?
読み込み不可能なデータってどんなのがあるのでしょう・・・
575デフォルトの名無しさん:2006/01/21(土) 16:25:59
>>574
 chmod u-r *したファイルとか。
576デフォルトの名無しさん:2006/01/21(土) 16:49:41
chmodは000〜777までの全ファイルディレクトリにかけたんですが全部trueを返したんで・・・
なんなんでしょうね??
577デフォルトの名無しさん:2006/01/23(月) 04:42:36
>>573
http://s2works.homeunix.net/note/mozilla/app.html
これを見るとそれでよさそう。
578573:2006/01/28(土) 13:05:57
>>577
さんくす。
とりあえずそれで試してみます。
579デフォルトの名無しさん:2006/02/03(金) 11:15:59
Neckoについての日本語情報はどこで手に入れられますか?
580デフォルトの名無しさん:2006/02/03(金) 12:57:44
開発方法について、良い方法があれば教えて欲しいのですが、現在は

1.コード修正
2.jarで固め、古いファイルを上書き
3.ブラウザ立ち上げる
4.確認後ブラウザ終了
(1へ戻る)

のような手順で開発に取り組んでます。
もっと効率のよいやり方があれば教えてください。
581デフォルトの名無しさん:2006/02/03(金) 17:46:15
>>580
一般的プログラマーのように全てを書き込んでから確認というのはどうでしょうか
#jarに固めないで使う方法もあるけどそれでも効率悪い
582580:2006/02/04(土) 00:02:06
まだ初心者なので Try And Error しながら色々試してる段階なので、
編集&確認という作業が必要な状態です。

ただその度にブラウザを殺しては立ち上げの繰り返しが大変面倒に感じます。
(殺さないとjarファイル上書きができません)

ブラウザを殺さずにjarファイル上書きする方法があれば教えて頂きたいと思ってます。
583デフォルトの名無しさん:2006/02/04(土) 00:19:14
わざわざjarに固めずソースのままデバッグすればいいじゃん
584デフォルトの名無しさん:2006/02/04(土) 04:02:27
>>580 俺も初心者だが・・・
chromeディレクトリにソースを置いて、installed-chrome.txtをいじってインストール。
後は↓を見て、開発環境を整備しておく。
ttp://piro.sakura.ne.jp/xul/tips/x0000-2.html

>>581
何のことを言ってるのかさっぱり分からない。kwsk plz
585デフォルトの名無しさん:2006/02/04(土) 13:21:29
Firefox1.5ならinstalled-chrome.txtなんてめんどくさいもの必要ない。
extensions下にパスを書いた[email protected]ファイルを置いて、
適当な開発用フォルダしたにinstall.rdf, chrome.manifestとソースファイルを
格納したcontent,locale,skinがあればよい。
ってここらへんの話って256本に載ってなかったっけ?
586デフォルトの名無しさん:2006/02/04(土) 21:02:50
256本はjarで固める方法しか書いてないよ
587デフォルトの名無しさん:2006/02/04(土) 22:04:21
今ネットにあるチュートリアルはほとんどが情報古くてFirefox 1.0かそれ以前のものを対象にしたものだと思うので注意。
588デフォルトの名無しさん:2006/02/06(月) 03:01:52
xpi更新通知用のRDFって何で生成させるのが楽かな?
何かいいスクリプトとかあれば教えてほしいんだけど。
589デフォルトの名無しさん:2006/02/06(月) 23:16:33
firefoxに最初から入ってるjar内のxulとかをmozillaスイートとか他のブラウザに引っ張ってくるのってライセンス的にどうなの?
引用元とかDIFFを書いておけば問題ないのかな?
590デフォルトの名無しさん:2006/02/07(火) 03:05:54
MPL/GPL/LGPLと書いてあるならライセンスの範囲内でどう扱おうと自由でそ
591デフォルトの名無しさん:2006/02/07(火) 20:12:01
>>590
レスthx
アイコンとかはどう考えたら良い?
592デフォルトの名無しさん:2006/02/07(火) 20:39:50
アイコンは扱いが厄介だね
まあグレーゾーンって事で
黙ってやっとくのがよさげかと
593デフォルトの名無しさん:2006/02/08(水) 01:18:28
>>591
アイコンは許可取らないとダメだったはず
594デフォルトの名無しさん:2006/02/08(水) 07:13:26
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
以外に読み込まなければいけない。。。?
http://www.xulplanet.com/tutorials/mozsdk/sockets.php
にあるコードをいじって(最後にdocument.write(dataListener.data))を付け加えて
HTMLに埋め込んで実行してみたら
'Permission denied to call method UnnamedClass.close' when calling method: [nsIStreamListener::onStopRequest
だって、何か良い方法あります?
595デフォルトの名無しさん:2006/02/08(水) 07:26:05
「XUL、JSF、AJAXで実現するリッチUI - xulfaces 0.4 公開」
http://pcweb.mycom.co.jp/news/2006/02/07/354.html

こんなのもあるんだね
596デフォルトの名無しさん:2006/02/09(木) 01:26:39
あくまでブラウザはプラットフォームという視点で、
外部アプリランチャーを作りたいんだけど、
http://kb.mozillazine.org/Running_applications
この資料を参考にして、XULのイベントスクリプトタグ、functionの中身を
このサンプル丸写しというか、exeのパスだけ通してXULファイルを
Firefoxから開いても何の反応もなし。何が問題なのかな。
597デフォルトの名無しさん:2006/02/09(木) 05:11:52
XPConnect特権がないからじゃないの?
firefox.exe -chrome hoge.xul
として読み込ませれば多分動く
598デフォルトの名無しさん:2006/02/09(木) 07:18:32
どうもありがとう。根本的にその辺知らなかったよ。
ファイル操作とかXULをローカルで認証させるセキュリティの仕組みだね。
どうもおかしいと思ってたけど納得した。

ところで
http://www.lucky-bag.com/archives/2005/10/firefoxit.html
こういうもんがあるけど、widgetの開発ってどの程度Extentionの開発より
簡単になるのかな。基本的に同じ技術だからそんなに変わらない?
YahooのWidgetのほうはなんかYahooから直にどうやって開発するかみたいな
資料のリンクがあるし、なんかとっつきやすい印象があるんだけど。
599デフォルトの名無しさん:2006/02/09(木) 07:32:34
http://pcweb.mycom.co.jp/news/2005/12/13/101.html
http://www.atmarkit.co.jp/fdotnet/special/pdc2005_01/pdc2005_01_02.html

とかWindowsもMacのDashBoardみたいにGadgetってのをVistaで出すらしいんだけど、
なんかクロスプラットフォームなのにOSやらブラウザごとに違うWidgetの配布方法とか
とってだめだね。Firefoxitもfireエクステンションとかにしているし。
Widgetっていろいろあってすぐ使えて最初面白いんだけど、
小さい部品であるがために逆にデスクトップにちらばってそのうちうっとうしくなってくる。
だから逆にこういうもんがいつも開いているFirefoxとかのブラウザのTabとショートカットで
管理できたら、それがベストな方法だと思う。OperaもWidget出したらしいけど。
600594:2006/02/09(木) 12:25:22
やっぱりHTMLじゃ動かないんですね、XMLとXULの違いが(どっちも同じに見えるのですが・・・)
もうちょっと勉強してみます。
601デフォルトの名無しさん:2006/02/09(木) 13:17:45
XMLってのはタグで入れ子になったデータ構造一般のこと。
HTMLは一番最初にでてきた形式で、このタグ構造をもっと推し進めたのがXML。
XULもXMLの一種。
602デフォルトの名無しさん:2006/02/09(木) 13:18:43
XML を基礎としたユーザーインターフェース言語 (XML-based User-interface Language)
603デフォルトの名無しさん:2006/02/09(木) 14:25:17
つか、XUL の本質って JavaScript の方が、どちらかというとメインじゃないか?
604デフォルトの名無しさん:2006/02/09(木) 14:50:22
昔、いろいろJavaScriptでHTAアプリケーションとか作ってたけど、
激しく生産性が悪い。まともなデバッガすらないので、なんで走らないのかすらわからない。
XULアプリも原理は単純なんだからはやくVS.netクラスのIDEできないかね?
605デフォルトの名無しさん:2006/02/09(木) 16:00:07
SGMLを知らんのか…
606デフォルトの名無しさん:2006/02/09(木) 20:43:43
> VS.netクラスのIDE
いや、それ贅沢すぎだろw
607604:2006/02/09(木) 22:20:48
マイクロがXAMLかなんかのためにおそらくVS.net対応させるだろうから、
それ利用すれば、最小の手直しで動くと思いついたよ。
608604:2006/02/09(木) 22:28:37
609デフォルトの名無しさん:2006/02/09(木) 23:29:01
>>607
GUI のポトペタ等はどうすんの?
どこら辺がどうなってどう利用すると、最小限で VS.NET 並の XUL の IDE ができるのか、俺には全然ワカンネ。
つか、無理だろ。
XML が使えるかということなら、既に VS は使えまくってるし、使いまくってるだろ。シリアライズとか。
SharpDevelop なら、オープンだった気がするから、まだ可能性はあると思うが。いや、ねーなw
どうでも良いが、VS の価値は MSDN に多くある気がしないでもない。

んなことより先に、まともな jacascript-mode がまず欲しい。
610デフォルトの名無しさん:2006/02/09(木) 23:42:37
xamlはXMLベースの"コンパイル"言語。
xulはインタプリタ。
611610:2006/02/09(木) 23:45:31
ってかeclipseがxulに対応してたはず。
612594:2006/02/10(金) 01:26:01
未だにMozillaのXPCOMがHTMLのJavascriptから呼び出せないのにXMLから呼び出せる?のが分からないのですが。。。
eclipseは今学校の宿題用に入れたばかりなのでそれを使って書いてみようと思います。
613デフォルトの名無しさん:2006/02/10(金) 01:48:19
>>612
権限さえ奪えばhtmlからも呼び出せるよ。
あまり意味ないけどね
614594:2006/02/10(金) 03:51:23
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
を書いているのですがHTMLでは途中でとまってしまうっぽいです

実験的にHTMLで作り、最後にXMLに移植(違う人が)して貰おうと思っていたので
onDataAvailable()とonStopRequestが呼び出せないのはかなり痛手です。
>>125さんと同じ症状のようです
615デフォルトの名無しさん:2006/02/10(金) 12:29:05
HTMLファイルをどこに置いてる?
file:///c:/hoge.xul
みたいな感じで普通にローカルに置いてたら動かないかな?
616594:2006/02/10(金) 13:34:30
HTTP鯖を動かして見たところ、どうもWeb上のHTMLからは呼び出せないようなので
http://www.mozilla.org/projects/security/components/per-file.html
を参考に呼び出そうとしたのですが・・

user_pref("capability.principal<ID名>","http://localhost/testCliantMozilla.html");
user_pref("capability.principal.<ID名>granted","UniversalXPConnect");
とするようなのですが、ID名とは何か特別な名前が有るのでしょうか?
617デフォルトの名無しさん:2006/02/10(金) 17:00:47
user_pref("signed.applets.codebase_principal_support", true);
してる?

> 未だにMozillaのXPCOMがHTMLのJavascriptから呼び出せないのにXMLから呼び出せる?のが分からない
最近変ったかもしれんが、単純に言えば
chrome://... からならば XPCOM が呼び出せる。
file://.. http://... は上の設定や Signed Script にしたりしてから enablePrivilege しないとよびだせない。
618594:2006/02/10(金) 17:26:51
>>617
ありがとうございます、ID名をp0にして
user_pref("signed.applets.codebase_principal_support", true);
を付け加えるとWeb上のファイルのPrivilegeをOKするかどうか聞いてきたのでOKすると
やはり同じ問題が出現しました。
それまでにXPCOMでソケットを開いたりメッセージをEcho鯖に送ったりしているのは成功しているので
(鯖の方ではメッセージが確認できます)
onDataAvailable()とonStopRequest()だけがローカル上で開いたときと同じようにエラーがーおきました
firefox.exe -chrome file://C:\server\testCliantMozilla.html
chromeでDOS窓から開いても同じ症状が出ました。
これってMozillaのバグのような気がしてきたのですが、私の頭のバグなのでしょうか?
619デフォルトの名無しさん:2006/02/11(土) 00:00:24
エラーって >>594 の Permission denied ... と同じやつ?
何がしたいのか詳しいとこ書いてくれんとさっぱりわからんのでまずコード出せ。
620594:2006/02/11(土) 00:28:04
エラーは594と全く同じ物です
http://www.jt200x.com/uploder/src/up6589.txt
UPしました、データ受信の所まではちゃんと動くのですが。。。
621デフォルトの名無しさん:2006/02/11(土) 00:37:34
>>620
文法エラー起こしてないか?
622デフォルトの名無しさん:2006/02/11(土) 01:25:14
http://www.jt200x.com/uploder/src/up6593.txt
再現しませんでしたが?
623594:2006/02/11(土) 02:22:40
http://www.jt200x.com/uploder/src/up6597.txt
寝ぼけていて古いファイルをUPしていました。これが新しい方です、すみません
624594:2006/02/11(土) 10:48:20
誰かがUPしてくださったコードをコピーして、try{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}catch(e){
としたところ、'Permission denied to get property XULElement.accessKey'
と'Permission denied to get property XULElement.disabled' というエラーが発生しました。
是が非でも権限をくれないようです。。。
625622:2006/02/11(土) 12:01:33
>>624
スコープ(callbackやlistener)毎に権限の取得が必要っぽいけどそれ以外は問題なかったよ?
ってかJSの基礎が分かってないようだからまずはECMAScriptの仕様書を読んだ方がいいとおも
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/
626594:2006/02/11(土) 15:42:22
>>625
>スコープ(callbackやlistener)毎に権限の取得が必要っぽいけどそれ以外は問題なかった
http://www.jt200x.com/uploder/src/up6593.txt
これでしょうか?
Error: [Exception... "'Permission denied to get property XULElement.disabled' when calling method:
[nsIDOMXULControlElement::disabled]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)"
location: "JS frame :: http://localhost//up6593.html :: anonymous :: line 48" data: no]
Source File: http://localhost//up6593.html
Line: 48
Error: [Exception... "'Permission denied to get property XULElement.accessKey' when calling method:
[nsIDOMXULLabelElement::accessKey]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)"
location: "JS frame :: http://localhost//up6593.html :: anonymous :: line 48" data: no]
Source File: http://localhost//up6593.html
Line: 48
とエラーになってしまいました、Mozillaのプロファイルになにか書き忘れているのでしょうか?

>ECMAScriptの仕様書
有用な情報ありがとうございます、一週間ほど前にリファレンスを買ってきたばかりでこのような物があると知りませんでした。
明日ミーティングで誰かがこの問題を解決してくれていると良いのですが。。。
627デフォルトの名無しさん:2006/02/11(土) 18:35:55
628622:2006/02/11(土) 19:40:36
>>626
スマソ見たときには既に流れてた。
629594:2006/02/12(日) 00:48:18
http://www.jt200x.com/uploder/src/up6739.txt
コピーを取っておいた物を上げ直しました

>>627さんの
XULRunnerも試してみます
630594:2006/02/12(日) 09:28:18
ついに解決しました。
結局Extensionとして組み込まないとだめだったようです。
http://ted.mielczarek.org/code/mozilla/extensiondev/

http://kb.mozillazine.org/Dev_:_Extensions
がかなり役立ちました
いろいろありがとうございました。
631604:2006/02/12(日) 16:56:30
FILERFOXが欲しいと思っていろいろ検索したんだけど、
http://nazodane.hp.infoseek.co.jp/extension/filer.xhtml
こういうのが最初に見つかったが、結局それはIEVIEWでもできる程度のもので、
さらに調べると、
http://filemanager.mozdev.org/screenshots.html
http://filemanager.mozdev.org/index.html
http://www.anisolution.com/client/products/filemanager/

こういう素晴らしいものが
FileManager is finally LGPL!!! This means you can freely use FileManager or any portion of its code in both free and proprietary projects.
というオープンソースコードがあった。
XULアプリの完成品だけど、リモートサーバの操作のために作られている。
jar:http://www.anisolution.com/members/~monkeya/misc/fm/filemanager.jar!/filemanager.xul

しかしリモートはどうでもいいので、ローカルのファイルマネージャーが欲しい。
これを、firefoxのextentionにパッケージングしなおすのって、extention作ったことあるレベルだったら、
簡単だと想像するんだが、あっているかな?
自分が理想とするのは、ツリーの部分は分離してサイドバーに入れる。そこから複数のTABコンテンツで中身表示という仕様。
632デフォルトの名無しさん:2006/02/12(日) 18:47:45
>>611
http://eclipsexul.sourceforge.net/
これか。ポトペタとはいかんが。
autocomplete はしてくれるようだが、XUL のみかな?(JS は駄目?)
633デフォルトの名無しさん:2006/02/12(日) 19:38:58
昔Moz2ch関係のサイトでIDEっぽいのがあったよーな記憶が無きにしも有らず
634デフォルトの名無しさん:2006/02/12(日) 19:42:28
ttp://xul-app.hp.infoseek.co.jp/mozart/index.html
あったあった。開発終了しちゃったのね。
635デフォルトの名無しさん:2006/02/12(日) 22:19:48
>>631
ローカルに書き換えるのは素人では難しい
拡張作ったことがある人でも面倒臭いかもね
まぁローカル鯖立てて動かせってこった
636デフォルトの名無しさん:2006/02/15(水) 00:28:48
ボタンのラベルを複数行で折り返して表示させることはできませんか?
637デフォルトの名無しさん:2006/02/15(水) 11:58:16
<button>
<description flex="1">
ラベルラベルラベルラベルラベルラベル
</description>
</button>

とか?
638デフォルトの名無しさん:2006/02/15(水) 21:38:42
>>636
XBLでゴニョゴニョすればすればできるんじゃない
639デフォルトの名無しさん:2006/02/17(金) 00:54:21
XPCNativeWrapperについて教えてください。
一応mozilla.orgのドキュメントは読み流したのですが、なぜそれが必要なのかがいまいちわかりませんでした。
640デフォルトの名無しさん:2006/02/17(金) 20:50:43
641デフォルトの名無しさん:2006/02/18(土) 15:55:05
「XUL + BeanShell = Swing-XML Authoring Tool 0.5.0」
http://pcweb.mycom.co.jp/news/2006/02/17/342.html
642デフォルトの名無しさん:2006/02/22(水) 21:24:35
C++でXPCOMを作成する時の補助ツール(Linux用、ソース付き)。間違ってる所があるかもしれません。
http://nazodane.hp.infoseek.co.jp/createxpcom.zip
643デフォルトの名無しさん:2006/02/23(木) 21:22:26
XULRunner 1.8.0.1ってサンプルアプリのMyBrowserが動かなくね?
644642:2006/02/23(木) 22:18:32
>>642のやつ、Windowsにも対応させました。
645蕪木ら某 ◆Googl8RmwA :2006/02/23(木) 23:19:50
646デフォルトの名無しさん:2006/02/25(土) 03:17:45
RDFデータソースからテンプレートで要素を生成するときに再帰的に生成させない方法はありますか?
<rule iscontainer="true">でコンテナを除外することはできますが、一階層まではコンテナも表示させるようにしたいのです。
647デフォルトの名無しさん:2006/03/02(木) 10:01:57
JavaScriptいらず? XUL + Javaでリッチアプリケーション - ZK 1.0.0登場
http://pcweb.mycom.co.jp/news/2006/03/02/340.html
648デフォルトの名無しさん:2006/03/03(金) 23:54:42
設定ダイアログで同じドロップダウンメニューを使用するので、この部分のUIをまとめてオバーレイで適応したいのですが、可能なのでしょうか?
具体的には<menulist>タグには設定を拾うために固有のIDをつけるので、<menupopup>以下をオバーレイで適応できればと思っています。

649デフォルトの名無しさん:2006/03/04(土) 18:14:30
IEのお気に入りからデータをインポートするために
フォルダパスを取得したいのですがどうしたらできるでしょうか?
650デフォルトの名無しさん:2006/03/04(土) 21:11:42
>>649
ttp://mb.eschew.org/16.php#table_16.14
var service = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties);
var path = service.get("Favs", Components.interfaces.nsIFile).path;
651649:2006/03/04(土) 22:02:01
>>650
うお〜マジでありがとうございます。
めちゃくちゃ助かりました。
ProfDとかは知ってたんですが、こんなに沢山あったんですね。
参考にさせてもらいます。
652デフォルトの名無しさん:2006/03/08(水) 10:49:33
XULRunnerサンプルのMyBrowserで、画像を読み込まないように
するには、どうすればいいの?
advanced.always_load_images
network.image.imageBehavior
どっちも効かなかった。
653デフォルトの名無しさん:2006/03/08(水) 15:46:11
permissions.default.image を 2 かな (see greprefs/all.js)
654652:2006/03/08(水) 21:33:57
>>653
効かなかった
655デフォルトの名無しさん:2006/03/08(水) 22:40:38
browser要素のdocshell.allowImagesをfalseにする手は?
656652:2006/03/09(木) 08:25:50
>>655
効いた。
サンクスコ
657デフォルトの名無しさん:2006/03/09(木) 23:35:58
Firefox のプラグインで驚いたこと:
どう考えてもFirefoxの内部構造に入りまくったプログラミングなのに、
なんか、C++とかぜんぜん使ってなくって、全部JavaScriptっぽい。
ここで質問。
1、この解釈は正しい?それとも、もしかして、どこかでC++を使いまくり?
2、C++で書くことにより、よりFirefoxの内部構造に深く立ち入ったプラグインを作ることは可能?
658デフォルトの名無しさん:2006/03/09(木) 23:40:01
追加:
3、プラグイン(エクステンション)のコーナーって、機種の表示がないんだけど、
プラグインはOSに依存しないの?
4、なぜか、JSはインタプリタなのに、
プラグインのロードのときに、セキュリティの危険の警告があるよね。
C++のEXEならわかるけど、なぜJSでこの警告?
659デフォルトの名無しさん:2006/03/09(木) 23:58:58
>>657
プラグインじゃなくてエクステンションの話だとして回答.

1. 公開されているエクステンションのほとんどがXULとJavaScriptと
その他の素材(CSS,画像ファイル)で構成されています.

2.Firefox の内部構造に立ち入るだけならばXULとJavaScriptで
ほとんどできます.むしろFireFox内部に存在しない機能を実装したい
場合にはC++でXPCOMを書く必要がでてきます.
660デフォルトの名無しさん:2006/03/10(金) 00:02:51
>>658
3. XULとJavaScriptで書いている分には処理系に依存しません

4. エクステンションの場合はHTML上で動くJavaScriptと異なりローカルPC
のリソースに自由にアクセスできます.ファイルを消したりするエクステンションも書けて
しまうのでEXEと同じだけ危険なものが書けます.これで警告が出なかったら変でしょ?
661デフォルトの名無しさん:2006/03/10(金) 00:15:16
>>657
誤解するといけないから説明しとくと FireFox には C++ で書かれたコンポーネント
が一杯あってそれを JavaScript やXULから利用しています.FireFox組み込みの
コンポーネントの組合せで作れる範囲の処理ならOS依存のコードは必要ないってことです.
662デフォルトの名無しさん:2006/03/10(金) 00:47:25
クンクン
663デフォルトの名無しさん:2006/03/10(金) 13:53:06
こんなところにまでプラグインと呼ぶ人がくるようになったのか・・・
窓の社の罪は重いな。
664デフォルトの名無しさん:2006/03/10(金) 14:48:04
よくやったw > 社
665デフォルトの名無しさん:2006/03/11(土) 00:28:49
Piro たんが釣れた!
666デフォルトの名無しさん:2006/03/12(日) 21:08:38
browser要素のエラーハンドラを自前のやつに取り替える
方法ってあるの?
connection refusedのダイアログが出るので困ってる。
667デフォルトの名無しさん:2006/03/13(月) 15:19:55
search engine を javascript で変えるにはどうしたらいいでしょうか。

mouse gesture のカスタム機能を使って、
ジェスチャーによって検索するエンジンをかえてみたいんですが、
ジェスチャーでセレクションを検索するまではできたものの、
エンジンの種類を変える方法がわかりませんでした。
668657:2006/03/13(月) 21:58:04
>>659-661
わかりやすい解説、サンクス!。
なんか雰囲気は掴めたっぽい。

>>663
プラグイン = C++とかで書かれた外部プログラム。フラッシュとかアクロバットとか。
エクステンション = XUL/JavaScript で書かれたある種のマクロみたいなの。
・・・これでOK?
確かに、私も、「窓の杜」の「「Firefox」プラグイン特集」を読んでました。
すんまそん!。

669657:2006/03/13(月) 22:02:36
ひとつ質問:
いまの個人的解釈だと、
1、Mozilla System (と呼んでいいのか?)とも呼べるものがある。
2、これは、XUL/JavaScript の実行環境で、XUL Runner とほぼ同じ。
3、その上で、重量級ブラウザスクリプトを走らせているのが Mozilla。
 軽量ブラウザスクリプトを走らせると Firefox。
 メーラスクリプトを走らせているのが ThunderBird。

・・・なにが聞きたいかというと、
Thnderbird/Firefox/Mozilla は、専用コンポーネントを使っているのか、
それとも、XUL/JavaScript のみなのか、ということ。
とりわけ、Thunderbird に専用コンポーネントがないとすれば、
かなり驚きなんですが。
それって、ようは、ブラウザにカスタムマクロを突っ込めばメーラになるよ、ということなんで。
670デフォルトの名無しさん:2006/03/13(月) 23:35:51
>>669
1は、一般的にはGeckoと呼ばれてる。
2と3は、まあそんな感じ。

GeckoはXUL/JavaScriptの実行環境だけど、C++で書かれた
DLLやなんか(=XPCOMコンポーネント)の機能も呼び出せる。
FirefoxやThunderbirdの固有の機能のいくつかは、JavaScriptではなく
あらかじめ用意されているXPCOMコンポーネントで実現されてる。
C++やJavaを使えば(JavaScriptでもできるけど)XPCOMコンポーネントを
自作することもできる。
Thunderbirdの機能に必要なXPCOMコンポーネントを持ってくれば、
理論上はFirefox上でもThunderbirdは動く。
大筋においては、
>それって、ようは、ブラウザにカスタムマクロを突っ込めばメーラになるよ、ということなんで。
は、まあ正解と言える。
671デフォルトの名無しさん:2006/03/13(月) 23:52:42
>> 669
Firefox と Thunderbird 両方インストールして,入ってるDLLを
比べてみればすぐ mozMapi32.dll ってのが怪しいって解るんじゃない?
ってことで Thunderbird はネイティブコンパイルされたメール操作用の
コンポーネントを持っていてそれをXUL/JavaScriptから操作してる.
672デフォルトの名無しさん:2006/03/17(金) 00:17:30
なんだかショッキングだ。
そういうトリッキーなことするのを見るとパフォーマンスが気になる。
673デフォルトの名無しさん:2006/03/17(金) 00:26:41
何がトリッキーなのかワカラン
674デフォルトの名無しさん:2006/03/17(金) 00:27:48
そんなこといってたら
抽象化されたデバイスを利用してる
アプリケーション全部使えなくなるよ。
675デフォルトの名無しさん:2006/03/17(金) 00:30:35
>>672
おまえの存在がトリッキー。
676デフォルトの名無しさん:2006/03/17(金) 00:34:02
しまじろうに出てくるキャラのことだろ
677デフォルトの名無しさん:2006/03/17(金) 00:41:44
セガの古いゲームのことだろ
678デフォルトの名無しさん:2006/03/17(金) 07:43:44
それフリ(ry
679デフォルトの名無しさん:2006/03/17(金) 10:58:06
firefoxのプラグイン開発の資料はどこにあるのでしょうか?
また、参考になるサイトがあれば教えてください。
680デフォルトの名無しさん:2006/03/17(金) 11:17:18
681デフォルトの名無しさん:2006/03/17(金) 19:02:18
個人で作るならプラグインじゃなくて拡張がいいよ
拡張の作り方はこの本買え。
http://www.amazon.co.jp/exec/obidos/ASIN/4839918058/
682デフォルトの名無しさん:2006/03/17(金) 19:16:45
拡張作るのに向いてる日本語のレファレンス本ってありますか?
DOM, XUL, XPCOM あたりの概要が書いてあるようなやつ。

上の本と
Firefox Hacks
http://www.amazon.co.jp/exec/obidos/ASIN/4873112419/
くらい?
683デフォルトの名無しさん:2006/03/17(金) 19:24:51
リファレンス的なものはないんじゃないかな?
JavaScriptとかDOMとかCSSとかXPCOMとか必要知識が多岐にわたるから
どうしても表面的なところをなぞった物になってしまうような。
684デフォルトの名無しさん:2006/03/17(金) 20:04:52
まあでもウェブ開発者なら前三つはどうせ知ってないといけないから
あとはXPCOMとの連携=XULだけなんだけどね。

http://firefox.geckodev.org/index.php?%B3%C8%C4%A5%A4%CE%BA%EE%C0%AE
サンプルもめちゃくちゃ豊富にあるしそんなに難しいもんじゃないよな。
本なんて英語の読めないやつ専用だろ。
685デフォルトの名無しさん:2006/03/17(金) 20:21:39
FFのプラグインの作り方を教えてください。
686デフォルトの名無しさん:2006/03/17(金) 20:34:20
そういわれるとキラウェアを思い出すけど、
多分この板でこの意味が分かる人はいない。
687デフォルトの名無しさん:2006/03/17(金) 21:14:51
>>685
http://www.square-enix.com/
ここに就職して、書かせてもらえ。
688デフォルトの名無しさん:2006/03/17(金) 22:12:02
>>686
ハワイで作った駄作映画のこと?
689デフォルトの名無しさん:2006/03/17(金) 22:57:39
でも気軽に作れないってのは痛いよな。
「俺は作れるからいい」ってのは普及・発展を阻害してると思う。
690デフォルトの名無しさん:2006/03/17(金) 22:59:26
それなら Gauche を使わないと
691デフォルトの名無しさん:2006/03/17(金) 23:11:50
>>688
ご名答。

>>689
Mozillaとかなんかその辺の連中の思考回路はそんな感じに見えて仕方ない。
永久に普及しないし、自己満足なんだからいいんじゃね?
692デフォルトの名無しさん:2006/03/17(金) 23:59:09
今でも十分気軽じゃないか。
学習のためのドキュメントは不足してると思うが。
693デフォルトの名無しさん:2006/03/18(土) 00:16:20
英語でも無いのか?
なら、儲けた数十億円使えば良いのに。

個人用に拡張ををちょこっと作るくらいなら、あまり困らなかったけど。
もっとも、最近は Greasemonkey のが多いな。
694デフォルトの名無しさん:2006/03/18(土) 04:27:43
英語のドキュメントがあればOKってのは世間一般的には全然気軽じゃないんだよな。
そういうのを書くのがコード書くより面倒ってのは痛いほど分かるが。
695デフォルトの名無しさん:2006/03/18(土) 04:58:02
日本語のドキュメントがあればOKな世間よりは広いお
696デフォルトの名無しさん:2006/03/18(土) 11:55:31
いや、MJ に期待するのはアレだし、いきなりローカル言語に期待できないから。
こういうのは、訳を作ってくのが定石でしょ。
待ってたら何年先になるか分からないから、英語で慣れた方が(ry (以下ループ)
まぁ、多くの人には気軽じゃないのは確かだねぇ。

> 本なんて英語の読めないやつ専用だろ。
原本買う人も多くね? 一長一短。
697デフォルトの名無しさん:2006/03/18(土) 15:31:19
気軽に作れるって範囲は「Firefoxの改造テクニック!」で
大体カバーしてると思う。

入ってないのは
Templete
nsITreeView を使う Tree や list
nsIHttpChannel などの Channel の使い方。
socket
docShell 全般(部分的に入ってる)
JS による xpcom component の作り方。
この辺だけど、全然気軽じゃないところだし。
698デフォルトの名無しさん:2006/03/18(土) 17:36:57
拡張の権限で javascript をインタラクティブにテストできる
拡張ってないですか?
emacs の lisp-interaction-mode みたいな。
699http://www.vector.co.jp/soft/win95/util/se072729.html:2006/03/18(土) 19:22:56
64bitに対応したトリップ検索プログラムありますか?

TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
700デフォルトの名無しさん:2006/03/18(土) 19:52:22
>>697
「気軽に作れる」ってのはドキュメントやリファレンス的なものだけじゃなくて、
開発環境が整ってないとかテストが面倒ってのも改善される必要があると思う。
701657:2006/03/18(土) 20:15:23
ハッハッハ!。
Firefox Hacks と、「改造テクニック!」、この二冊の手助けにより、
さらに理解が進んだぞ。
なんか、スゲェな、FF。

ひとつ質問。
FFって、ようは、XULインタプリタ+ブラウザスクリプト、ですよね。
これ、立ち上げのたびに全スクリプトを読み直してるんですか?
・中間コードのキャッシュ
・できればコンパイル
とかの機能は、現に存在している、または開発計画は存在している、
ってことはないですかね。

XUL cache とかいうキーワードは見つかったけど、
具体的にそれが何なのかがわかりません。
702デフォルトの名無しさん:2006/03/18(土) 21:05:20
https://bugzilla.mozilla.org/show_bug.cgi?id=68045
http://groups.google.com/group/netscape.public.mozilla.mail-news/browse_thread/thread/d44b2ddc51885b14
とかを見ると
>XUL fast load file. Contains precompiled chrome and JavaScript.
と書いてある
703デフォルトの名無しさん:2006/03/19(日) 14:08:48
XUL.mfl
XPC.mfl
とかあるけどね。
704657:2006/03/19(日) 16:30:09
ええっと、そのキャッシュファイルって、どこにあります?
Linux/Windows 双方さがしたんですが見つかりません。
って、私の設定が悪いんですかね。
705657:2006/03/19(日) 16:50:45
あ、大ボケを。
Linuxにはあった。
$home/.mozilla/firefox/asdfwq3r.default/XUL.msadf
これだね。
でも、Win32にはないなぁ。どこにあるんだろう。
706デフォルトの名無しさん:2006/03/19(日) 19:42:32
ディフォルトなら
C:\Documents and Settings\???\Local Settings\Application Data\Mozilla\Firefox\Profiles\???\
辺りに
んで、そのファイルをテケストエディタで開いて味噌
707デフォルトの名無しさん:2006/03/19(日) 21:38:33
ちなみにLocal SettingsやApplication Dataに隠し属性が付いてるんで
デフォルトではエクスプローラで表示されないし検索にも引っかからない。
708デフォルトの名無しさん:2006/03/20(月) 13:14:46
初心者ですが、オライリーの「Firefox hacks」 っていう本は分かりやすいですか?
709デフォルトの名無しさん:2006/03/20(月) 19:49:41
オライリー本は実は糞だという法則。
なんか自称上級者のステータスみたい
になってるから読まない方がいい。
710デフォルトの名無しさん:2006/03/20(月) 21:25:58
そんな法則ないよ。
711デフォルトの名無しさん:2006/03/20(月) 21:33:21
Firefox hacksはオライリー本の中では比較的読みやすい方だと思うよ。
ただ、知識が少し古くなってるところもあるのでそこは注意が必要。
712デフォルトの名無しさん:2006/03/20(月) 21:39:57
XULに関しての記述は少なかったような気が。
713デフォルトの名無しさん:2006/03/21(火) 00:23:35
>>709
縦読み乙
714デフォルトの名無しさん:2006/03/21(火) 07:38:20
くそ、縦だったか。
715デフォルトの名無しさん:2006/03/21(火) 23:08:06
画像の上でコンテキストメニュー呼び出したときだけ、メニューを表示させたいんだけど
document.getElementById(id).hidden = !gContextMenu.onImage
とか挟めばいいのかな?

あと、挟むんだったら何処に挟めばいいんだろう… orz。

うぉ〜、なんでこんな文献少ないんだ…と愚痴る。
716デフォルトの名無しさん:2006/03/21(火) 23:12:28
× 文献が少ない
○ 理解力が足りない
717デフォルトの名無しさん:2006/03/22(水) 00:05:35
contentAreaContextMenuのonpopupshowingイベント
718デフォルトの名無しさん:2006/03/22(水) 00:06:59
きっと文献を探すよりも似たようなことを実現させている拡張のソース見たりbrowser.jar見たりする方が効率よい。
719デフォルトの名無しさん:2006/03/22(水) 11:18:50
だな。PGはソース読んでなんぼだ。
720デフォルトの名無しさん:2006/03/23(木) 11:43:54
たとえば C-L でブックマークツールバーの表示をトグルさせたいのですが、
こういうときどうすればいいんですかね?

pref.js に何かキー割り当てのようなものを書けばいいのでしょうか?
それとも XUL をいじらないとできませんかね。
721デフォルトの名無しさん:2006/03/23(木) 12:45:43
>720機能拡張KeyConfigを導入しる
722デフォルトの名無しさん:2006/03/23(木) 12:53:54
>>721
ありがとうございます。すでに使っています。情報を出さずにすいませんでした。
それで、keyconfig は、pref.js に設定を書き込むことで、割り当てダイアログに
項目が出てくるようになりますよね?

user_pref("keyconfig.main.xxx_key__NAME", "!][][][FUNCTION");

上のような感じで書けばよいのだろうなぁ、というのはわかりましたが、
肝心のブックマークツールバーをどう書けばよいのかわかりません。
DOMインスペクタを使えばわかるのですか?
723デフォルトの名無しさん:2006/03/23(木) 19:16:24
↓ここで質問しれ。ここは硬派なスレなの
Mozilla Firefox質問スレッド(初心者歓迎)の30
http://pc7.2ch.net/test/read.cgi/software/1143025477/
724デフォルトの名無しさん:2006/03/23(木) 19:23:48
まあ、document.getElementById("PersonalToolbar")して
collapsedをトグルするだけなんだけどね
725デフォルトの名無しさん:2006/03/23(木) 19:40:09
実は http://pc7.2ch.net/test/read.cgi/software/1140405914/274 で質問したのですが、
反応がありませんでした…。

>>724
さすが、手厳しいですねw
ともかくヒントありがとうございます。がんばってみます。
726デフォルトの名無しさん:2006/03/23(木) 21:57:14
keyconfigの設定画面開いて、新しいキーを追加。
名前は好きなのにして、/* CODE */の下に

var pToolbar = document.getElementById("PersonalToolbar");
pToolbar.collapsed = !pToolbar.collapsed;

と書く。んで、それにショートカットキーを割り当てるだけ。
727デフォルトの名無しさん:2006/03/23(木) 22:54:37
>>726
できました!
う〜ん、すごいなぁ。どうしたらこんなの分かるんですか??魔法みたいだ。
まだまだたくさん勉強しないとダメだ〜
728715:2006/03/23(木) 23:44:13
>だな。PGはソース読んでなんぼだ。
一理ある。
なんか納得してしまったので、もう少し頑張ってみようかと。
俺が軟弱モノでした。
729デフォルトの名無しさん:2006/03/24(金) 13:54:16
>>727
726じゃないけど、DOMインスペクタを活用するといいよ。
730デフォルトの名無しさん:2006/03/24(金) 21:43:50
漏れも拡張作ってみたいと思って
XULに挑戦してみたけど
プログラミングに関する知識はゼロだったんで
ソース読んでもちんぷんかんぷんだったけど
とりあえず先人の書いた良質のソースを弄ってみて
その中でわからないことが出てきたら
XUL PlanetとかMozilla Cross Referenceで調べたりするうちに
なんとなくjavascriptのオブジェクト指向も分かってきて
そうこうするうちに拡張も作れるようになちゃって
ついには窓の森のプラグイン特集に出ちゃったりみたいな。
731デフォルトの名無しさん:2006/03/24(金) 22:08:44
そうなるまで何時間くらいかかった?
732デフォルトの名無しさん:2006/03/24(金) 22:12:04
何そのサクセスストーリー
733デフォルトの名無しさん:2006/03/24(金) 22:16:06
俺も最初は TabMixPlus とかメジャーなやつをほどいて
サイト見ながらいろいろいじってるうちにいつのまにか
わりと思い通りに書けるようになったな。

>>731
完全な素人なら、少なくとも1週間くらいはかかるんじゃね?
734デフォルトの名無しさん:2006/03/24(金) 22:32:48
XULPlanet ってさ、リファレンスは充実してるんだけど、
サンプルコードがぜんぜんないじゃん。
Rapid Application Development with Mozilla も同じ形式。
もちろん、各種エクステンションのソースそれ自身がいいサンプルコードなんだけど、
MSDNとかのMFC/Win32あたりだと、API一個一個に、
リファレンスドキュメント+サンプルコード、といった形式になってるでしょ。
こういった感じの、サンプルコードばりばりの資料ってどっかにないかな、、、。

ちなみに、いまは、「改造テクニック」で勉強中。
735デフォルトの名無しさん:2006/03/24(金) 22:43:46
言えてる。ちょっと初学者には厳しい世界かもしれない。
てか、XULは他の畑である程度腕に覚えのある連中が
手を出すものじゃないかと。
736デフォルトの名無しさん:2006/03/24(金) 22:48:30
javascript は覚えたんだけど
肝心の firefox の内部構造がよくわかんないんだよな。
737デフォルトの名無しさん:2006/03/24(金) 23:09:04
>735
Javaやらがそうだったように
新しいモノに飛び込んで、好きで弄り回した上で得たノウハウを
人に広めていくことで、技術って言うのは馴染んでいくモノだから

マニア、ギーク、アーリーアダプタ名乗るなら
ゆっくり陳腐化させていこうぜ

…何年かかるか分からないけど
738デフォルトの名無しさん:2006/03/24(金) 23:33:47
なんとなく拡張作ってみたいって感じじゃ良いものは作れないし
自分のスキルもなかなか伸びないけど
「どうしてもこの機能が欲しい!」というのが先にあって
その欲望の実現に向かって努力するといいんじゃないかな
ちょっと目標を高めに設定する方がいいね
739デフォルトの名無しさん:2006/03/25(土) 00:14:49
動機はある程度不純な方が伸びやすいよな。
欲望とかに直結してると人間っては動く動くw
740デフォルトの名無しさん:2006/03/25(土) 09:56:52
「勉強しよう」とか思ってるやつは
大して伸びないよな。

好きでいじってるレベルにならないと。
741デフォルトの名無しさん:2006/03/25(土) 10:29:34
>>739-740
同意
742デフォルトの名無しさん:2006/03/25(土) 15:23:31
だが勉強しないやつよりは大分伸びるので問題無し
743デフォルトの名無しさん:2006/03/25(土) 22:59:34
いや。大学にくればわかるが、勉強しようと思ってるだけの奴より
必要に迫られて勉強するやつの方があっさり身につけるし伸びる。
学生の程度の低い大学だとどうか知らんが。
勉強しようと思ってるだけでなかなか動かない奴ってのは
勉強しようと思う自分に酔ってることが結構ある。
本を買っても積んどくだけとかに似てる。
744デフォルトの名無しさん:2006/03/26(日) 00:09:48
いるいるww
「俺は勉強してるんだぜ」オーラ満載のやつに限って
たいしたことないんだよな。

むしろ、本来取れない授業とかにまでモグリで
出てるやつの方がよく分かってたりする。

好きこそものの上手なれって至言だよな。
プログラミングとか、まさにそうだと思う。JUST FOR FUN
745デフォルトの名無しさん:2006/03/26(日) 00:30:01
でもその場しのぎだけで覚えると
伸び悩んだりするんだよね。
もちろん出来る奴はどうやろうともできるんだが。
746デフォルトの名無しさん:2006/03/26(日) 01:32:27
できるやつは何をやっても できる
 ダメなやつは何をやっても ダメ
747デフォルトの名無しさん:2006/03/26(日) 01:35:55
大学つーか院レベルだとな。
迫られなきゃやらんて、あんなのw
748デフォルトの名無しさん:2006/03/26(日) 20:47:34
こんなことがしたいんですが、ヒントだけでも。
------
< a href="c:/program files/myapp/run.bat" param=,,,>
みたいなタグを作りたい。
ようは、HTMLからローカルアプリをラウンチさせる。
これだけなら、MIMEをいじればできるが、
問題はセキュリティ。
このタグは、
1、HTMLがローカルファイルの場合。
2、社内イントラにある場合。
3、特定の電子証明書が付いているサーバから送られてきた場合。
この三つの場合しか使えない。
-------
どーやってやるんでしょうか。
やれるかどうかだけでもかまいませんし、
ググるためのキーワード、参考になりそうなサンプルのURLとか
あれば最高ですな。
749デフォルトの名無しさん:2006/03/26(日) 20:49:00
なお、当方、Win32/MFC/SDK/C++ 、、、みたいなのは、キャリア10年ですので、
一通りわかります。
JavaScriptも、当然やりゃできるでしょ。
それこそ、うえの議論のように、必要があれば覚えられるでしょう。
なんで、「このサンプル見て勉強しろ!」とか、URL出してもらえれば、何とかなります。
750デフォルトの名無しさん:2006/03/26(日) 21:01:43
プログラミング言語だけでなく、日本語も勉強しよう。
751デフォルトの名無しさん:2006/03/26(日) 21:13:51
>>749
むだに10年やってるだけって感じだな
752デフォルトの名無しさん:2006/03/26(日) 21:17:10
>>748-749
日本語でおk
753デフォルトの名無しさん:2006/03/26(日) 21:18:17
10年やっててもコミュニケーション能力と検索スキルは上がらなかったようですね
754デフォルトの名無しさん:2006/03/26(日) 21:20:28
意地悪しないで教えてよ。
755デフォルトの名無しさん:2006/03/26(日) 21:23:28
この程度なら中卒のオレでもググってるぜ
756デフォルトの名無しさん:2006/03/26(日) 21:26:08
質問に回答しない五大理由

1. 知ってるがお前の態度が気に入らない
2. 知らない
3. 質問の意味がわからない
4. スレ違い
5. そのぐらい自分で調べろボケ
757デフォルトの名無しさん:2006/03/26(日) 21:30:20
まずXULとどう関連があるのかわからない。
758デフォルトの名無しさん:2006/03/26(日) 21:50:24
> JavaScriptも、当然やりゃできるでしょ。
ECMA Script だからって馬鹿にできないよな。
よくインタプリタを馬鹿にしてる奴が居るけど、
C のインタプリタだって存在するの知らないのかねぇ。
というか C++ 以外の奴って……言語になるのか?
759デフォルトの名無しさん:2006/03/26(日) 22:03:31
XULと関係ないじゃん?
760デフォルトの名無しさん:2006/03/26(日) 23:22:16
>>756
そんなかで3つも該当するってある意味すげーな
761デフォルトの名無しさん:2006/03/26(日) 23:29:06
へたに10年とか自慢したのが痛かったな。
素直に下手に出てりゃよかったのに。
762デフォルトの名無しさん:2006/03/26(日) 23:38:27
自慢してないですけど・・・。
ようは、HTMLもロクに書けない教えてクンじゃない、ってことです。
もうすこしは教えがいのある教えてクンです。
で、どうでもいいから教えて!。
763デフォルトの名無しさん:2006/03/27(月) 01:49:55
むしろお前のことがどうでもいい
764デフォルトの名無しさん:2006/03/27(月) 02:11:07
Win32のキャリア10年って結構凄くね?
俺なんて、ペイントブラシやマインスイーパで感動して、
壁紙変えたり、起動音とかEVAのにして悦に入ってた時期だw
765デフォルトの名無しさん:2006/03/27(月) 02:23:46
そんなにキャリアがあれば、こんなのなんてことなさそうだけどな。
766デフォルトの名無しさん:2006/03/27(月) 05:33:59
要は10年やってこのレベルって奴に教えるほど甘くないってこった
767デフォルトの名無しさん:2006/03/27(月) 10:15:16
2chの質問ではちょっと自慢ぽいこと書いたらアウトだな。
本人にその気がなくても。
768デフォルトの名無しさん:2006/03/27(月) 12:17:39
デバッグとテストどうやってる?Firefoxの一行コンソールに改行を抜いた
関数を突っ込んでテストしてるんだけど・・・ありえないって・・・
769デフォルトの名無しさん:2006/03/27(月) 12:40:47
でも、卑屈さを見せると容赦なく馬鹿にしたレスが返る罠。
770デフォルトの名無しさん:2006/03/27(月) 13:00:50
>>768
CMEのJavaScriptパネルとか
771デフォルトの名無しさん:2006/03/27(月) 14:00:43
>>768
Venkmanはどうだろ
使ったことないけど
772デフォルトの名無しさん:2006/03/27(月) 14:13:54
XULリファレンス引く→スクリプト書き直す→Firefox終了させる→Firefox起動させる→
実行してみる→バグ→XULリファレンス見直す→スクリプト書き直す→Firefox終了させる
→Firefox起動させる→実行してみる→XULリファレンス引く→Firefox終了させる→
Firefox起動させる・・・・・


ふおおおおおおおおおおおおおおおおおおお!!!!!

>>770
それはよく知らない。テストボタンを作って、テストする関数はまとめておいて
ボタンを押すと全てテストが走るという構想で今書いてみてるとこ・・・

>>771
デバッグにはいいかもしれない。使ったことないけど
773デフォルトの名無しさん:2006/03/27(月) 15:29:26
本人にその気がなくて自慢ぽいこと言ってたら、リアルでもアウトだろ。
表面上はともかく、心の中では。
774デフォルトの名無しさん:2006/03/27(月) 15:31:36
ContextMenu ExtensionsのJavaScriptパネルは、
でかいテキストボックスがあって、その中に書いたスクリプトが
「実行」ボタンを押すと実行されるという
ただそれだけのものです。

browser.xulやbrowser.jsの中に書かれたスクリプトと同じ権限で
実行されるので、これでメソッドを再定義してテストしたり、
変数やプロパティや関数の内容をalertで表示したり
クリップボードにコピーしたり、ということができる。
使いようによっては役立つかも。
というか自分はこれが無いと開発できないんですが。
775デフォルトの名無しさん:2006/03/27(月) 16:43:42
>>774
http://piro.sakura.ne.jp/xul/ctxextensions/
これ?便利そうなんだが、もっと機能を絞り込んでそのJavascriptの
対話インタプリタの部分だけがほしい・・・。でかいと不安だ。
776デフォルトの名無しさん:2006/03/27(月) 17:02:19
作るしか!
777デフォルトの名無しさん:2006/03/27(月) 17:03:01
そうだな。
778デフォルトの名無しさん:2006/03/27(月) 19:54:24
>>773
あるあるww
表面上はとりつくろうけど、「はいこいつハブり決定〜」とか心の中で思ってる。
779デフォルトの名無しさん:2006/03/27(月) 22:28:19
>>772
一々再起動させないでxulのキャッシュ切ったら良いんじゃないの?
780デフォルトの名無しさん:2006/03/27(月) 23:05:53
自慢したら叩かれ、下手に出れば煽られる。
ほんと質問するのも一苦労だな。
781デフォルトの名無しさん:2006/03/27(月) 23:22:47
>>779
これは知らなかったが超便利だ。お前なかなか詳しいな!!
782デフォルトの名無しさん:2006/03/27(月) 23:23:26
再起動が必要なケースはskinやpropertiesファイルの変更
ウィンドウ開きなおしで済むケースはbrowser.xulへのオーバーレイ
その他はwindowやdialogレベルで開きなおせば済む

だいたいこんな感じだったと思うけど。
783デフォルトの名無しさん:2006/03/27(月) 23:26:26
      ./       ;ヽ 
      l  _,,,,,,,,_,;;;;i  <いいぞ ベイべー!
      l l''|~___;;、_y__ lミ;l  自慢する奴は厨房だ!!
      ゙l;| | `'",;_,i`'"|;i |  下手にでる奴はよく訓練された厨房だ!!
     ,r''i ヽ, '~rーj`c=/ 
   ,/  ヽ  ヽ`ー"/:: `ヽ
  /     ゙ヽ   ̄、:::::  ゙l, ホント 2ちゃんは地獄だぜ! フゥハハハーハァー
 |;/"⌒ヽ,  \  ヽ:   _l_        ri                   ri
 l l    ヽr‐─ヽ_|_⊂////;`ゞ--―─-r| |                   / |
 ゙l゙l,     l,|`゙゙゙''―ll___l,,l,|,iノ二二二二│`""""""""""""|二;;二二;;二二二i≡二三三l
 | ヽ     ヽ   _|_  _       "l ̄ ̄ ̄ ̄ ̄ ̄ |二;;二二;;二=''''''''''' ̄ノ
 /"ヽ     'j_/ヽヽ, ̄ ,,,/"''''''''''''⊃r‐l'二二二T ̄ ̄ ̄  [i゙''''''''''''''''"゙゙゙ ̄`"
/  ヽ    ー──''''''""(;;)   `゙,j"  |  | |
784デフォルトの名無しさん:2006/03/27(月) 23:48:18
>>780
いい加減に自己弁護するのやめたら?
785デフォルトの名無しさん:2006/03/28(火) 00:16:10
>>780>>748
答えてもらえなかったからって弁解かよwwww
786デフォルトの名無しさん:2006/03/28(火) 00:55:17
俺は自慢ぽいことリアルで言っても何も問題ないぜ。
実力が本当に伴っていればな。
787デフォルトの名無しさん:2006/03/28(火) 01:11:11
リアルだと実力があるかないかの判断がつけやすい。
その他の言動とか、話し方とか実績とか判断材料が多くある。

文字だけだと虚勢にしか見えない。
788デフォルトの名無しさん:2006/03/28(火) 01:35:44
空気読めなくても悪気がない奴とかは、
リアルではそんなにいやな奴でもないが、
文字面だけの世界ではDQNに指定される。
789デフォルトの名無しさん:2006/03/28(火) 02:02:08
このままだと自慢することの無意味さをいかに知ってるか
という自慢大会になりかねないのでそろそろ終わろうぜ
790デフォルトの名無しさん:2006/03/28(火) 13:11:07
逆にできるヤツが謙虚すぎると、イヤミにしか見えない。
791デフォルトの名無しさん:2006/03/28(火) 14:48:17
あるあるw
技術系のサイトでそういうの多いよな。
でもまぁ、こういうのって勉強すればするほど上には上にいるのが気づくもんだから、
そういう風になっちゃうのも仕方ないのかもね。
792デフォルトの名無しさん:2006/03/28(火) 15:38:25
スレ違いの話題に食いついてる厨房はキエロ!春は本当にこれだから困る!
793デフォルトの名無しさん:2006/03/28(火) 17:00:58
春だな厨もたいがいウザいがな。
794デフォルトの名無しさん:2006/03/28(火) 18:06:45
cssで定義したスタイルってjavascript側からXULElement.style以下のプロパティて
取得できんのな・・・。できる前提で組んでたのでちょっと凹んだ・・・。
795デフォルトの名無しさん:2006/03/28(火) 18:28:30
1.5.0.xならできなかったっけ。これは値の設定だけだったかな。
無理ならgetComputedStyleで値を取得するといいかと。
796デフォルトの名無しさん:2006/03/28(火) 18:45:19
>>795
おまチョー詳しいな!!ども!
797デフォルトの名無しさん:2006/03/29(水) 18:51:53
xulplanetが落ちると何も書けねーな
798デフォルトの名無しさん:2006/03/29(水) 20:05:37
こんなのもあるんよ
ttp://xulplanet.mozdev.org/
799デフォルトの名無しさん:2006/03/30(木) 12:59:52
extension の変数/関数のスコープというか名前空間というか
がまだよくわからないんですが…。
オーバーレイしない .xul の場合は、そこで名前空間が閉じていて、
そこで読み込んだ js 以外のものとの名前衝突は起こらないと考えてよいでしょうか?
また、もちろん変数領域などは .xul を開いた数だけ存在するんですよね?

で、オーバーレイしてる場合は、オーバーレイした対象の XUL の空間(window)上に変数
などが定義されるので、すでに定義されている変数や関数との衝突が起こりうるので、
オーバーレイする対象がロードしている js 実装を理解するか、prefix を使うかしないと
いけないってことでよいでしょうか?

オーバーレイしてない場合でも、xul から自作以外の js をロードしている場合は
同様に気を使わないといけないですよね?
.js 内のグローバル変数は怖いな…。
うかつにロードすると別インスタンスになるんですよね…?
# たとえば、非オーバレイ xul から browser.js の関数が呼びたいといって
# script src="chrome://browser/content/browser.js"
# とかやるのは危険ってことですよね?
800デフォルトの名無しさん:2006/03/30(木) 21:25:20
自分はオーバーレイするときは
変数とか関数の頭にその拡張の名前を付けるか
オブジェクト指向っぽくやる
801デフォルトの名無しさん:2006/03/30(木) 21:26:31
>799
JavaScriptのことを勉強すればその辺の事はよくわかると思うけど、
まあ大体あなたの言ってる通りです。
802デフォルトの名無しさん:2006/03/30(木) 22:14:29
> 非オーバレイ xul から browser.js の関数が呼びたい
こんなケースあるか?
window.openerやnsIWindowMediatorのgetMostRecentWindow("navigator:browser")でbrowser.xulを探すべきじゃん?
803デフォルトの名無しさん:2006/03/31(金) 00:06:12
何言ってるかさっぱりわかんね
804デフォルトの名無しさん:2006/03/31(金) 09:20:19
俺もわかんね
805デフォルトの名無しさん:2006/03/31(金) 17:26:46
あるサイトに接続するパスワードをユーザーに入力させて、何度もログインさせるのを
軽減するためにパスワードを保存しておくとしたら、どういう風にすれば安全なんでしょうか。
jsではプライベート変数を持てないようだし、悪意を持ったプログラムがパスワードを
抜こうとした場合、どういう風にすれば防げるのか悩んでます。
806デフォルトの名無しさん:2006/03/31(金) 17:30:12
そんなことしようと思うのが間違ってるんじゃね?
807デフォルトの名無しさん:2006/03/31(金) 18:47:12
>>805

最善の方法と言えるか分からないけど、

ユーザが正しいパスワードを入力したら、
有効期限のあるIDをサーバーサイドのプログラムから、
クライアントに発行したらいいと思うよ。

たとえばブラウザを閉じたら破棄されるように
ID(クッキーのこと)を発行すれば、
悪意を持ったプログラムによる
被害も少なく済むと思う。
808デフォルトの名無しさん:2006/03/31(金) 22:32:18
最善の方法は保存しないことだ
809デフォルトの名無しさん:2006/03/32(土) 00:59:36
最善の方法はパソコンを使わないことだ
810デフォルトの名無しさん:2006/03/32(土) 18:20:26
質問です。

window.addEventListener("load", listner, true);
でページ読み込み完了時にlistnerの処理を行いたいのですが、どうもこれだとレンダリング
まで待たないらしく、一瞬でlistnerの処理を行ってしまいます。
レンダリングまで待機するにはどうすればいいんでしょうか?
811デフォルトの名無しさん:2006/03/32(土) 19:12:48
具体的に何をしたいのかにもよると思うけど

function listener(aEvent) {
if (!(なんか条件)) {
window.setTimeout(arguments.callee, 100, aEvent);
return;
}
本来の処理
}

とかそんな感じ?
812810:2006/03/32(土) 20:02:57
ええと、特定URLの?id=というリクエスト変数を1ずつインクリメントしながらアクセス
していきたいんですが、

for(i=1; i <= maxUserID; i++)
{
jumpURL = 'http://example.com/?id='+i;
window._content.document.location=jumpURL;

contentArea.addEventListener('load', listener, false);
}

function listener()
{
contentArea.removeEventListener('load', listener, false);
}

これだと目にもとまらぬ早さで次々とページが切り替わっていってしまい、ほぼDOS攻撃
状態になってしまいます。

んー、なんかもしかして俺、とんでもない勘違いしてる?

813デフォルトの名無しさん:2006/03/32(土) 20:47:04
forループでやれば当然そうなる罠。
読み込み終わった時点で次のリクエストを発行しないと。

var base = 'http://example.com/?id=';
var currentUserID = 1;

function listener() {
window._content.document.location = base+currentUserID;
currentUserID++;

if (currentUserID > maxUserID) contentArea.removeEventListener('load', listener, false);
}

contentArea.addEventListener('load', listener, false);
814デフォルトの名無しさん:2006/03/32(土) 21:13:28
こんなんやってみましたが駄目でした……。
ページが読み込まれないです。

function connect(maxUserID)
{
var contentArea = document.getElementById("appcontent");

var base = 'http://example.com/?id=';
var currentUserID = 1;

contentArea.addEventListener('load', listener, true);
}

function listener()
{
currentUserID++;
window._content.document.location = base + currentUserID;

if(currentUserID > maxUserID)
{
contentArea.removeEventListener("load", listener, true);
alert('complete!');
}
}
815デフォルトの名無しさん:2006/03/32(土) 21:20:32
あ、>>814>>810です。すいません。
816デフォルトの名無しさん:2006/03/32(土) 22:07:26
変数のスコープとかJavaScriptの勉強をするといいと思うよ。

function connect(maxUserID)
{
var contentArea = document.getElementById("appcontent");

var base = 'http://example.com/?id=';
var currentUserID = 1;

var listener = function()
{
currentUserID++;
window._content.document.location = base + currentUserID;

if(currentUserID > maxUserID)
{
contentArea.removeEventListener("load", listener, true);
alert('complete!');
}
}

contentArea.addEventListener('load', listener, true);
}

817デフォルトの名無しさん:2006/03/32(土) 22:09:50
最後の部分、

contentArea.addEventListener('load', listener, true);
listener();
}

だった。
最初の1回は自分で読み込まないといかんね。すまん。
818810:2006/03/32(土) 22:27:25
あ、そういうことか、お恥ずかしい……
できました。どうもありがとうございます。
819デフォルトの名無しさん:2006/04/02(日) 05:12:31
やっとxulplanetが復活したか・・・。長かった・・・。
820デフォルトの名無しさん:2006/04/02(日) 06:26:31
何言ってるかさっぱりわかんね
821デフォルトの名無しさん:2006/04/02(日) 17:59:43
めずらしくXULの話してるな
822デフォルトの名無しさん:2006/04/02(日) 18:48:59
XULじゃなくてJavaScriptの話だと思う
XULってXMLベースのUI記述するやつのことでしょ?
823デフォルトの名無しさん:2006/04/02(日) 20:28:46
readでテキストの読み出し
WriteTo関数でテキストの書き出しが出来るけど
Cのfile( *fp, "a" )
に相当するような、テキストファイルの「追記」とかできないかな…
なにかのログの保存の時、放置しているウチに記録が溜まってファイルサイズが10Mとか越えたとき怖いんだけど。
824デフォルトの名無しさん:2006/04/02(日) 20:40:00
>>823
nsIFileOutputStream.init の ioFlags に PR_APPEND(0x10)
http://lxr.mozilla.org/seamonkey/source/nsprpub/pr/include/prio.h#586
825デフォルトの名無しさん:2006/04/02(日) 20:51:14
>>822
調べれ
826デフォルトの名無しさん:2006/04/02(日) 22:21:52
>>802
なるほど。たとえば、証明書ダイアログを呼び出したい、とかです。
browser.xul の window インスタンスに対して呼べばよさそうですね。

>>799
自分の知ってる知識だと、グローバル変数は window インスタンスの変数だったかな。
要するにマルチウインドウが前提になっている部分においては
グローバルじゃないってことですね。
827デフォルトの名無しさん:2006/04/02(日) 22:50:28
>>825
調べれってことは漏れの解釈が間違ってるということか?
XULPlanetのWhat is XUL?を読む限りは漏れの解釈で間違ってないはずだが
828デフォルトの名無しさん:2006/04/02(日) 23:42:11
tooltipで改行を入れたいんですが\nを入れても改行できません!
829デフォルトの名無しさん:2006/04/02(日) 23:56:54
>824
サンキュ、今から試すけど、ほぼ目処が立ったです
prio.hがなんたらとかxulPlanetのnsFileにあったけど、コレなんですね
830デフォルトの名無しさん:2006/04/07(金) 00:41:32
bookmarks_history.sqliteの中身を覗きたいのですが、
sqlite.exeを使ってコマンドラインからsqlite bookmarks_history.sqliteとしても、それはデータベースではない、と怒られてしまいます。
誰か解決法をご存じないですか?
831デフォルトの名無しさん:2006/04/07(金) 00:45:42
>>830
sqlite3.exeのほうで
832デフォルトの名無しさん:2006/04/17(月) 14:20:41
Creating XPCOM Componentsを読み終わったんで少しいじり始めた所
なんだけど、一つ質問させてくれ。
MOZILLA_STRICT_APIをプリプロセッサで定義するように書いてあるよね?
これをやるとnsCOMPtr.hなしじゃnsISupportsUtils.hが読み飛ばされてしまって
NS_DECL_ISUPPORTSが使えなくなってしまうような気がするんだ。
サンプルのWeblockだと全部一つのソースにまとめて書いてあるから
問題ないんだろうけど、これって何とかならないのかな?
「#ifndef MOZILLA_STRICT_API」があるヘッダーを使うときだけ、その前後で
定義して解除するようにするのが正解なんだろうか?
833デフォルトの名無しさん:2006/04/18(火) 12:21:46
nsCOMPtr.hを外すなら、nsISupportsUtils.hなんていらんだろう。

そもそも、サポート系マクロは正式な"API"じゃない、ってことなんだから。
まあ、読みやすいのは確かだが。

私自身はマクロ派だけど、自分で書くソース(=Mozillaのソースに入ってない部分)は
その手のマクロを使うべきじゃない、っていう意見もあって、
XPCOMのドキュメントも一部そういう論調で書かれている。
834デフォルトの名無しさん:2006/04/18(火) 18:35:13
FirefoxでXMLRPCを使う時って、どうすればいいですか?
835デフォルトの名無しさん:2006/04/18(火) 21:50:11
>>833
そうだったのか。楽すんなって言われても結構辛いなぁ。
実装クラスをヘッダーとソースに別けて書くときに、メンバにnsCOMPtrが無いのに
nsCOMPtr.hをヘッダーでインクルードしないといけないのが気持ち悪くてしょうがない。

今WebLock作ってるんだけど、SDKにnsIContentPolicy.hが無いorz
ググルさんに聞いたらlxrからidlだけ引っ張ってきてxpidlでヘッダーを
作ってる人がいたようだけれど、Firefox1.07ビルドした時に出来た
/mozilla/dist/include/content/nsIContentPolicy.hを
使ってしまっていいのかな?
836デフォルトの名無しさん:2006/04/18(火) 23:23:56
>>835
それは、悩み方がおかしい。

nsISupportsUtils.hの中身を使うなら、
#include "nsCOMPtr.h"
とせずに、
#include "nsISupportsUtils.h"
にすればいいんじゃないかな。

厳密にいうとAPIじゃないというココロを理解していたら、
あとは堂々と使うだけ、でしょ?
現に必要なんだから、紛らわしくもなんともないし。
837デフォルトの名無しさん:2006/04/18(火) 23:33:17
> nsIContentPolicy.h

現行は1.0.xのころと全く違うテーブル管理やってるから、
ヘッダファイル自体がビルド時に弾かれるけど、
同じバージョンのSDKとソースならOK。

そもそも、Gecko SDKってビルド時に出来たファイルから、
仕様が固まってる部分を寄せ集めただけだから。
838デフォルトの名無しさん:2006/04/18(火) 23:46:30
>>834

Components.classes['@mozilla.org/xml-rpc/client;1']
.createInstance(Components.interfaces.nsIXmlRpcClient);
だな。

あとは、
http://www.xulplanet.com/references/xpcomref/ifaces/nsIXmlRpcClient.html
を見ながらガシガシやってればいい。

急に活発になってきて、なんだか嬉しいなぁ。
839デフォルトの名無しさん:2006/04/19(水) 00:23:56
>>836
目からうろこ。nsISupportsUtils.hって勝手に使ってよかったのか。
そこらへんのさじ具合から既にわからなかったよ。サンクス。

>>837
んなアバウトな代物だったのか・・・
840デフォルトの名無しさん:2006/04/19(水) 00:53:27
余談だが、メンテナ不在で、Gecko SDKリリースの最新版は2年近くストップしたままなんだよ、今。

https://bugzilla.mozilla.org/show_bug.cgi?id=321471

技術的にはなんら難しくなくても…orz
841デフォルトの名無しさん:2006/04/19(水) 01:02:31
ソースからビルドすればええんじゃね?
842デフォルトの名無しさん:2006/04/19(水) 01:05:08
>>841
自分はそれでいいが、人に説明する時困る。
843デフォルトの名無しさん:2006/04/19(水) 01:19:24
>>834>>838
1.5 系列だとレスポンスが取得できないことがあるかも
https://bugzilla.mozilla.org/show_bug.cgi?id=197087
trunk だとこれが入ったんで大丈夫だが

components/nsXmlRpcClient.js を http://mozblog.mozdev.org/nsXmlRpcClient.js
と入れ替えると 1.0.x のときははうまくいった。

>>840
http://benjamin.smedbergs.us/blog/2006-03-27/building-the-xulrunner-sdk/
これが進んでくれると嬉しいんだけど、bs 次第かな?
844デフォルトの名無しさん:2006/04/21(金) 00:38:17
久々に弄ろうかと思ってググってみたら、
「XULPlanet 日本語版にようこそ」とか出てきて、和訳されたのかっ! と狂喜乱舞した。

数秒間だけの夢だった orz
845デフォルトの名無しさん:2006/04/21(金) 00:52:20
ぶっちゃけ和訳イラネ。
英語でもきちんと整備されている方が良い。
846デフォルトの名無しさん:2006/04/21(金) 02:59:54
和訳する人と本家に原文を上げる人は、
ほとんど別リソースだろうから関係なかろう。
847デフォルトの名無しさん:2006/04/22(土) 11:40:12
Fx1.5.0.2をビルドしてもgecko-sdk-hoge.zipが出来ないのってデフォ?
/dist/gecko-sdk/もできないし。/dist/sdk/を使っていいのかな?
1.07の時は両方勝手に出来た記憶があるんだけどなぁ。
848デフォルトの名無しさん:2006/04/22(土) 11:47:45
連投スマソ。Fxのzipパッケージも
Stripping package directory...
でエラーになって作れないOTL。これのせいかな。
849デフォルトの名無しさん:2006/04/22(土) 14:58:07
みんなどうやって開発してるの?
メモ帳?
850デフォルトの名無しさん:2006/04/22(土) 16:04:25
メモ帳ってUTF-8いけるんだっけ?
851デフォルトの名無しさん:2006/04/22(土) 16:08:20
いける。
852デフォルトの名無しさん:2006/04/23(日) 00:33:07
ぶっちゃけ置換が使えたらなんでもいい。

他の人と協力してやるなら、タブなし改行LFで揃えておくのが
Mozilla周辺のスタンダードだけど。
853デフォルトの名無しさん:2006/04/23(日) 13:44:22
>>847
> /dist/sdk/
がgecko-sdkです。
854デフォルトの名無しさん:2006/04/23(日) 14:42:00
dist/sdkは非凍結済みのも入ってるよ
855デフォルトの名無しさん:2006/05/05(金) 18:18:06
C++ で XPCOM を作ろうと思っています。
しかし、xpidl でヘッダーファイルを作ろうとすると、
「問題が発生したため、xpidl.exe を終了します。」と言われてしまいます。
プロパティやメソッドを空にした場合や、タイプライブラリは問題なく作れます。
原因や解決法をご存知の方がいらっしゃいましたら教えてください。
856デフォルトの名無しさん:2006/05/05(金) 22:06:22
manifestファイルがないとかそれ系じゃないの?
857デフォルトの名無しさん:2006/05/10(水) 12:45:43
>>855
バージョンと、実際に使った引数を晒さないと、なんとも言えないな。
858デフォルトの名無しさん:2006/05/12(金) 00:05:43
使った xpidl.exe は以下から落としたものです。
ttp://ftp.mozilla.org/pub/mozilla.org/mozilla/nightly/latest-1.7/gecko-sdk-i586-pc-msvc.zip

作った idl ファイルは以下の通りです。
#include "nsISupports.idl"

[scriptable, uuid(00A5D3B1-3129-44dc-91AB-D1753CFCD300)]
interface hoge : nsISupports
{
    long Add(in long a, in long b);
};

xpidl -m header -w -I "C:\gecko-sdk\idl" hoge.idl
と入力して実行するとエラーになります。

long Add(in long a, in long b);
がない場合や、-m typelib や -m doc はうまくいきます。
859デフォルトの名無しさん:2006/05/12(金) 03:34:38
>>858
set GECKO_SDK=C:\gecko-sdk
%GECKO_SDK%\bin\xpidl -m header -w -I %GECKO_SDK%\idl hoge.idl
これで普通に作成されたよ。 SDKをダウンロードしなおしてみたら?
860デフォルトの名無しさん:2006/05/12(金) 18:31:59
cacheにアクセスするにはどうしたらよいのでしょうか?
861デフォルトの名無しさん:2006/05/12(金) 22:24:49
ソース読め
862デフォルトの名無しさん:2006/05/13(土) 02:08:31
彼氏の作り方を教えてください。
863デフォルトの名無しさん:2006/05/13(土) 04:59:04
Firefoxのプラグインを作りたいのですが、何を学べばよいのでしょうか?
864デフォルトの名無しさん:2006/05/13(土) 09:20:26
865デフォルトの名無しさん:2006/05/18(木) 11:30:51
>>862
俺にメール
866デフォルトの名無しさん:2006/05/18(木) 23:32:13
>>865
失礼ですが、あなたはイケメンのアグリゲーションインタフェースでしょうか?
867デフォルトの名無しさん:2006/05/19(金) 12:50:35
イケメンかどうかは知らんがアーキテクチャはシングルスレッドモデルです
868デフォルトの名無しさん:2006/05/20(土) 23:20:03
Firefoxの拡張でメーラみたいな3ペインは実現できない?
bbs2chreaderでもやってないからできないのかな。
869デフォルトの名無しさん:2006/05/20(土) 23:40:46
ScrapBookがサイドバー込みで3ペインを実現してるけど
そういう話じゃなくて?
870デフォルトの名無しさん:2006/05/21(日) 01:20:59
サイドバー+ブラウザタブで3ペイン可能だよ
多分サイドバーに板ツリー、ブラウザタブ内に上下2分割でスレリストとスレの内容、ということを想定しているんだろうけど、個人的にはいらないや。
871デフォルトの名無しさん:2006/05/21(日) 03:29:00
ペインの数の増減や内容の割り当てを変更などが、拡張で可能なのだろうか。
とりあえず、Ez Sidebar が別ウィンドウに分離してるけど。

>>868
ちと話はズレるけど、RSS Reader Panel が、そういった計画を持ってた記憶があるから、
flyson 氏も、気にはしてるのではないのだろうか。
ちなみに、別の物で3ペインにしている 2ch ブラウザのスライドみたいのを見た記憶もある。
872デフォルトの名無しさん:2006/05/21(日) 07:34:11
3ペインなんてbbs2ch:board-3pein:http://*/に対応すれば簡単なはず
ただタブ関係が拡張との兼ね合いでややこしい事になるのでMoz2chの方は随分苦労してたっぽいね。
873f ◆8ewPbovXwQ :2006/05/21(日) 13:27:27
3ペインは、コンテントホルダー参考にすればできるよ。
http://piro.sakura.ne.jp/xul/_contentholder.html

bbs2chreader や RSS Reader Panel でやらないのは、3ペインて画面狭くなるし
ごちゃごちゃするので嫌いだから。
3ペイン式の 2chブラウザ使ってる人ってあの小さなペインでスレみてるの?
874デフォルトの名無しさん:2006/05/21(日) 14:17:36
>>873
定期巡回で過疎スレばかり見るような場合だと、1スレあたり多くても数レスしか見ないから狭くてもいい。
次々に別のスレッドを開くからスレッド一覧の方にはすぐにアクセスしたい。
875デフォルトの名無しさん:2006/05/21(日) 16:15:46
3ペインは要らない。むしろサイドバーにスレ一覧の方がいい
876デフォルトの名無しさん:2006/05/21(日) 17:53:48
専用スレでやれ
877デフォルトの名無しさん:2006/05/22(月) 04:35:54
navi2ch みたく、ワンストロークで一瞬でペイン数が切り替えられれば最高だけど。
878デフォルトの名無しさん:2006/06/04(日) 10:11:14
XAML を Firefox や Safari など異なるプラットフォームでも動かす WPF/E のデモを今更見た。
XULはGeckoでしか動かないし、IEやSafariやOperaで動かす見通しも全く立ってない(はず)のに、
XAMLはもうIE5.5/Fx/Opera/Safariでの動作を実現してる。

しかもオーサリングツールまで完備。それが3月の時点でデモできてる。
圧倒的じゃないか、Microsoftの技術力と体力は!

XUL終わったね。
かぶる部分はあれどどこかしらお互いカバーしきれない部分はあってそこで並立してくのかな?
と思ってたけど、XAMLは完全にXULを包含したね。
879デフォルトの名無しさん:2006/06/04(日) 16:00:07
へえ。そう。
880デフォルトの名無しさん:2006/06/04(日) 18:33:31
それはよかったね。
881デフォルトの名無しさん:2006/06/04(日) 18:54:15
XAMLてLinuxで動いたっけ?
882デフォルトの名無しさん:2006/06/04(日) 19:25:14
うん。
883デフォルトの名無しさん:2006/06/04(日) 19:25:38
一応、Linuxでもプラグインという形でサポートされる模様。
http://www.2fc.net/tabid/83/EntryID/16/Default.aspx
MS純正というけど、Monoとか使うんじゃないのかな。
884デフォルトの名無しさん:2006/06/04(日) 23:27:17
>878
転載元をちゃんと書けよ、と釣られてみる。
885デフォルトの名無しさん:2006/06/05(月) 19:25:40
結論:XULオワタ
886デフォルトの名無しさん:2006/06/05(月) 19:37:46
なんでいまさらXAMLの話で盛り上がってんの?
887デフォルトの名無しさん:2006/06/05(月) 20:38:49
ttp://japan.cnet.com/news/ent/story/0,2000056022,20099027,00.htm
> Wallent氏によると、MicrosoftはLinuxに対応するWPF/Eは用意しないという。
888デフォルトの名無しさん:2006/06/06(火) 00:00:22
結論:Linuxオワタ
889デフォルトの名無しさん:2006/06/06(火) 00:13:15
OpenGL叩きが出来なくなった糞窓厨が暴れてるんだろ。
こういうのはスルーしとけ。
890デフォルトの名無しさん:2006/06/07(水) 20:10:40
proxybarをProgram FilesではなくApplication Data配下にインストールしたいんだがどうすればいい?
作者、見てたら直してくれ!!

http://toshiki.s22.xrea.com/xul/
891デフォルトの名無しさん:2006/06/08(木) 12:56:39
>>890
こんなとこに書かないでメールしろよ…
892デフォルトの名無しさん:2006/06/08(木) 19:27:56
>>889
何故そこでOpenGL?
893デフォルトの名無しさん:2006/06/08(木) 21:34:13
Google作の拡張を覗いてみるとjsのソースがやたら見づらくなってるんだけど、わざとなのかな。
894デフォルトの名無しさん:2006/06/09(金) 01:15:22
見てないが、Googleが書くjavascriptってのは一般にロードされる回数が
ハンパじゃないから帯域節約のためじゃないの? HTMLとかもそうだし。
そのコード or 流儀をそのまま拡張にも使っているだけとかじゃないかな。
みづらいだけなら適当な整形かませばいいじゃん。
わざとやるなら暗号化した文字列を復号してevalくらいやるんじゃね。遅そうだけど。
895デフォルトの名無しさん:2006/06/14(水) 19:53:29
FirefoxのIrvine拡張をいじって、HTMLの中のfilelistという名前のついたformにかかれてる
ファイル名をIrvineに送ろうと思ってるんだけれども、

var fn = document.popupNode.ownerDocument.filelist;

とやっても、このformの要素を読み出せないのはなんででしょう?
Javascript Debuggerからは、 irvine.jsにブレークポイント張って、止まったところで
document.popupNode.ownerDocument.filelistをヲチするとばっちりみえるんだけども・・・
896デフォルトの名無しさん:2006/06/17(土) 19:04:23
popupNodeがnullなんじゃね?
897デフォルトの名無しさん:2006/06/17(土) 22:41:38
ファイルを削除せずにOSのごみ箱へ送ることはできますか?
898デフォルトの名無しさん:2006/06/21(水) 14:41:23
くだらない電卓とか、しょぼいアプリしか作れないのに
わざわざプログラムする意味あるの?
899デフォルトの名無しさん:2006/06/21(水) 17:58:53
( ´∀`)σ)∀`)
900デフォルトの名無しさん:2006/06/21(水) 21:37:55
>>898

だね。キミの実力だとね。
901デフォルトの名無しさん:2006/07/04(火) 22:24:17
OpenSUSE10.1をインストールしてびっくりしたんだが、
YaSTって、XULRunner入ってるんだよね…

で、何がすごいかって、mozilla.orgがリリースしていない1.8.0.x系の
Gecko SDKが半自動でインストールできる…
しかも、インターフェイスはfrozenなやつだけじゃなくて、1.8.0.x
(今なら1.8.0.4)に使ってる奴が全て使用可能。

今、Mozilla系を開発するのに、で最も恵まれてる環境はSUSEで間違いないな。
Debianとの落差がすごい…。
902デフォルトの名無しさん:2006/07/08(土) 02:01:29
903デフォルトの名無しさん:2006/07/08(土) 18:41:34
自作したXPCOMコンポーネントから呼び出し元の
Javascript中にある関数を呼び出す方法ってある?
言い換えるならコールバック関数を登録するようなモデルの実装法を聞きたい。
904デフォルトの名無しさん:2006/07/08(土) 23:44:43
イベントリスナの登録とかその辺の処理をパクってみてはどうだろう
905デフォルトの名無しさん:2006/07/09(日) 08:24:34
>>903
適当なリスナインターフェイスを XPIDL で作って JavaScript 側で実装したらどう?
XPCOM も JavaScript なら wrappedJSObject を使うのもいいかもね。
906デフォルトの名無しさん:2006/07/10(月) 23:25:50
>>905
よほど特別な事情がある場合以外はnsIObserverにすべき。
907デフォルトの名無しさん:2006/07/15(土) 10:03:40
遅くなってしまった。
>>904
あれ追跡しようもんなら6ヶ月計画になる悪寒が・・・

>>905-906
まだあまり試せてないけどそこら辺のキーワードでググったら
それっぽいことが書いてあったよ。休みに突入したらやってみる。
908デフォルトの名無しさん:2006/07/19(水) 18:31:09
XULの開発環境作ったら寄付する。
909デフォルトの名無しさん:2006/07/20(木) 18:46:35
>>908
使いやすいIDE最初から作るの大変だよ

むしろeclipseでXULプラグイン(>>611,612,632)入れてみてwikiに使い方書くとか
http://eclipsewiki.net/eclipse/?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3#l73ffce8

開発意欲モリモリで「それじゃ満足できねー」ならnetbeans用XULプラグイン作るとか
910デフォルトの名無しさん:2006/07/20(木) 19:41:09
なんでjava系に話がいくのかな。
どうせならXULRunnerアプリにすればいいのに。

いや、言ってみただけだよ。
本気にすんな。
911デフォルトの名無しさん:2006/07/20(木) 19:49:56
XULアプリに特化したNvuみたいなのが欲しいのか?
912デフォルトの名無しさん:2006/07/20(木) 23:52:49
XULやJavaScriptだけなら普通のエディタでも十分作れる。
でも、XBLはちょっと苦しいな。
913デフォルトの名無しさん:2006/07/21(金) 00:08:28
>>909 thx.正直Ctrl+Fの力が足りなかった。すまん。
914デフォルトの名無しさん:2006/07/21(金) 06:23:29
このスレに強いCtrl+Fを感じる
915デフォルトの名無しさん:2006/07/21(金) 08:50:27
そのような発言に畏怖を覚える
916デフォルトの名無しさん:2006/07/21(金) 15:33:23
if覚えたー!
917デフォルトの名無しさん:2006/07/21(金) 16:26:17
>>913さんのCtrl+Fが消えた!!
918デフォルトの名無しさん:2006/08/20(日) 03:43:27
nsIConsoleServiceでJSコンソールの「エラー」にメッセージを出力させることはできませんか?
919デフォルトの名無しさん:2006/08/20(日) 08:27:44
これは?
Components.classes["@mozilla.org/consoleservice;1"]
.getService(Components.interfaces.nsIConsoleService)
.logStringMessage("メッセージ");
920デフォルトの名無しさん:2006/08/20(日) 11:30:17
それですと、メッセージのタブに出ますよね。
エラーのタブに出したいのです。
921デフォルトの名無しさん:2006/08/20(日) 11:39:46
nsIScriptErrorも使うといいらしい
http://developer.mozilla.org/en/docs/nsIConsoleService
922デフォルトの名無しさん:2006/08/20(日) 22:07:36
>>921
その方法でできました!
ありがとうございました。
923デフォルトの名無しさん:2006/08/26(土) 05:06:32
http://www.axissoft.co.jp/biz/bizbd/index.html
こんな感じで、FEP(IME)を制御したいんだけど、
なんとかなんないの?

ようは、ある特定の入力欄にフォーカスをあわせると、
強制的にFEPがONになって、しかも、全角ひらがなオンリーになっている、、
みたいな機能。

逆に、自作するならするで、なんか、参考になるExtensionある?
924デフォルトの名無しさん:2006/08/27(日) 15:25:17
つーかサンプルとかによく出てくるgBrowserとかmTabとかが何なのか良く分かりません!

ググってもGoogle製ブラウザのウワサしか出てこないし…
925924:2006/08/27(日) 17:01:23
自己解決しました。


つーかみんなドキュメントないのにすごいなあ。
926デフォルトの名無しさん:2006/08/27(日) 17:03:08
ソースコードがドキュメントです。
927デフォルトの名無しさん:2006/08/27(日) 17:45:31
>>923
WindowsならC++XPCOMからWinAPI叩いてやればできるんじゃね
928デフォルトの名無しさん:2006/08/27(日) 21:48:13
Webアプリで、HTMLのかわりにXULを使おうと思っているんですけど、
<form>や<input type="submit">のような感じでは使えず、
XmlHttpRequestを使うことになるのでしょうか。
XmlHttpRequestは便利なのですが、URLを切り替える方法がわからないので、
<form>や<input>のようには使えず、困っています。
なお<html:form>や<html:input>も使えるようですが、こうすると
HTMLと同じになってXULの利点がなくなるので、あくまでXULのままで
できる方法を教えてください。
よろしくお願いします。
929デフォルトの名無しさん:2006/08/29(火) 05:26:57
>>928
そこでXFormsですよ!
930デフォルトの名無しさん:2006/08/29(火) 13:25:08
<menuitem id="XXXX" label="YYYYYY" accesskey="W" oncommand="ZZZZZ()" image="chrome://ext-name/skin/rc.png" class="menuitem-iconic"/>
でメニューアイテムに画像が張られないんだけど、
パスが間違ってるのかなあ…
931デフォルトの名無しさん:2006/08/29(火) 19:04:38
>>930
それは確かダメで、代わりにCSS使えばいけるんじゃない?

menuitem#XXXX {
  list-style-image: url(chrome://ext-name/skin/rc.png)
}
932930:2006/08/30(水) 08:39:31
skinフォルダにcontents.rdf置いて、image属性をsrc属性に書き換えたら出来たです。
自己解決すまそ。
933デフォルトの名無しさん:2006/08/31(木) 04:04:10
すいません、一日悩みとおしたので相談します。
任意のURLの子ウィンドウを、内容を書き換えた上で開きたいんですけど、

aWin = window.open('http://www.hoge.com', '_blank', 'options');
aWin.addEventListener('load',aWin_rewrite, true);

としてもaWin_rewrite関数が呼び出されません。何故でしょうか。

(色々試しているとたまに呼ばれるんですが、再現性は低いのでよくわかりません)
934デフォルトの名無しさん:2006/08/31(木) 21:28:15
XULではなくJavaScriptの質問スレへどうぞ。
935デフォルトの名無しさん:2006/09/03(日) 13:03:38
ツールバーボタンがツールバー上に設置されてるかどうかの判別はどうすれば良いんでしょうか?
起動時に確認したいのですが・・・
936デフォルトの名無しさん:2006/09/03(日) 18:29:03
>>935
ウィンドウのロード時にそのウィンドウについてdocument.getElementById("ボタンのID")を
チェックすりゃいいんじゃなかろうか。
937デフォルトの名無しさん:2006/09/03(日) 19:26:33
自作のXPCOMをnew演算子でサクッとオブジェクト生成する方法ってありますか?
938デフォルトの名無しさん:2006/09/03(日) 21:32:42
ラッパオブジェクトを作れば?
939デフォルトの名無しさん:2006/09/04(月) 01:33:58
>>936
d
まさにその通りっすね・・・かなりテンパってた・・・
940デフォルトの名無しさん:2006/09/05(火) 17:57:37
XPCOM使って,ソケット通信のクライアントをつくっています.
XULPLANETのコードをそのまま使って動作させたのですが,どうにも上手く動きません.
クライアントからサーバへのデータの送信は上手くいくのですが,
どうやらサーバからクライアントへのコールバックが上手くいってないようです.
誰か,解決法を知っていらっしゃる方がいましたら,ぜひ教えてください.

XULPLANET(ソケットのチュートリアル)〜問題のコードはページの後半にあります.
http://www.xulplanet.com/tutorials/mozsdk/sockets.php
941940:2006/09/07(木) 14:51:50
お騒がせしました.解決しました.
サーバ側でreadLineメソッドで読み込んいたのですが,
クライアント側で改行コードを入れておらず,反応していなかったようです.
942923:2006/09/08(金) 17:04:06
>>927
亀レス失礼・・・。

その、
「C++XPCOMからWinAPI叩く」方法がわからんわけですよ。
さらに、この場合、INPUT Form に新しい属性を作り、
その属性が、XPCOMに伝わらないとだめなんですが、
そのあたりのコーディングとか。

グッドサンプル、プリーズ!。
943デフォルトの名無しさん:2006/09/10(日) 18:52:18
>>942
開発環境は整っているのか?
びるずらを参考に VC++ 2005 Express Edition で
mozilla をビルドすれば、環境は整う。
話はそれからです。
944デフォルトの名無しさん:2006/09/10(日) 20:08:15
え?MozillaってVC++依存なのか!
945デフォルトの名無しさん:2006/09/11(月) 15:11:03
ttp://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/sdk/
gecko-sdk-win32-msvc-1.8.0.4.zip 12-Jul-2006 09:40

うーむ・・・まあ、以前よりはましだけども・・・
946デフォルトの名無しさん:2006/09/25(月) 22:56:06
自分でビルドすれば
947デフォルトの名無しさん:2006/09/26(火) 08:22:18
>>944
MinGWでもビルドできるはずだけどそれなりに苦労すると思う
948デフォルトの名無しさん:2006/10/02(月) 21:19:43
ようやくFx1.5でWebLockできた・・・・・・
試行錯誤しているうちに知識が付いたんだか付かなかったんだかよくわからんね。
949デフォルトの名無しさん:2006/10/03(火) 00:09:12
おめっとさん
950デフォルトの名無しさん:2006/10/18(水) 00:06:42
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
ひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさんひよこ名無しさん
951デフォルトの名無しさん:2006/10/19(木) 23:06:43
Cybozu Developer Network: XUL 調査報告 〜リマインダー開発〜
http://cydn.cybozu.co.jp/2006/10/xul.html#more
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
954デフォルトの名無しさん:2006/10/23(月) 21:58:21
2.0で全滅キター!
955デフォルトの名無しさん:2006/10/23(月) 23:08:49
>>952
それ危険すぎ
956デフォルトの名無しさん:2006/10/23(月) 23:39:21
>>953
おお、まさにそれでした。
>>955
危険だけど、それを承知でやる分にゃいいんじゃないかな。
拡張機能の危険性とかを知らずにポンポンインストールするほうがよっぽど危険かと。
957デフォルトの名無しさん:2006/10/24(火) 01:10:41
世間には、ダウンロードしたexeを実行する奴も居る位だしな。
958デフォルトの名無しさん:2006/10/24(火) 07:28:17
何億人もいるよ
959デフォルトの名無しさん:2006/10/24(火) 22:32:43
>>957
それしなきゃ何もできん
960デフォルトの名無しさん:2006/10/28(土) 17:01:03
あれ? event.button の値が取れないんですけど...
WinXP Firrefox2.0
警告: reference to undefined property e.button
961デフォルトの名無しさん:2006/10/30(月) 17:45:31
イベントタイプは何?
マウス関係のイベントじゃなかったら取れないよ
962デフォルトの名無しさん:2006/10/30(月) 21:00:47
なんか解ったような気がする
コンテキストメニューからだと event.button はセットされない
てことかな
やり始めたはいいけど解んないことだらけだ、くじけそう
963デフォルトの名無しさん:2006/10/30(月) 21:10:39
ああ違った...
oncommand じゃダメで onclick ならOKてことか
964デフォルトの名無しさん:2006/11/07(火) 20:26:26
「ブックマーク」みたいにメニューのボタン押したらツールが現れるのってどうやったらいいの?
965デフォルトの名無しさん:2006/11/10(金) 05:04:51
popup
966デフォルトの名無しさん:2006/11/12(日) 22:21:53
>>965
マージポイントは?
ゴメン俺教えて君だな。
967デフォルトの名無しさん:2006/11/16(木) 06:08:07
XULで、Webアプリではなくスタンドアローンのアプリをつくたいと考えています。
application.xulという単体ファイルで、データを入力してCSVで保存するようなアプリケーションです。
で質問ですが、スタンドアローンのアプリの場合、ローカルファイルの読み書きはできますか。
できればC++とか使うのなしで。
ファイル選択ダイアログとかもあれば教えてください。
968デフォルトの名無しさん:2006/11/16(木) 06:19:20
Firefoxができてることは大抵、JSだけでできるよ。
ファイルの読み書きもファイル選択も。
とりあえずXUL Planetのチュートリアルあたりから
実際に試してみてはどうかな。
969デフォルトの名無しさん:2006/11/16(木) 20:29:02
970969:2006/11/16(木) 21:01:12
補足
XPCOM を示したのは、C++で書けといっているのではなく
チュートリアルで、XPCOM の呼び出し方の基本を覚えてから、

http://xulplanet.com/references/xpcomref/

あたりで、使えそうなインターフェイスを探すといいよ。ていう意味です。
念のため。
971デフォルトの名無しさん:2006/11/16(木) 22:49:17
Mozillaってブラウザである同時に開発環境なんですねっ!
小生は今モーレツに感動していますっ!
972デフォルトの名無しさん:2006/11/16(木) 23:14:39
コンパクト、カスタマイズ性を謳っているFirefoxですが
SeaMonkeyと比較するとFirefoxのほうがページの読み込みが遅いです。

ソースコードが複雑になっていたことや重量化していたMozillaを
きっかけとしてFirefoxが生まれたと記憶してますが
1.5も2.0もTrunkも新規プロファイルで試していますが
UIやページの速度が上がっているとは感じられません。
拡張やテーマの量は豊富だと思いますが
なぜきっかけであったSeamonkeyにパフォーマンスで負けてるんでしょうか・・・。
973デフォルトの名無しさん:2006/11/17(金) 10:57:16
ここで言われても・・・
974デフォルトの名無しさん:2006/11/17(金) 15:46:27
>>972 はあちこちに貼りましたが・・・。
975デフォルトの名無しさん:2006/11/18(土) 00:06:32
XPCOMからchromeにアクセスできないものか。
976デフォルトの名無しさん:2006/11/18(土) 11:52:35
>>974
マルチ氏ね
977デフォルトの名無しさん:2006/11/18(土) 17:01:14
ワロタ
978デフォルトの名無しさん :2006/11/22(水) 02:17:00
携帯風アプリをXULで実現するための構造を考えています。
簡単な例として、次の2つの画面を別々のxulでpageタグで
定義し、それをwindow内のbrowserでロードしています。

【画面1】
件名 [ textbox(readonly) ]
+------------------------+
| textbox(readonly)   |
|            |
|            |
+------------------------+

【画面2】
+------------------------+
|     件名     |
+------------------------+
| textbox        |
|            |
+------------------------+
979978:2006/11/22(水) 02:19:14
画面1の件名のtextboxでのEnterキー入力で画面2に遷移
する場合は、C++コンポーネントのstatic変数を介して、
画面2のtextboxに文字列を設定することができました。
(もっといい方法があるかもしれませんが…)

次に、画面2のtextbox上でのEnterキー入力で、history.
back()で画面1に戻るようにしたいのですが、画面1の
textboxに反映させる方法が分かりません。

deckやwizardを使えば何とかなるかもしれませんが、実際の
画面遷移はより複雑なので、browserが適切なのではないかと
考えました。
適切なアドバイスをいただけると助かります。
980デフォルトの名無しさん:2006/11/22(水) 02:34:05
1つのXULに両方の画面入れて、hidden属性切り替えとかは?
981デフォルトの名無しさん:2006/11/22(水) 06:22:00
history.back()を使わずに、新規に画面1をロードすればいいじゃん
まかりなりにもページ間の値の受け渡しはできてるわけでしょ?
画面1→画面2ができて画面2→画面1ができない道理がない
982デフォルトの名無しさん:2006/11/22(水) 18:49:04
Components.classes["@mozilla.org/observer-service;1"].
 getService(Components.interfaces.nsIObserverService).
  addObserver(this, "http-on-modify-request", false);
でfirefoxのhttpリクエストを取得しているんですけど、リクエストが来た際に
ホスト→IPの変換を行ってIPアドレスでの接続を行ってほしいプログラムを作成しましたが
うまく動かなかったので質問させてください。
----------------------------------------------------------------
 register: function() {
  this.observerService.addObserver(this, "http-on-modify-request", false);
 },
 observe: function(subject, topic, data) {
  if (topic == "http-on-modify-request") {
   subject.QueryInterface(Components.interfaces.nsIHttpChannel);
   this.request(subject);
  }
 },
 request: function(oHttp) {
  if(domainip[oHttp.URI.host]) {
   oHttp.URI.host = domainip[host]; //※
  }
 }
----------------------------------------------------------------
oHttp.URI.hostの値をIPアドレスに変更しても、実際の接続先がドメインのまま
接続していて困っています。
これをIPアドレスでの接続に変更したいのですがいい方法はないでしょうか?
983sage:2006/11/22(水) 22:10:15
nsIChannelには
 r e a d o n l y attribute nsIURI URI;
って書いてあるじゃん。
984978:2006/11/23(木) 02:24:07
アドバイスありがとうございます。

>>980
実際にはもっと多くの画面があるので、できれば
随時読み込みにしたかったのですが、やはりそう
なりますかね。

>>981
新規にロードすると、historyに追加されますし、
画面1を復元するための管理が複雑になってしまうと
考えました。

>>980 案に近いのですが、wizardを使う方向で
考えてみます。
というか、wizardpageのようにpageshowがあれば、
wizardを使わなくても実現できそうなんですが…
985デフォルトの名無しさん:2006/11/23(木) 05:19:40
(^-^)
986981:2006/11/23(木) 08:20:11
そもそもなんでそんなに煩雑になるの?
起動時に情報管理用のオブジェクトを作ればいいだけだと思う
get(key), set(key, value), clear()あたりのAPIがあればOKでそ?
987978:2006/11/23(木) 23:39:33
>>986
最初に書いたtextboxに反映する方法さえあれば、履歴を戻るという発想は
自然ではありませんか?
それが無理だという前提であれば、おっしゃっていることは尤もだと思います。
988986:2006/11/24(金) 05:13:48
無理じゃないかも知んないけれどWebアプリと同様に考えるなら
あまりお勧めじゃないんじゃないか?
単にブラウザにHTMLの代わりにXULを表示しているだけなんでしょ
履歴を戻した時にonloadイベントが起こるなら
そのタイミングでできるかもね

まあそれはそうと>>986のようなものをつくらなくても
XULのブラウザにはこの機能がついてるんだね
あとヒストリーも切ることができるみたいよ
つまり>>984で書いたような懸念は標準機能で解決できそうだが?
989デフォルトの名無しさん:2006/11/24(金) 21:29:03
990デフォルトの名無しさん:2006/11/25(土) 14:48:51
991デフォルトの名無しさん:2006/11/25(土) 17:01:48
ところで次スレの名前ってこのままでいいよね。
テンプレは>>2にMDCとXULPlanetあたり入れとく?
992デフォルトの名無しさん:2006/11/26(日) 21:44:37
いいと思うよ
993デフォルトの名無しさん:2006/11/27(月) 02:12:11
994デフォルトの名無しさん:2006/11/27(月) 02:58:54
ume
995デフォルトの名無しさん:2006/11/27(月) 19:15:36
\e
996デフォルトの名無しさん:2006/11/27(月) 20:01:39
立てました。

Mozillaでプログラミング(XUL) その3
http://pc8.2ch.net/test/read.cgi/tech/1164625238/
997デフォルトの名無しさん:2006/11/27(月) 22:31:20
立てました。

Mozillaでプログラミング(XUL) その3
http://pc8.2ch.net/test/read.cgi/tech/1164625238/
998デフォルトの名無しさん:2006/11/27(月) 22:31:54
立てました。

Mozillaでプログラミング(XUL) その3
http://pc8.2ch.net/test/read.cgi/tech/1164625238/
999デフォルトの名無しさん:2006/11/27(月) 22:32:15
立てました。

Mozillaでプログラミング(XUL) その3
http://pc8.2ch.net/test/read.cgi/tech/1164625238/
1000デフォルトの名無しさん:2006/11/27(月) 22:33:33
立てました。

Mozillaでプログラミング(XUL) その3
http://pc8.2ch.net/test/read.cgi/tech/1164625238/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。