03/09/08 18:59
読んでみた。間違っていたら訂正してくれるとうれしい。
XULというのは、XMLによって記述するGUIフレームである。
XULで記述するのはあくまで配置等の大まかなフレームだけであり、
細かいGUIの設定はCSSを使う。
また何かイベントが起きた場合の動作はJavaScriptによって記述する。
一般に、こうしたXULとCSSとJavaScriptすべてをひっくるめてXULと呼ぶようだ。
長所は
・GUIのクロスプラットフォームであり、Mozillaさえあればどこでも同じように動く。
短所は
・最大シェアを持つIEで動かすことが出来ない→結局ユーザがいない
・プログラムをJavaScriptで書かねばならない→厳しいセキュリティ制限がつく
といったところである。
580:デフォルトの名無しさん
03/09/08 19:13
>プログラムをJavaScriptで書かねばならない→厳しいセキュリティ制限がつく
これは間違い。xpconnectと呼ばれる方法で、C++で書いたバイナリを
javascriptから直接呼ぶことができる。
HD全消去とかは、5行くらいのスクリプトで可能。
スパイウェアなら30行くらいかなぁ。
Mozilla系列はメーラーやエディターもXulで動いてるわけだから、
単純な比較はできんよ。
つっても、メーラーは全く普及してないが。
581:デフォルトの名無しさん
03/09/08 19:52
URLリンク(www-6.ibm.com)
↑これは既出?
582:デフォルトの名無しさん
03/09/08 20:42
既出つーか、英語版の方は聖典扱いだよ。
mozilla.orgからもリンク張られまくりだし、
個人的に、この間出た本より分かりやすいと思う。
ただ、XPCOMは微妙にスレ違いだな。
こっちのスレの方が近いかもしれない。
スレリンク(tech板)l50
583:デフォルトの名無しさん
03/09/08 20:52
>>580
知らなかった。ありがとう。
でも大まかなアウトラインはあってるんだね?
> これは間違い。xpconnectと呼ばれる方法で、C++で書いたバイナリを
> javascriptから直接呼ぶことができる。
> HD全消去とかは、5行くらいのスクリプトで可能。
> スパイウェアなら30行くらいかなぁ。
でもそうするとセキュリティが心配だけど大丈夫なのかな?
インストールがやたら面倒とか?
JavaScriptしか使わないのであれば安心だけどな。
584:デフォルトの名無しさん
03/09/08 21:27
面倒つーか、必ずユーザーがOKを押すインストールが必要。
悪意のあるプログラムは危険って但し書きがでて、
そこさえくぐれば何でもし放題。
そこをくぐらなければ、例えローカルファイルでも、
web上のスクリプトと同じ権限しかない。
>>565でブックマークレットがって嘆いてるのはそのせい。
ブックマークはローカルファイルだけど、
インストールされてないので、出来る事が限られてるから、
XPI(インストール)を使って本格的なのをやろうか、という話。
585:デフォルトの名無しさん
03/09/08 21:46
XPCOMというのもクロスプラットフォームだよね。
586:デフォルトの名無しさん
03/09/08 21:59
XPCOMは呼出規約がクロスプラットフォームでありさえすればいいので、
実装はクロスプラットフォームでなくてもいいんだけどね。
実際にクロスプラットフォームなバイナリは
idlをコンパイルした部分だけだが、それで十分役にたってる。
587:デフォルトの名無しさん
03/09/08 23:20
じゃ、たとえばLinuxだけでしか実装されていないXPCOMを使ってしまったら
ほかのプラットフォームでは動かないということですか?
逆にいうと、XPCOMを作るときクロスプラットフォームを意識するならば、
Mozillaが出ているすべてのプラットフォームで実装する必要があるんですか?
588:デフォルトの名無しさん
03/09/08 23:41
ま、そういうことやね。
でも、普通にC++でコーディングすれば、
プラットフォームの違いを意識する必要はない。
COMのいいところは他のCOMをブラックボックスとして使えるところだから、
プラットフォームの違いがクリティカルになりそうな奴、
(waveoutとか、DCとかファイルアクセスとか型のビット数の違いとか)
は、すでに誰かがやってくれてあるので、
いまさらOSに依存する部分を新たに作る方がしんどいと思う。
例えば、xpcomには3Dを扱うオブジェクトがないので、
direct3Dをそのままwrapしたようなコンポーネントを作れば、
確かに、windowsでしか動かないだろう。
でも、OpenGL+glutとかでcomponentを作れば、
他のプラットフォームは何も考えなくても、
ビルドツールが勝手にコンパイルしてくれるはず。
589:デフォルトの名無しさん
03/09/09 06:38
>>588
色々詳しく説明してくれてありがとう。
ふーむ。感覚がいまいちつかめないので、
こういうときは実際に作ってみるに限るな。
とりあえずmozillaをインストールせねば。
590:デフォルトの名無しさん
03/09/19 16:58
URLリンク(www.linet.gr.jp)
素晴らしい
URLリンク(www.linet.gr.jp)
スクリーンショット URLリンク(www.linet.gr.jp)
素晴らしスギ
591:デフォルトの名無しさん
03/09/20 02:32
>>1
1.0っていつの話だ?
592:591
03/09/20 02:37
去年立ったスレだったYO!!
593:デフォルトの名無しさん
03/09/21 01:28
URLリンク(tkm.s31.xrea.com)
需要があるか激しく疑問であるが。。。
晒してみる。
594:デフォルトの名無しさん
03/09/21 01:29
ageちゃった。
申し訳ない。
595:デフォルトの名無しさん
03/09/21 15:32
>593
む!頂きまつ
596:デフォルトの名無しさん
03/09/21 18:07
>>595
なんだかまっさらなプロファイルにインスコすると落ちちゃうみたい。。。
というわけで最新版落としてくださいです。。。
すみません。
597:age
03/09/21 23:44
age
598:デフォルトの名無しさん
03/09/23 11:56
URLリンク(unstable.elemental.com)
lxrが微妙に進化してる…。
最初はなんの事かよく分からなかったが、
xpcomの親子ツリーを図解したりしてる。
つーか、URLリンク(lxr.mozilla.org)からそこに飛ばされてしまった。
599:デフォルトの名無しさん
03/09/23 12:32
>>598
そこはソースじゃなくてDoxygen後のドキュメントみたいだけど?
600:デフォルトの名無しさん
03/09/23 12:35
string行ったらsun-javaに飛ばされた(苦笑
これいつからあったんだろ?全然知らなかった。飛ばされないし。
まあソース見りゃ済むからいらんのだけどなあ。
601:デフォルトの名無しさん
03/09/23 12:47
nsILocalFileを見に行くと、
ソースの上に継承図がある。
URLリンク(lxr.mozilla.org)
MFCのアレ見たいな感じ。
前回使ったのは1ヶ月ほど前だが、その時にはなかったと思う。
602:デフォルトの名無しさん
03/09/23 13:03
>>601
うぉっ!ほんまや。そういうことやったんか。ありがとう。
俺毎日見てるけど気付かなかった。
603:デフォルトの名無しさん
03/09/24 02:33
>>598
URLリンク(unstable.elemental.com) は俺の知る限り2年前にはもうあった。
以前は lxr 各ソースの上のほうにリンクがあっただけだったんだが、
ずーーーーーっとリンク切れしてた。
単に doxygen しただけのもんだけど、
URLリンク(unstable.elemental.com)
みたいなプロパティの継承関係とかソースだけだとわかりにくかったんで便利だったよ。
ちなみに mozilla ビルドすると
URLリンク(lxr.mozilla.org)
の doxgen.cfg 使って自前でも作れるけどね。
604:デフォルトの名無しさん
03/10/02 17:46
prefbarみたいにボタンをボコスカ追加できるのを、firebird用に作ってみた。
URLリンク(cgi29.plala.or.jp)
スクリーンショット。
URLリンク(cgi29.plala.or.jp)
605:デフォルトの名無しさん
03/10/02 18:38
>>604
(*゚∀゚)=3
Toolbar Enhancementsで縦置きツールバー使ってるんで、
縦に並べられるようにできませんか?
606:デフォルトの名無しさん
03/10/02 18:51
>>605
userChrome.cssで、
toolbar > toolbaritem.toolbaritem-custombutton-container{
-moz-box-orient: vertical;
}
を設定すればいいはずです。
効かなければ、!importantを付けてみてください。
toolbar >の部分はもっと絞り込めると思いますけどね。
なんてたって、縦置きなんだし…。
607:605
03/10/02 20:19
>>606
できました。
externalappの方も同じ方法でできるんですね。ありがとうございます。
608:デフォルトの名無しさん
03/10/03 00:38
どっちでも使えるように書くとこうですね。
toolbox[vertical="true"] > toolbar > .toolbaritem-custombutton-container{
-moz-box-orient: vertical;
}
609:デフォルトの名無しさん
03/10/21 22:04
面白いxul wigetのリファレンスFEを見つけた。
URLリンク(www.hevanet.com)
610:デフォルトの名無しさん
03/10/30 22:05
xulで分割ダウンロードって出来るんですか?
拡張を探しても無かったので・・・。
611:デフォルトの名無しさん
03/10/31 12:31
>>610
できます。
nsIHTTPChannelを複数(デフォじゃ3個以上は無意味だが)
作ってそれぞれに別のrangeを割り振ればいいんです。
http以外ではどうなるのかよく分からんが…
612:デフォルトの名無しさん
03/10/31 18:56
>>611
ありがとー^^
613:デフォルトの名無しさん
03/11/10 17:23
新しいfirebirdのインストーラーが試験的に公開されてますが、
これを受けて、拡張をプログラムファイルの方にインストールするのは
廃止する方針のようですね。
614:デフォルトの名無しさん
03/11/24 12:50
質問ですが、templateでツリーなどを作るとき
datasources="rdf:files" ref="file:///c:"
とすると、日本語は文字化けすると思いますが
文字化けを解消させるにはどうしたいいのでしょうか?
環境は、Win me,Firebird 0.7en
615:デフォルトの名無しさん
03/11/25 22:05
うーん、文字化けしないけどなぁ。
たとえば、アドレスバーに、"file:///c:"って打つと、
chrome://communicator/content/directory/directory.xulは
まさに、そのdatasourceをそのrefでみてテンプレから作ってるわけで…
この時点で既に文字化けしてるんだったら、ばぐじら行きかもね。
616:ヽ(゚∀゚)メ(゚∀゚)ノ ◆tRZ80FPU5k
03/11/26 00:42
>>614
えと、間違いだったらスマソ
WinMeだったらファイルシステムがFATなので内部文字コードがSJISの為に
文字化けするのかも。。。アクティブディレクトリならUNICODEですよね
身近にMeが無いので確認できんですよ
上記の問題だとすれば
URLリンク(www.xulplanet.com)
このへんで対処できるですか?
617:ヽ(゚∀゚)メ(゚∀゚)ノ ◆tRZ80FPU5k
03/11/26 00:57
あああああ
>>616はガセネタのような気がしてきた。。。
まあ漏れらしいけど。。。
618:デフォルトの名無しさん
03/11/26 12:53
私のはwin98だけど、少なくとも、file:///c:に文字化けは無いね。
それに、わざわざ文字列を拾ってコンバーターにかけると、
rdfのありがたみが一挙に薄れるような。
619:614
03/11/27 17:03
アドレスバーにfile:///c:だと文字化けしないんですが。
文字化けの感じがUTF-8文字をShift_jisで変換しているようだったから
開いているxulドキュメントの先頭にencoding="utf-8"にしたらいいと思ってたんですが
RDFから読み込んだ部分にはまったく反映されないみたいですね。
勉強してきます。
620:デフォルトの名無しさん
03/12/05 18:26
URLリンク(www.mozilla.gr.jp)
↑というわけで遊んでみようかと思って↓のJavaScript版を書いてみようと思ったんですけど、
URLリンク(lxr.mozilla.org)
var serv=Components.classes["@mozilla.org/network/server-socket;1"].getService();
serv.QueryInterface(Components.interfaces.nsIServerSocket);
serv.init(80,true,5);
とすると
Exception... "Component returned failure code: 0xc1f30002 (NS_ERROR_ALREADY_INITIALIZED) [nsIServerSocket.init]"
って返ってきてしまいます。
URLリンク(lxr.mozilla.org)
URLリンク(bugzilla.mozilla.org)
も見てみましたがそれらしい記述が見つからないので困っています。
誰かわかるかた居ませんでしょうか。
ちなみにWin98、Moz1.6b: 2003112918trunkで試しています。
621:デフォルトの名無しさん
03/12/06 03:59
ぼけてました。
var serverSocket=Components.classes["@mozilla.org/network/server-socket;1"]
.createInstance(Components.interfaces.nsIServerSocket);
serverSocket.init(80,true,5);
ですね。逝ってきます…
622:デフォルトの名無しさん
03/12/12 20:38
スレ違いかもしれませんが投稿させてください。
最近公開されたRSSニュースリーダーに
ReadOne
URLリンク(www.readone.net)
というのがあります。現在はまだInternet Explorerのプラグイン版
しかないそうですが、サポートBBSの以下の書き込みを読んだ限り
ではmozilla版も脈ありのようです。
>なお、作りたいとは考えておりますのでmozillaサイドバー(XUL)の
>開発を手伝ってくださる方がいらっしゃれば比較的近いうちに作成
>できるかもしれません。
私はmozillaもRSSリーダーも単なるユーザーで知識皆無なので手伝いは
無理なんですが、どなたかが開発に参加されてmozillaでRSSリーダーが
一つ増えればいいなあと思います。
623:デフォルトの名無しさん
03/12/13 13:10
ふんませんが質問させてください
最近,XULをいじりたくなって,イロイロと調べてるのですが,
XULのDTDってどこにあるのでしょう...?
もしかして,DTDなんてものはなくて,
XML-Schema とか,他の手段で定義されてんでしょうか???
624:デフォルトの名無しさん
03/12/13 20:59
xulのnamespaceはなんであんなに長いの?
URLリンク(www.mozilla.org)だとだめ?
625:デフォルトの名無しさん
03/12/13 21:46
>>623
CSS と XBL の組み合わせでどんどん要素名・属性の追加拡張が可能だから
DTD 書いてもナンセンス、のような感じ。
基本的なものは XUL Tutorial でわかるけど、追加物はソースを見るしかない。
box や menu とかの基本セットについてはあってもいいと思うけど。
626:デフォルトの名無しさん
03/12/19 17:48
FB向けにブックマークをFTPで共有するツールをつくってみた。
URLリンク(cgi29.plala.or.jp)
自分で試してる時、ftpのURLを間違えてブックマークが空になった後、
焦って正しいURLを入れたら、サーバー上のファイルを空のブックマークで
上書きしてしまったよ…
627:デフォルトの名無しさん
03/12/20 04:48
おおこりゃ便利だ
>>626
いつもながら乙
628:デフォルトの名無しさん
03/12/21 10:27
livehttpheaderって動いてます?
629:デフォルトの名無しさん
03/12/21 18:49
>628
どうだろ。0.7が最新みたいだけど、
あれからリクエストまわりでけっこう大きな変更あったからね。
630:デフォルトの名無しさん
03/12/21 19:00
>627
どうもありがとう。
久しぶりに日本語化してみました。
URLリンク(cgi29.plala.or.jp)
FB0.8の新しいXPインストーラーは、
どういう風なるんだろうね。
631:デフォルトの名無しさん
03/12/21 19:27
latest-0.8、xpiインストール画面でUnsignedとか出るけど、
将来的にはmozilla.orgのほうで拡張の認証とかするのかな。
632:デフォルトの名無しさん
03/12/21 19:42
>631
Unsignedは古いインストーラーでも出てたけど…
まあ、mozdevあたりかなぁ、やるとすれば。
databaseプロジェクトって今でも人気投票やろうってくらいだから。
633:デフォルトの名無しさん
03/12/21 20:01
>>628-629
0.8 が今日出たばっかりみたい。
URLリンク(livehttpheaders.mozdev.org)
新しいFBでも動きそうだけど…試してみるわ。
simple URL filter ってなんだろ?
634:デフォルトの名無しさん
03/12/23 15:03
XULに関する文書はだいたい古くて実際やってみても動かないってことが多いんだけど
チュートリアルなんかで、使える例題載せてるところってないですか?
やっぱ英語ですか?
635:デフォルトの名無しさん
03/12/24 10:42
日本語はないね。
やりたがってる人はいろいろ居るみたいだけど…
636:デフォルトの名無しさん
03/12/27 03:32
面白いもん見っけた。
URLリンク(www.hevanet.com)
上の圧縮
URLリンク(www.hevanet.com)
ソースも見るとけっこういいサンプル。
基本要素は1.0からあんまり変わってないのね。
637:デフォルトの名無しさん
03/12/27 17:54
>636
>609
638:デフォルトの名無しさん
04/01/10 08:35
>>URLリンク(www.thomas-schilz.de)
639:デフォルトの名無しさん
04/01/10 10:54
TransforMiixの機能を呼び出してXSL変換をして変換後のドキュメントを保存する
XULアプリを作ったんだけど,需要はあるんだろうか?
640:デフォルトの名無しさん
04/01/10 17:58
>>639
む、ほしい。RSS を変換させたやつを保存したかったり。
641:デフォルトの名無しさん
04/01/10 18:20
>>640
はっきり言って完成度は3%にも満たない試作品以下のレベルだけど.
URLリンク(tool-ya.ddo.jp)
piro氏やflyson氏のソースからかなり流用しています.
特にinstall.jsなんかrssreaderから丸パクリ.
ついでにアンインストール機能なんてものは無い.
642:641
04/01/10 18:23
ファイルを間違えてアップしてしまった.
643:641
04/01/10 18:31
失敬.こっちです.
URLリンク(tool-ya.ddo.jp)
644:641
04/01/11 18:39
あらら,間違ったほうのアクセス数のほうが多いってのは不味いな.
645:デフォルトの名無しさん
04/01/12 02:04
>>641 遅くなったがサンクス。にゃるほどー
646:641
04/01/12 13:04
URLリンク(tool-ya.ddo.jp)
保存ドキュメントが整形して出力されるようになった.
ENCODE_FLAGS_FORMATTEDに気づくまで2時間くらいかかった.
自らの英語力の無さを痛感.
Mozilla Firebird 0.7で使用すると日本語がUnicode エスケープされる.
Mozilla Suite 1.6bだと大丈夫.
647:641
04/01/13 15:28
このスレにずっと居座るのも何だから,isweb のアカウントを取得.
URLリンク(xulisyahookup.hp.infoseek.co.jp)
648:デフォルトの名無しさん
04/02/01 11:53
保守sage
649:デフォルトの名無しさん
04/02/03 21:19
html文書では、XMLHttpRequestのresponseXMLは
何も返さないと思いますが。
html文書をDOMとして得るにはどうすればいいですか?
650:デフォルトの名無しさん
04/02/04 11:48
>>649
var URI =HTMLファイルのURI;
var doc = document.implementation.createDocument('', '', null);
doc.load(URI);
doc.addEventListener('load', docLoaded, false);
function docLoaded {
ここからdocを使用する処理を記述
}
651:649
04/02/05 01:03
>>650
どうもありごとうございます。m(_ _)m
できました。
652:デフォルトの名無しさん
04/02/08 18:42
ふーむ、私のお勧めはnsIDOMParserです。
...
var str=httprequestobject.responseText;
var doc=(new DOMParser()).parseFromString(str,"text/html");
alert(doc.documentElement.localName);
うろ覚えだから関数名は間違ってるかもしれないけど…
詳しくはここ。
URLリンク(www.mozilla.org)
653:デフォルトの名無しさん
04/02/09 00:17
650みたいなレーシングは結構怖いな。
イベントリスナーは先に追加してほしい。
654:デフォルトの名無しさん
04/02/15 00:05
最近思うんだけど、MozillaってUTF-8じゃなくて、
UTF-16がデフォルト?
それとも、スクリプトやRDFだけUTF-16なのか?
655:デフォルトの名無しさん
04/02/15 01:29
>>654
nsStringがUTF-16だからデフォルトはUTF-16なんじゃないの?
656:デフォルトの名無しさん
04/02/15 13:33
こんな感じで内部メインはUTF-16
URLリンク(wp.netscape.com)
657:デフォルトの名無しさん
04/02/16 22:22
>656
お、この図はわかりやすいなぁ。
ありがとう。
658:デフォルトの名無しさん
04/02/29 00:15
ふむむ。
Firefoxのブックマークをソートする拡張を作ってみました。
URLリンク(cgi29.plala.or.jp)
URLリンク(extensionroom.mozdev.org)
作ってるときは楽しかったんですけど、日本語のブックマークって、
文字コード順に並んでても、イマイチありがたみがないですね。
だから、日本語にローカライズしてないんですが…。
extensionroomに「bookmarks」カテゴリーを作るのが目標。
あと、人に頼まれて、about:*****を登録するスクリプトを書いたので、
about:wazillaとかabout:saitamaとかに興味がある人はどうぞ。
componentsディレクトリにインストールするタイプ。
URLリンク(cgi29.plala.or.jp)
拡張のoverlayで実行するタイプ。
URLリンク(cgi29.plala.or.jp)
659:デフォルトの名無しさん
04/02/29 00:28
about:****ですけど、
オリジナルのnsAboutRidirector.cppは、
httpプロトコルに飛ばすときにセキュリティのレベルを変えてますね。
chromeに行くなら心配はいらないんですが、
aboutのレベルでウェブ上のファイルを読ませると、
えぐいことができそうなので、気をつけてください。
660:デフォルトの名無しさん
04/03/06 02:48
URLリンク(bugzilla.mozilla.org)
にvoteしておきました。
でも、さっきまで2だったから、他にも投票した人がいるみたいだね。
661:デフォルトの名無しさん
04/03/10 09:54
>>658-659
面白い。プロトコル追加の解説があったので貼り付けておく。
URLリンク(www.nexgenmedia.net)
662:デフォルトの名無しさん
04/03/18 21:01
>661
読んでみました。
ところで、そのドメインって何やってるんですかねぇ。
ドキュメント自体はIBM名義なので、
就業中に書いたのかもしれませんが、
Doron個人のサイト?
663:デフォルトの名無しさん
04/03/18 22:00
Doron が Netscape(AOL) にいたときから写真やらなんやら置いて
weblog からリンクしてたから、個人的に自由に使えるサイトなんだろ。
664:デフォルトの名無しさん
04/03/29 20:27
---------- 再開 ----------
665:デフォルトの名無しさん
04/03/29 20:41
Emacsで動くGeckoのほうが欲しいな
そうすりゃXULなんぞ必要ないだろ好きなだけ機能追加できる
666:デフォルトの名無しさん
04/03/30 01:38
いいだしっぺの法則
667:デフォルトの名無しさん
04/04/04 17:39
今日のmozillazineの記事によると、
毎月第一火曜日はXULの日、らしい。
あさって(あるいは水曜日の朝?)だな。
668:デフォルトの名無しさん
04/04/04 17:46
XULは糞! XAML最強!!!
669:デフォルトの名無しさん
04/04/04 21:04
XULvsXAMLvsMXML の比較
URLリンク(www.surfmind.com)
670:デフォルトの名無しさん
04/04/05 01:20
>>667
talkbackを読めばわかるが、このスレで言うXULとは
あまり関係ない。
671:デフォルトの名無しさん
04/04/05 19:45
JavaScriptのOn/Offをカンタンに切り替えるような拡張はでてないのかな?
672:デフォルトの名無しさん
04/04/05 20:09
>>671
URLリンク(www.geocities.co.jp)
URLリンク(extensionroom.mozdev.org)
673:デフォルトの名無しさん
04/04/05 23:33
>>672
ありがとう。
674:デフォルトの名無しさん
04/04/10 12:23
Slashzillaをホットキーで開けるようにしようとしているのですが
その辺のソースについて詳しく載っているサイトはありませんか?
675:デフォルトの名無しさん
04/04/10 14:15
>>674
URLリンク(xulplanet.com)
このへんの Key Example でわかるんでないかな。
Overlay してる場合はソース見ないと分からんけど、たとえば
<keyset id="(overlay する id)">
<key id="hotkey_slashzilla" key="s" modifiers="accel,shift" oncommand="<開く関数>"/>
</keyset>
こんなんで ctrl+shift+s で開くようになるんじゃないかな。
676:674
04/04/10 21:35
うーん読んでみましたが基本骨子をまだ理解しきっていないので頓珍漢なことをしているような気がして不安
szoverlay.xulのソースが以下のようになっているんですが
<?xml version="1.0"?>
<overlay id="slashzillaOverlay"
xmlns="URLリンク(www.mozilla.org)">
<!-- Sidebar Overlay -->
<menupopup id="viewSidebarMenu">
<menuitem observes="viewSlashzillaSidebar"/>
</menupopup>
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="viewSlashzillaSidebar"
autoCheck="false"
label="Slashzilla"
type="checkbox" group="sidebar"
sidebarurl="chrome://slashzilla/content/slashzilla.xul"
sidebartitle="Slashzilla"
oncommand="toggleSidebar('viewSlashzillaSidebar');"/>
</broadcasterset>
</overlay>
このソース内の<!-- Sidebar Overlay -->下に
<keyset id="viewSlashzillaSidebar">
<key id="hotkey_slashzilla" key="s" modifiers="accel,shift" oncommand="toggleSidebar('viewSlashzillaSidebar')"/>
</keyset>
を埋め込んでみましたがうまくいきませんでした
idをviewSlashzillaSidebarとmainBroadcasterSetにしても同様でした
677:デフォルトの名無しさん
04/04/11 00:51
slashzilla を nightly の mozilla に入れてみたけどパネル登録ができなくて、
テストできないんだけど、たぶん…
keyset は navigator.xul の keyset に overlay しなきゃ。
DOMInspector で id 調べると navKeys になってる。
また、broadcaster 使ってるから、
URLリンク(www.xulplanet.com)
を参考にして、
<keyset id="navKeys">
<key id="hotkey_slashzilla" key="s" modifires"accel,shift" observes="viewSlashzillaSidebar"/>
</keyset>
これでどうかな。
678:677
04/04/11 00:53
modifires="accel,shift" のイコールが抜けてた、スマソ
679:674
04/04/11 02:36
すいません重要な事を書いておくのを忘れていました
使用ブラウザはFirefox0.8 4/3nightlyです
680:677
04/04/11 03:34
Firefox nightly で使えてるの?
slashzilla.mozdev.org 見て使えないものとばかり思ってた。
それはともかく Firefox なら <keyset id="mainKeyset"> にしちくり。
681:674
04/04/11 14:06
szoverlay.xulに
<keyset id="mainKeyset">
<key id="hotkey_slashzilla" key="s" modifires="accel,shift" observes="viewSlashzillaSidebar"/>
</keyset>
をoverlayのタグ内に挿入してみましたが駄目でした
また、navigator.xulを検索かけてみましたがFirefoxのフォルダ内にありませんでした…
SlashzillaですがFirefoxで問題なく使えています
Firefox Help 日本語版内の拡張内にあるSlashzillaのxpiを/.-J用に弄って使用しています
682:677
04/04/11 22:56
Firefox に slashzilla 入れてみた。これでできた。
勘違いしまくりでスマソ # RSSReaderPanel にほぼまんまのコードがあっただよ…
<menupopup id="viewSidebarMenu">
<menuitem key="hotkey_slashzilla" observes="viewSlashzillaSidebar"/>
</menupopup>
<keyset id="mainKeyset">
<key id="hotkey_slashzilla" key="s"
modifiers="accel,shift"command="viewSlashzillaSidebar"/>
</keyset>
683:674
04/04/11 23:28
月並みな表現で申し訳ないですがお付き合いありがとうございます
おかげさまでできました
#もっとxulやjsの勉強しなければ・・・
684:デフォルトの名無しさん
04/04/16 19:54
XulPlanetが、ちょっとリニューアル?されてるので上げ。
685:デフォルトの名無しさん
04/04/16 21:32
XULのDOM Methodに大きな変更が加えられたようです。
getElementByAttribute
URLリンク(forums.mozillazine.org)
childNodes
URLリンク(forums.mozillazine.org)
要するに、返り値のNodeListが
いわゆる"live"(treewalker的な)ではない、
ということですね。
もちろん、treewalkerをつかえば、
従来のような事が出来ると思います。
686:デフォルトの名無しさん
04/04/16 21:44
>>684
ちょっとじゃない~ 詳細はここにも。
URLリンク(www.xulplanet.com)
Scriptable Object Referance 追加と commands, updating commands は
まとまった情報がなかったんで助かる~
687:デフォルトの名無しさん
04/04/29 15:04
XULアプリコンテストってどうなったんでしょうか?
ひょっとして、エントリーがなかったとか?
コンテストを開くこと自体はたいへん良いと思うので、
告知を3ヶ月前くらいからやってほしいですね。
でも、パーティ関連にすると難しいのかもしれないなぁ。
じゃあ、お前が企画しろよ、って言われると、
参加者を集められる自信は全くないが…
688:デフォルトの名無しさん
04/04/29 16:48
エントリーはありましたよ。8つほど。
689:デフォルトの名無しさん
04/04/30 17:47
じゃ、そのうち結果発表とかあるんですかね。
去年はpiro氏のやつとmoz2chが出てたような記憶が。
690:デフォルトの名無しさん
04/04/30 21:21
投票数自体が少なかったけど、結果としてはXUL/Migemoが圧倒的大勝ですた。
RSS Reader Panelのflyson氏は出品されていませんでした。
だいたいそんなとこで。
691:デフォルトの名無しさん
04/05/01 11:33
XUL/Migemoでてたんですか。
このスレに時々来る通りすがりの人のブックマークのやつはどうでした?
692:デフォルトの名無しさん
04/05/01 14:25
通りすがり師のはなかったと思う。
出てたのは
・URLリンク(white.sakura.ne.jp)
Ez Sidebar・Sidebar Window/タブキラー/テキストリンク/あと一つ(おもいだせない)
・URLリンク(www013.upp.so-net.ne.jp)
・URLリンク(mimic.gelsoft.jp)(繋がらない…?インスタントメッセンジャーです。)
・URLリンク(www.smellman.homelinux.org) (カップラーメンタイマー)
・URLリンク(tkm.s31.xrea.com)
693:デフォルトの名無しさん
04/05/01 16:28
>692
なるほど。
重ね重ね、ありがとう。
694:デフォルトの名無しさん
04/05/02 22:00
FirefoxのExtension API 暫定版が今日、初公開。
URLリンク(www.bengoodger.com)
695:デフォルトの名無しさん
04/05/02 22:18
つーか、いきなりinstall.jsを捨ててきましたか…
まあ、前に競べたら、納得の内容ですね。
icon関係もうまく処理されているようです。
696:デフォルトの名無しさん
04/05/02 23:45
これは nightly で既に実装済みのものなのかな。
draft 段階のものを読むと
URLリンク(jt.mozilla.gr.jp)
install.js は後方互換のためか残されそうだけど。
個人的にはコマンドラインオプション実装して欲しい…
697:デフォルトの名無しさん
04/05/03 00:14
上のリンクにも書いてありますが、install.jsはfirefoxから、
一方的に無視されるだけなので、
たとえば、mozillaにインストールしたときは、
install.jsの内容が反映されることになります。
従来のinstall.jsが内部で行っていた、いわゆるscript然とした
細やかな設定は、html側のInstallTrigerで行うべきだ、
というのが、Ben Goodgerの持論なので。
>コマンドラインオプション
なぜ?
698:デフォルトの名無しさん
04/05/04 11:23
全ての拡張がUUIDで管理されるようになれば、
ひょっとして、複数の言語パックを同時にインストールできたりするように
なるのかなぁ。
699:デフォルトの名無しさん
04/05/09 04:27
XULコンテスト、私は何か勘違いしていたようです。
コンテスト用に何か書き降ろさないといけないのかと思ってました。
実は、無圧縮PNGを吐くアイコンエディターを
ネタで作ろうと思っていたのですが…
ところで、私が不甲斐ないばっかりに、
いろんな人が、blogで拡張の解説文を書いてくれています。
URLリンク(kengo.preston-net.com)
URLリンク(scramble.no-ip.org)
あと、朝顔日記様とか。
どうもありがとうございます。
700:デフォルトの名無しさん
04/05/23 11:08
URLリンク(update.mozilla.org)
がついに動きだすようですね。
URLリンク(forums.mozillazine.org)
701:デフォルトの名無しさん
04/05/29 20:29
今日、Firefoxの新しいインストーラーを試してみました。
結構イイ感じで動いてます。
702:デフォルトの名無しさん
04/05/29 23:21
XULに全く関係ない話で恐縮ですが、
JLPのxsltスレは純粋な読み物としても、結構面白いです。
URLリンク(moz.skillup.jp)
で、先程parseをgoogle英和で調べてみたら、構文解析と書いてあります。
もちろん、私にとって一番わかりやすい訳は「パース」なのですが、
まあ、構文解析でも意味が通らなくはないなぁ、と感心してみたり。
パースは「分析」だけでなく、「読み込む」事自体の意味が加味されている
のが通例なので、「解析」よりは「解釈」の方がしっくり来ます。
例えば、parseIntの10進数と16進数なんかは、解析方法が違うのではなくて、
解釈方法が違う、って言ったほうがより自然な日本語だと思いませんか?
ただ、parse errorは「解釈失敗」より「解析失敗」の方がきれいな言葉ですよね…。
辞書に載っている以上、凡例が少なからずあるはずだから、やはり侮れません。
それでも、「XMLとして解析できません」よりは、「XMLとして解釈できません」
の方がいいと思うのですが…。
その他で気になったのは、"call"の訳語です。
確かに、「呼び出す」より「呼ぶ」の方が日本語として熟れているとは思いますが、
明らかにテクニカルタームなので、ここは「呼び出す」の方に一票を投じたいです。
「~を呼ぶ」という文ではどれだけこなれていても、
日本語としての不自然さはどうしようもないですから、
日常的な意味ではないことを強調した方が親切でしょう。
703:デフォルトの名無しさん
04/05/30 00:43
FireFox とか Thunderbird とか結構重いように感じるんだけど(非力なマシンなので)、
XUL で作ったアプリも、ある程度の重量感は覚悟する必要があるのでしょうか?
704:デフォルトの名無しさん
04/05/30 11:32
>703
モノに拠ります。
XPCOMをロードして使うようなタイプのアプリは速いです。
逆にfor文で100万回まわすようなスクリプトを書けば、
重くなります。
インタープリターなので当然ですね。
705:デフォルトの名無しさん
04/06/04 01:18
>>702
XULに関係ない話につっこんで悪いんだけど
parse = 構文解析
っていう翻訳はコンパイラの教科書なんかで昔っから使われているから
日本で計算機科学系の学科に居た人はみんなそう訳すんだと思う…
で,parseに「読み込む」っていう意味が加味されているっていうけど
コンパイラの教科書的には,
【字句解析】→【構文解析】→【意味解析】→【最適化】→【コード生成】
とフェーズを分けて教えるんで「読み込み」は 構文解析器(parser)の
仕事とは考えない傾向がある気がする…
706:デフォルトの名無しさん
04/06/04 03:25
>>704
XUL 分かってなかったです。すまそ。
C からも使える物と思ってた。
707:デフォルトの名無しさん
04/06/04 17:58
>>704
Cからも使えますよ。
Mozilla.orgにも、サンプルコードくらいはあったと思います。
ただ、コンパイルすると、当然プラットフォーム依存になります。
単純にUIがほしいのなら、それとトレードオフで得る速度は釣り合いません。
MFCやGTKのリソースファイルも、
UIの部分はテキストで箇条書き(?)にしてあるだけですよね。
アセンブリングの恩恵は、ほとんどないと思います。
処理が重いなら、スクリプトをC++に移植する、
という手がありますがね。
708:デフォルトの名無しさん
04/06/06 10:38
linuxでアンチエイリアスしないにはどうすればいいんですか?
709:デフォルトの名無しさん
04/06/11 17:56
linuxのアンチエイリアスってxulネタなんでしょうか?
710:デフォルトの名無しさん
04/06/12 13:13
>>704
タブブラウザ拡張も XPCOM/C++ で書き直すと速くなるんだろうなぁ...
711:デフォルトの名無しさん
04/06/12 13:50
>>710
タブ拡が遅いですと?
712:デフォルトの名無しさん
04/06/12 19:16
>>710
全部書き直さなくても、パッチとしてマージするだけでもいくらか速くなると思う。
713:デフォルトの名無しさん
04/06/12 20:19
タブといえば、
Option to determine how other applications open new windows
URLリンク(bugzilla.mozilla.org)
のターゲットマイルストーンがfirefox1.0betaになってますね。
どうやら、本気で実装されそうです。
714:デフォルトの名無しさん
04/06/12 20:26
どうでもいいけど、「呉下の阿蒙に非ず」だけ浮いてるよね。
715:デフォルトの名無しさん
04/06/12 23:16
誤爆か?
716:デフォルトの名無しさん
04/06/16 22:08
Fxの新しいエクステンションマネージャーでは、
32*32のアイコンが指定できるので、
某狐女のトレードマークを世界に向けて発信しようと思ったのですが、
なんか、お下品な連想をしてしまったのでやめました。
URLリンク(cgi29.plala.or.jp)
なんというか、角度も重要なのかなぁ。
717:デフォルトの名無しさん
04/06/17 05:16
基本的なことなんだけど、XULのGUIライブラリって
GTKをラッピングしてるの?
718:デフォルトの名無しさん
04/06/17 21:34
>>717
まあ、100パーセントそうだとは言えないけど、
gtkが使える環境ならそう言って差し支えない程度には使ってるな。
719:デフォルトの名無しさん
04/06/19 02:37
xulから呼び出す外部のJavaScriptファイルに日本語を使いたいとき、
文字コードはどうすべきですか?UTF-8など色々試しましたがどれも化けます。
それともlocaleを使うべきなんでしょうか。
720:デフォルトの名無しさん
04/06/19 03:03
>>719
ファイル名はシステムの文字コードに依存するのでは?
WindowsならShift_JISかUTF-8でしょうか。
うまくいかないのはUConvでの文字コードの変換に失敗しているからではないかと予想。
721:デフォルトの名無しさん
04/06/19 03:22
ファイル名ではなく「ファイル中に」です。
つまり、alert("こんにちは");とかやると文字化けしてウィンドウが表示されます。
722:デフォルトの名無しさん
04/06/19 04:29
>>721
\u3053\u3093\u306b\u3061\u306f
みたいにUnicodeエスケープするしかないかも知れない。
723:デフォルトの名無しさん
04/06/19 05:08
それは面倒ですね。
やはり開発はすべて英語でやって、後からlocaleを付け加えるのが常識的なのでしょうか?
724:デフォルトの名無しさん
04/06/19 07:21
alert("こんにちは")にするなら、UTF-8じゃなくて、UTF-16の方がいい。
でもそうすると、script自体がパースされないだろうから、
クォーテーションの中だけUTF-16という
変則的な文字コードにしなきゃいけない。
結局、localeを追加した方が安上がりなのよ。
725:デフォルトの名無しさん
04/06/19 21:52
なるほど。了解しました。
詳しく教えていただいて、どうもありがとうございました。
726:ヽ(゚∀゚)メ(゚∀゚)ノ
04/06/19 23:18
Moz2chのバヤイ、js自体はEUCで統一してるですが、表示すべき文字列を
ハードコーディングしないでlocaleを使用するようにしてるです。
但し、テストコードのような物だといちいちlocaleを書くのがめんどいという
後ろ向きな理由ですが、EUCで文字列を書いてnsIScriptableUnicodeConverter
を使ってEUC→UNICODEしてから表示するようにしてるです。
URLリンク(cvs.sourceforge.jp)
この辺参考にしてくださいです
727:デフォルトの名無しさん
04/06/22 20:23
Firefoxにjarファイルを使わない拡張を
新EMでインストール/アンインストールするパッチを書いてみました。
URLリンク(cgi29.plala.or.jp)
0.9の場合、componentsフォルダに入っているnsExtensionManager.jsを
URLリンク(cgi29.plala.or.jp)
と差し替えれば、ちゃんと動くはずです。
ナイトリーに使うのであれば、diff.txtをソースにあててください。
ただ、このバグがfixされた方がいいかどうかは微妙ですね。
もちろん、出来るにこした事はない、とは思いますが、
拡張やテーマを自分で書かない限り不要(いわゆるbloated)な気もします。
728:デフォルトの名無しさん
04/06/26 00:34
今日のチェックインみてたら、こんなバグがありました。
_contentのかわりにcontentを使いましょう
URLリンク(bugzilla.mozilla.org)
729:デフォルトの名無しさん
04/06/28 18:04
もうお気づきかと思いますけど、URLリンク(update.mozilla.org)が稼働していますね。
特に何もしていませんが、私の拡張も(なぜか)2つだけ入っています。
新EM対応版を公表(?)した時期に関係がありそうです。
勝手にアップデートしてくれるのなら楽でいいや、
と思っていたのですが、どうやら初回サービスのみのようです。
更新しても、反映してくれません。
うそくさいダウンロード数が少しづつ増えるのをみるのは楽しいですが、
コメントに反論できないのがちょっと。
ちなみに、私の周囲では
"Must Have!"という、おばかなフレーズが流行っています。
730:デフォルトの名無しさん
04/06/29 23:14
Mozilla 1.7のダウンロードマネージャがCtrl+Wで閉じれないのや、
メーラーでアカウントを選択しているとスペースキーやNで次の未読に
移動できないのが不満で、comm.jarやmessenger.jarを直接書き換えて
目的を達成したんだけど、こういうのもxpiで実現可能?
xpiさっぱり分からん。
731:730
04/06/29 23:16
ちなみにダウンロードマネージャの方はこんな感じ。
--- comm/content/communicator/downloadmanager/downloadmanager.xul2003-10-22 00:35:56.000000000 +0900
+++ comm/content/communicator/downloadmanager/downloadmanager.xul2004-06-26 10:33:30.000000000 +0900
@@ -27,9 +27,13 @@
<?xml-stylesheet href="chrome://communicator/skin/"?>
+<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
+
<!DOCTYPE window [
<!ENTITY % downloadManagerDTD SYSTEM "chrome://communicator/locale/downloadmanager/downloadmanager.dtd">
%downloadManagerDTD;
+<!ENTITY % utilDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd" >
+%utilDTD;
<!ENTITY % downloadProgressDTD SYSTEM "chrome://global/locale/nsProgressDialog.dtd" >
%downloadProgressDTD;
]>
732:デフォルトの名無しさん
04/06/30 21:43
>>731
可能です。
空の拡張をつくって、contents.rdfで
chrome://communicator/content/utilityOverlay.xulをoverlayしてやればいいのです。
ただ、ロケールはoverlayのdoctypeに完全に依存するので、
utilityOverlayにdoctypeがなかったら、
utilityOverlayを手元にコピーしてdoctypeを追加したものを
あらためてoverlayした方が安全かもしれません。
733:デフォルトの名無しさん
04/06/30 21:49
あ、今みてみたら、ばっちりはいってますね。
URLリンク(lxr.mozilla.org)
734:730
04/07/01 04:44
まいったな。せっかく教えてもらったのにさっぱり分かりませぬ。
一応XULチュートリアルの日本語訳も読んでいるが、分量が多くて
どこが該当するのかも分かりません。参考になりそうな拡張ってありますか?
それはともかく、xpiで実現可能というのが分かったのはありがたいです。
735:デフォルトの名無しさん
04/07/01 08:44
「Ctrl+何々でほげほげできるようにします。」系の拡張を
Firefox Help 日本語版あたりで探してみると良いかも。
やり方はそのままSuiteにフィードバックできるので。
736:デフォルトの名無しさん
04/07/01 15:03
>>735
thanx. 動きますた。
*contents.rdf
<?xml version="1.0"?>
<RDF:RDF xmlns:RDF="URLリンク(www.w3.org)"
xmlns:chrome="URLリンク(www.mozilla.org)">
<RDF:Seq about="urn:mozilla:package:root">
<RDF:li resource="urn:mozilla:package:dmclose"/>
</RDF:Seq>
<RDF:Description about="urn:mozilla:package:dmclose"
chrome:displayName="dmclose Extensions"
chrome:author=""
chrome:authorURL=""
chrome:name="dmclose"
chrome:extension="true"
chrome:description="dmclose">
</RDF:Description>
<!-- overlay information -->
<RDF:Seq about="urn:mozilla:overlays">
<RDF:li resource="chrome://communicator/content/downloadmanager/downloadmanager.xul"/>
</RDF:Seq>
<RDF:Seq about="chrome://communicator/content/downloadmanager/downloadmanager.xul">
<RDF:li>chrome://dmclose/content/dmcloseOverlay.xul</RDF:li>
</RDF:Seq>
</RDF:RDF>
737:デフォルトの名無しさん
04/07/01 15:04
*dmcloseOverlay.xul
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://communicator/skin/"?>
<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
<!DOCTYPE window [
<!ENTITY % utilityDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd">
%utilityDTD;
]>
<window id="downloadManager">
</window>
738:デフォルトの名無しさん
04/07/01 15:40
なんか変なところありますか? さて、あとはインストーラか。
メーラーの方は、mail3PaneWindowCommands.js, mailWindowOverlay.js, mailWindowOverlay.js を
書き換えて動作を変更しているのですが、こちらは実現できますかね。
一部の関数のみをxpiで差し替えて動作させるようなことはできますか。
それともoncommand=で呼び出される関数から変更した関数に至るまでの部分を
すべてコピーする必要があったりしますか。
739:デフォルトの名無しさん
04/07/01 17:39
これでいいのですが、私が732-733で言いたかったのは、
直接utilityOverlay.xulをoverlayしてみては?ということです。
お分かりかと思いますが、overlayには2通りの方法があります。
ひとつは、「xulに直接<?xul-overlay?>を埋め込む」やりかたで、
もうひとつは「パッケージをインストールする」ことです。
結論から言いますと、この種の拡張(?)ではxulファイルが一切不要です。
740:デフォルトの名無しさん
04/07/01 17:55
>一部の関数のみをxpiで差し替えて動作させるようなことはできますか
できます。
javascriptの面白い点は、関数といえども、オブジェクトのひとつに過ぎない、
と言う点です。
よって、代入できてしまうのです。
値は他の関数でもいいのですが、
名前空間を不必要に汚すよりは、
関数リテラルを代入するほうが望ましい、と思われます。
741:デフォルトの名無しさん
04/07/01 18:40
あっ、こうすればいいのか。
<RDF:Seq about="urn:mozilla:overlays">
<RDF:li resource="chrome://communicator/content/downloadmanager/downloadmanager.xul"/>
</RDF:Seq>
<RDF:Seq about="chrome://communicator/content/downloadmanager/downloadmanager.xul">
<RDF:li>chrome://communicator/content/utilityOverlay.xul</RDF:li>
</RDF:Seq>
>お分かりかと思いますが、overlayには2通りの方法があります。
すんません。よく分かっていません。
742:デフォルトの名無しさん
04/07/01 18:57
>>741
そうです。そういうことです。
>よく分かってない
>>736,>>737では両方使っていたんですよ。
utilityOverlay.xulを736にoverlayして、
736をdowloadmanger.xulにoverlayしていたわけですよね。
>>741は一回しか使わなくて済んでいます。
当然741の方がお薦めです。
743:デフォルトの名無しさん
04/07/02 02:29
URLリンク(www.xulplanet.com)を見ながら読み直して
ようやく分かってきました。
さて、次は関数の差し替え方法か。
744:デフォルトの名無しさん
04/07/02 03:33
>>743
そんなに難しい事じゃないですよ。
例えば openURI() を乗っ取るなら
window.openURI = function(aURI, aReferrer) {
// hogehoge
}
と書くだけでもOK。
内部で元の関数の機能を呼び出したいなら
var originalOpenURI = window.openURI;
window.openURI = function(aURI, aReferrer) {
// hogehoge
originalOpenURI(aURI, aReferrer);
// foobar
}
という具合です。
元の関数を保持しておくオブジェクトの名前が他とかぶると
いけないからということで、後者についてはいくつかやり方があります。
上は一番単純な例。
745:デフォルトの名無しさん
04/07/02 05:57
メーラーの方はちょっと置いといて、NN4みたいにBackSpaceで上方向へ
スクロールするようにする拡張を作ってみました。上の方法でばっちり動きました。
せっかくですので下の方法についてもう少し解説していただけるとうれしいです。
746:デフォルトの名無しさん
04/07/02 09:30
解説っていっても見たまんまなんですけどね。
>>774後半の例は以下のような内容です。
1. 関数オブジェクト "(window.)openURI" の内容である関数を参照するエイリアスを
"originalOpenURI" という名前で作成。
2. "(window.)openURI"というエイリアスの参照先として新しい匿名関数を定義する。
3. 省略
4. "originalOpenURI"のエイリアスで参照している関数を実行。
5~6. 省略
つまり
window.openURI => "function openURI()"
となっていたのを
originalOpenURI => "function openURI()"
window.openURI => "function()"(匿名関数)
に変更するということ。
747:デフォルトの名無しさん
04/07/02 09:33
NortonのAntiVirusかInternetSecurityかどっちのはたらきか知りませんが、
ポップアップ抑止の機能を導入すると、閲覧するWebページの先頭に
var SymRealWinOpen = window.open;
function SymWinOpen(url, name, attributes)
{
return (new Object());
}
window.open = SymWinOpen;
こんな感じのJavaScriptを挿入してきます。
やってることはこれと一緒です。
748:デフォルトの名無しさん
04/07/02 11:29
746はエイリアスとはちょっと違うと思う。
jsにとってのオブジェクトは実体そのものだからね。
本等にエイリアスなんだったら、名前解決が元のままのはずだしね。
749:デフォルトの名無しさん
04/07/02 13:34
>>746
えー、すんません、そういうことではなくて、
>元の関数を保持しておくオブジェクトの名前が他とかぶると
>いけないからということで、
の、回避方法はどういうのがあるのかなーということです。
750:デフォルトの名無しさん
04/07/02 20:47
>>749
その1。一意な名前の変数にする。
名前空間URIのようにすればほぼ確実。
window['URLリンク(hoge)'] = window.openURI;
window.openURI = function(uri, ref) {
// hoge
window['URLリンク(hoge)'](uri, ref);
// fuga
}
その2。クロージャを使う。
function init() {
var originalFunc = window.loadURI;
window.loadURI = function(uri, ref) {
//hove
originalFunc(uri, ref);
//fuga
}
}
init();
この例でいうinit()の部分さえ名前がかぶらなければ、
変数originalFuncは関数外部からはアクセス不可能なので
破壊される恐れもない。
751:デフォルトの名無しさん
04/07/03 08:45
>>750
なるほど。ありがとうございます。
メーラー用の拡張の作成は少し先のことになりそう。
752:デフォルトの名無しさん
04/07/03 15:20
XUL特集、らしい。
URLリンク(www.unixuser.jp)
753:デフォルトの名無しさん
04/07/04 07:55
XULチュートリアルを勉強している者です。
URLリンク(xul-app.hp.infoseek.co.jp)
こちらのRDFデータソースの章に書いてあることを試したところ、
ドロップダウンリストに文字列を入力してボタンを押してアプリを再び開くと
ドロップダウンリストの項目がどんどん増えていくのですが、追加されたデータは
どこに保存されているのでしょうか。
「最後に、Flush 関数を使ってデータソースをディスクに書き出す。」とのことですが、
素人の安直な考えでは初めに読み込んだ recents.rdf ファイルへ書き込まれるのだろう
と思ったけど実際に開いてみると違いました。
754:デフォルトの名無しさん
04/07/04 09:09
要素のdatasourceをとってきてそれを直接編集しようとしていますね。
あまり、いいやり方ではないし、少し古いです。
多分、このスクリプトが書かれたころは、
Flush()で、recents.rdfに書き込まれていた、と想像しています。
ま、当世流とはちょっと違う、ということで。
755:753
04/07/04 19:41
よく調べたらプロファイルdirのlocalstore.rdfに保存されていました。
756:デフォルトの名無しさん
04/07/04 22:27
ま、そうだろうね。datasourcesで明示してなくても、rdf:localstoreは、
どの要素でも使用している。
というのは、persist属性とかで、値を保存しておいて、
長さや位置を覚えておくために必要だからだ。
757:デフォルトの名無しさん
04/07/06 18:58
firefox0.9でXULMAKER0.5使おうとしたら起動すら出来ないんだが
誰かやってない?
758:デフォルトの名無しさん
04/07/06 19:28
age
759:デフォルトの名無しさん
04/07/07 08:38
moz2chをインスコしたら、
mozillaのbookmarkが消失したぞ(゚Д゚)ゴルァ
760:plus7 ◆XULQA16CSE
04/07/07 16:19
URLリンク(tkm.s31.xrea.com)
XUL/Migemoの正規表現を外部から使えるようにしてみました。
var re = window.xulMigemoCore.getRegExp("unko")
てな感じで正規表現オブジェクトを得られます。
もしよろしければお使い下さい。
761:デフォルトの名無しさん
04/07/07 17:25
>>752
買いに行ったらXULは来月号に飛ばされていた。
代わりにwxWidgetsとかいうやつが特集されていた。これはこれでおもしろそうではあるが。
762:デフォルトの名無しさん
04/07/07 19:31
拡張を作る上で、今までは、プログラムフォルダの下にあるchromeに
フォルダをつくって、appname.jarなどに固めずやってたのですが、
新しい仕様でも、extensionsの下にフォルダを置いてできるんですかねぇ?
about="urn:mozilla:extension:file:appname.jar"
のところをいじったら出来そうな気もするんですが・・・。
763:デフォルトの名無しさん
04/07/08 00:45
>>762
>>727
764:デフォルトの名無しさん
04/07/08 03:50
>>761
(´・ω・`)ショボーン
765:デフォルトの名無しさん
04/07/08 21:50
こっちに聞いた方が良いと思い書きます。
mozilla updateに登録ってどうすればいいのですか?
以下とマルチポスト
スレリンク(software板:383番)
766:デフォルトの名無しさん
04/07/09 01:38
XULチュートリアルのバインディングのサンプルがうまく動きません(バインディングが反映されない)。
URLリンク(xul-app.hp.infoseek.co.jp)
このサンプルに何か問題点ありますでしょうか?
XUL (example.xul):
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://example/skin/example.css" type="text/css"?>
<window xmlns="URLリンク(www.mozilla.org)">
<box class="okcancelbuttons"/>
</window>
CSS (example.css):
box.okcancelbuttons {
-moz-binding: url('chrome://example/skin/example.xbl#okcancel');
}
XBL (example.xbl):
<?xml version="1.0"?>
<bindings xmlns="URLリンク(www.mozilla.org)"
xmlns:xul="URLリンク(www.mozilla.org)">
<binding id="okcancel">
<content>
<xul:button label="OK"/>
<xul:button label="Cancel"/>
</content>
</binding>
</bindings>
767:デフォルトの名無しさん
04/07/09 02:05
>>766
"example"はパッケージとして登録されてる?
768:デフォルトの名無しさん
04/07/09 05:36
>>766
ええ、もちろんです。
installed-chrome.txt :
content,install,url,resource:/chrome/example/content/
skin,install,url,resource:/chrome/example/skin/classic/
ブラウザに直接クロムURLを打ち込めば一応ウィンドウは表示されます。
バインディングが成功すればそこにボタンも出るはずなのですが...
769:デフォルトの名無しさん
04/07/09 09:41
>>765
bugzillaに拡張を登録しろ、ってFAQに書いてあるが?
770:デフォルトの名無しさん
04/07/09 12:49
>>768
色々試してみたところ、ファイル名の拡張子がxblでは動かないようです。
xmlにすれば動きました。
私がこのチュートリアルをやってた頃はxblで問題なかったんですがねぇ。
XULPlanetのリファレンスはわりと頻繁に更新されていますが、
チュートリアルの方はMozilla1.0のころから更新されていないようです。
それをさらに和訳してあるわけですから、例が現実に追いついてないのも
仕方のないことなのでしょう。
771:デフォルトの名無しさん
04/07/09 16:22
>>770
うほほーー!xmlにしたら無事に出来ました!サンクスです。
772:デフォルトの名無しさん
04/07/09 20:01
>>757
こんなんどうでしょうか?
URLリンク(forums.mozillazine.org)
773:デフォルトの名無しさん
04/07/09 20:42
URLリンク(www.mozilla.gr.jp)
これのコピーもっている人くれ
774:デフォルトの名無しさん
04/07/09 21:31
>>773
φ( ゜゜)ノ ゜
URLリンク(web.archive.org)
775:デフォルトの名無しさん
04/07/09 22:01
>>733
が言ってるのはサイトじゃなくてxpiのことじゃない?
776:773
04/07/10 13:38
>>774
xpiダウソできました。
ありがとうございました。
777:デフォルトの名無しさん
04/07/11 02:57
スクロールバーの付いたbox要素などでもマウスホイールが効くようにはできますでしょうか?
778:plus7 ◆XULQA16CSE
04/07/11 03:12
>>777
URLリンク(white.sakura.ne.jp)
かな?
779:デフォルトの名無しさん
04/07/11 03:16
>>778
まさにそれです!しかしかなり難しそうなのであきらめまつ...
780:デフォルトの名無しさん
04/07/11 06:41
>>779
そんな難しくないと思いますよ。
>>766の例の状況で示すと、こんな感じでしょうか。動作確認はしてませんが。
XUL (example.xul):
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://example/common/example.css" type="text/css"?>
<window xmlns="URLリンク(www.mozilla.org)">
<box class="scrollbox"/>
</window>
CSS (example.css):
box.scrollbox {
-moz-binding: url('chrome://example/content/example.xml#scrollbox');
}
box.scrollbox scrollbar {
-moz-binding: url('chrome://example/content/example.xml#scrollbar');
}
781:デフォルトの名無しさん
04/07/11 06:42
つづき。
XBL (example.xml):
<?xml version="1.0"?>
<bindings xmlns="URLリンク(www.mozilla.org)"
xmlns:xul="URLリンク(www.mozilla.org)">
<binding id="scrollbox">
<implementation>
<handler event="DOMMouseScroll"><![CDATA[
var count = event.detail > 0 ? 50 : -50 ;
this.mScrollbar.setAttribute('curpos', Math.min(Math.max(0, Number(this.mScrollbar.getAttribute('curpos'))+count), Number(this.mScrollbar.getAttribute('maxpos'))));
]]></handler>
</implementation>
</binding>
<binding id="scrollbar" extends="chrome://global/content/bindings/scrollbar.xml#scrollbar">
<implementation>
<constructor><![CDATA[
if (navigator.platform.indexOf('Mac') != -1) this.initScrollbar();
this.parentNode.mScrollbar = this;
]]></constructor>
</implementation>
</binding>
</bindings>
TBEの /content/tabextensions/scrollableTabBar.xml も参考にしてみて下さい。
782:デフォルトの名無しさん
04/07/11 06:43
すみません。
<?xml-stylesheet href="chrome://example/common/example.css" type="text/css"?>
じゃなくて
<?xml-stylesheet href="chrome://example/content/example.css" type="text/css"?>
ですね。
あと、水平スクロールバーと垂直スクロールバーのそれぞれについて
処理を振り分けるのも忘れてました。まあその辺は適当に。
783:名無しさん@そうだ選挙に行こう
04/07/11 07:36
もう一つミスが……
<implementation>
<handler event="DOMMouseScroll">(略)</handler>
</implementation>
ここは
<implementation>~</implementation>
ではなくて
<handlers>~</handlers>
です。
784:名無しさん@そうだ選挙に行こう
04/07/11 09:10
解説も含めてまとめときました。もしよろしければどうぞ。
URLリンク(white.sakura.ne.jp)
785:名無しさん@そうだ選挙に行こう
04/07/11 14:44
>>780-784
丁寧にありがとうございます!さっそく今試してみます。
このスレは親切な方が多くて助かります。
786:名無しさん@そうだ選挙に行こう
04/07/11 14:53
window内にiframeがあるようなxulページを表示させると、
windowのonloadイベントが二度発生しますが、これはなぜなんでしょう??
たとえば下のコードを表示させると、alertウィンドウが二度出てきます。
環境:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040614 Firefox/0.9
<?xml version="1.0"?>
<window xmlns="URLリンク(www.mozilla.org)" onload="alert('onload');">
<iframe />
</window>
787:名無しさん@そうだ選挙に行こう
04/07/11 16:06
>>786
iframe内のページのonloadイベントがバブリングで伝搬するからですな。
URLリンク(www2u.biglobe.ne.jp)
788:名無しさん@そうだ選挙に行こう
04/07/11 20:00
プロパゲーションが止められないのって、
実は結構不便な気もするな。
こんな感じでイベントハンドラを書けば済むのだが。
function myOnLoad(event){
if(event.target.localName=="window")
alert('onload');
}
789:デフォルトの名無しさん
04/07/11 20:34
イベントバブルで制御できるんでは
790:786
04/07/12 13:23
>>787-789
なるほど、なぞがわかってすっきりしました。
791:デフォルトの名無しさん
04/07/17 09:59
preventBubbleって、そんなに便利でもないんだよなぁ。
一つのイベントに複数のリスナがある時とか。
792:デフォルトの名無しさん
04/07/21 00:47
ローカルに保存されたHTMLファイルを読み込み、パースしてDOMとして利用することは可能でしょうか??
var doc = (new DOMParser()).parseFromString(fileContent, "text/html");
alert(doc.title);
とやってみたのですが、1行目でエラーとなります...
793:デフォルトの名無しさん
04/07/21 03:54
>>792
実はdomparserのtext/htmlモードは未実装なのです。
かわりに、innerHTMLを使ってください。
794:デフォルトの名無しさん
04/07/21 03:58
あるいは、>>650とか。
795:デフォルトの名無しさん
04/07/21 23:11
var URI = "URLリンク(jt.mozilla.gr.jp)";
var doc = document.implementation.createDocument('', '', null);
doc.load(URI);
doc.addEventListener('load', docLoaded, false);
function docLoaded() {
alert(doc.title);
}
これでは何も表示されませんですけど、何か間違っているようですね。。
796:デフォルトの名無しさん
04/07/22 03:07
>>795
mozilla 1.6 で試してみたけど…
doc.async = false;
var result = doc.load(URI);
alert(result);
してみると doc.load(URI) が false が返してくるみたいね… なんでだろ??
XUL内に不可視のbrowser要素を配置してそこにloadURI()で読み込んだら
だめかな?
797:デフォルトの名無しさん
04/07/22 05:48
>>795
ありがちなミスだけど、ひょっとして、XULでやってる?
createDocumentのnamespaceを無指定にすると、実行環境に影響されるから、
HTMLDocumentではなく、XULDocumentになって、htmlファイルをロードできない。
798:デフォルトの名無しさん
04/07/23 19:47
>>796
hidden=trueなbrowserに対してloadURIでHTMLをロードさせたら
Type Error: this.docShell has no properties
と怒られました。
>>797
なるほど、確かにXULでやってました。
799:デフォルトの名無しさん
04/07/23 22:08
>>798
hidden="true" (displaynone)だと初期化がされないので注意が必要。
collapsed="true" (visibility:collapse)なら動くはず。
800:デフォルトの名無しさん
04/07/23 23:06
>>799
なるほど、それでうまくいきました。
801:デフォルトの名無しさん
04/07/24 03:17
>>797
>createDocumentのnamespaceを無指定にすると、
ってことは正しい(?)指定をするとXULでもHTMLDocumentが返ってくる
ようになるんでしょうか?
802:デフォルトの名無しさん
04/07/24 20:08
>>801
いろいろ探してみたけど、HTMLDocumentを作るのって意外に難しい。
doctypeを決め打ちしてしまうと本末転倒だから、やっぱ無理かも。
xhtmlならとても簡単なのに、この差は一体…
803:デフォルトの名無しさん
04/07/29 15:45
XULアプリ内で mozilla と firefox を区別する方法ってないですかね??
804:デフォルトの名無しさん
04/07/29 22:48
>>803
browser.jarのあるなしを見るとか、
function browserURI()
{
var handler = Components.classes['@mozilla.org/commandlinehandler/general-startup;1?type=browser'].getService(Components.interfaces.nsICmdLineHandler);
var uri = handler.chromeUrlForTask;
if (uri.charAt(uri.length-1) == '/')
uri = uri.replace(/chrome:\/\/([^\/]+)\/content\//, 'chrome://$1/content/$1.xul');
return uri;
}
でchrome://browser/content/browser.xulが帰ってくるかどうかを調べるとか。
805:デフォルトの名無しさん
04/07/29 23:01
piro氏のTBEはインスコ時に判定しとくって手を使ってるみたいね
806:デフォルトの名無しさん
04/07/30 02:57
インスコ時はbrowser.jarを見て、
インストール後の動作では>804の後者の方法を使ってます。
807:デフォルトの名無しさん
04/07/30 14:48
>>803
firefox 0.9以上なら新しいEM用なのか
about:configのapp:idにFirefoxのGUIDが書き込まれてます
インストール後なら、これを見て判断するというのはどうでしょう?
808:デフォルトの名無しさん
04/08/06 16:41
fileスキームのURIで示されたローカルファイルを削除する方法はありませんか?
たとえばfile:///C:/foo/bar.jpgだったり、file:///home/nanashi/bar.jpgだったり、
OSに依存しない方法があればいいのですが。
809:デフォルトの名無しさん
04/08/06 17:34
jslib使うとかそこからコードをぱくるとか
810:デフォルトの名無しさん
04/08/06 17:39
ってかただaFile.remove(true)でいいっぽい
811:デフォルトの名無しさん
04/08/06 18:54
ファイルのURIからnsIFileは作れないようです。
var aFile = Components.classes['@mozilla.org/file/local;1']
.createInstance(Components.interfaces.nsILocalFile);
aFile.initWithPath("file:///C:/foo/bar.jpg");
で、パスが認識できないと怒られます。
812:デフォルトの名無しさん
04/08/06 19:01
>>811
URLリンク(white.sakura.ne.jp)
813:デフォルトの名無しさん
04/08/06 19:17
>>812
ああ、まさにそちらに書いてあるとおりのことでした!
ありがとうございました。
814:デフォルトの名無しさん
04/08/08 02:24
で、だれか
URLリンク(www.unixuser.jp)
買ってないの?
815:デフォルトの名無しさん
04/08/08 02:51
仲村直人って意外な趣味持ってるんだな。
URLリンク(www.jbl.or.jp)
816:デフォルトの名無しさん
04/08/08 02:54
見事に同姓同名だな
817:デフォルトの名無しさん
04/08/14 12:13
URLリンク(nazo.europe.webmatrixhosting.net)
818:デフォルトの名無しさん
04/08/20 16:24
保守
819:デフォルトの名無しさん
04/08/23 04:32
現在フォーカスしているブラウザタブのアイコン(いわゆるfavicon)のURLを得る方法を模索しています。
top.window.document.getElementById("page-proxy-favicon").src
でとりあえずそれらしいものは得られるのですが…
820:デフォルトの名無しさん
04/08/23 13:14
>>819
gBrowser.selectedTab.getAttribute('image')でどうでしょう。
空以外ならfaviconと判断できそうな。
821:819
04/08/23 19:07
>>820
それでばっちりでした。どうもありがとうございました。
822:デフォルトの名無しさん
04/08/31 21:44
a.xulからopenDialog('b.xul')でダイアログを開き、そこでの入力結果をa.xulに返す
というかb.xulでの入力結果をa.xulで受け取る方法はありますでしょうか?
ただの文字列を入力させるだけなら、a.xulでvar input = prompt(...)で入力を受け取れますが、
今回はユーザに入力させたい項目が複数あるという状況であります。
823:デフォルトの名無しさん
04/08/31 22:14
>>822
b.xul から window.opener で a.xul にアクセスできるようだ。
使用例(JavaScript の詳細設定ダイアログ):
URLリンク(lxr.mozilla.org)
824:デフォルトの名無しさん
04/08/31 22:18
>>823
今試してできました。見事に簡単ですね!
825:デフォルトの名無しさん
04/08/31 22:18
>>822
openDialogは4番目以降の引数に任意のものを渡せます。
オブジェクトを渡せば処理結果を得ることもできます。
//a.xul
var obj = {};
window.openDialog('b.xul', '_blank', 'chrome,dialog,modal', obj);
alert(obj.result);
//b.xul
<dialog onaccept="window.arguments[0].result = document.getElemenntById('input').value; window.close()">
<textbox id="input"/>
</dialog>
モーダルダイアログにしないと処理結果を返す前にa.xulの処理が先に進んでしまうので注意。
826:デフォルトの名無しさん
04/08/31 22:30
//a.xul
var input = {};
window.openDialog('b.xul',...);
//b.xul
<dialog onaccept="window.opener.input.hoge = ...">
と書きましたが825さんの書き方もいいですね。
827:デフォルトの名無しさん
04/09/01 19:56
初めまして。
「ブラウジングの際に次ページをポップアップ表示する」という機能を作成しようとしています。
そこで質問なのですが、createElementNS()で作成したウインドウ(例えばAltポップアップのようなもの)の中に
Webページを表示することは可能でしょうか?
Elementをポップアップするより、window.openしちゃったほうがいいのかなぁ・・・
828:デフォルトの名無しさん
04/09/01 20:42
URLリンク(patsis.edula.com)
このLink Previewという拡張が似てますが、これはOpen Thumbshotsのサムネイル画像を
表示させているみたいです。ごく一部のサイトしかサムネイルが表示されません。
XUL側でWebページのサムネイル画像を作れたらいいですけど、ちょっと無理そうですね。
829:デフォルトの名無しさん
04/09/02 00:56
>>827,828
<button tooltip="hogetip" label="hoge" />
<tooltip id="hogetip"><iframe src="about:mozilla" /></tooltip>
とやってやれば、別ページをポップアップ表示することは"一応"できるようだが、
サムネイルを作る方法 or ページ表示を縮小する方法を知らないので教えられない。
830:デフォルトの名無しさん
04/09/02 01:49
URLリンク(multiscroll.mozdev.org)
これの縮小表示機能が参考になるかも
831:デフォルトの名無しさん
04/09/02 11:32
>>828, >>829, >>830
ありがとうございます! 参考にさせていただきます!
>>828の拡張は画像で表示するんですよね。
ポップアップしたページからまたポップアップ……と階層的に表示したいと考えているので確かにそれだと無理そうです。
>>830のようにページ表示を縮小する方向で作ってみることにします。
832:デフォルトの名無しさん
04/09/02 20:56
overlayで存続の要素を削除できますか?
833:デフォルトの名無しさん
04/09/04 19:22
>>832
存続の要素って?
834:デフォルトの名無しさん
04/09/04 20:17
既存の間違い?
835:デフォルトの名無しさん
04/09/04 21:07
>>834
そうです。
結局styleでdisplay:noneにして解決しました。
836:デフォルトの名無しさん
04/09/05 20:43
拡張でstyleを指定するのは、あまりよろしくない。
hiddenプロパティの方がいい。
837:デフォルトの名無しさん
04/09/05 21:11
xul.cssには
*[hidden="true"] { display: none; }
と書いてあるんだけどね。
838:デフォルトの名無しさん
04/09/06 12:38
>>837
そういう問題ではない。
839:デフォルトの名無しさん
04/09/06 17:47
>>836
何故でしょうか?
stylesheetをオーバーレイさせて、ほぼ一意性があるようにセレクタを設定しました。
そこを追加・削除できる拡張とバッティングするはずですが、hiddenプロパティーでも同じはずなので一番いいのはDOMで要素ごと削除だと思いますが、ちょっとめんどくさい…
#日本語って難しい
840:デフォルトの名無しさん
04/09/07 00:53
ほぼ一意性があると思ってるんならそれでいいんじゃない?
DOMで要素を削除するのはやめた方がいい。
841:デフォルトの名無しさん
04/09/07 22:40
0.9対応の拡張を1.0対応にさせるにあたって、変更すべきところは
install.rdfの対応バージョンのところだけでしょうか。
842:デフォルトの名無しさん
04/09/08 03:25
ローカルファイルの変更を監視してイベントを発せさせるようなことはできますか?
843:デフォルトの名無しさん
04/09/10 18:18:23
>>802
いまのところ、URLからHTMLDocumentオブジェクトを作るのはできないのでしょうか?
browser要素などを隠してdocumentを得るのはダサいですよね。
HTMLDocumentからanchorエレメントを得て先読みするものを作りたいのですが
何かいい方法内でしょうか?
あと、DOMImplementationのcreateDocumentからHTMLDocumentが返ってくることって
あるんですかねぇ。
XMLDocumentだとできるようだが・・・。
844:デフォルトの名無しさん
04/09/12 08:34:30
>>828-829
サムネイルを作るというかスクリーンキャプチャ撮影のインターフェースならあるようなのですが、
実装はされていないようですね。
URLリンク(xulplanet.com)
845:デフォルトの名無しさん
04/09/14 13:43:31
>>795-802, >>843
nsIDocumentLoaderFactory というのを発見したので、試しに
Components.classes["@mozilla.org/content-viewer-factory/view;1?type=text/html"]
を呼んでみたが、実装されていないのか動かない。
846:845
04/09/16 01:38:45
Components.classes["@mozilla.org/content/document-loader-factory;1"].createInstance(Components.interfaces.nsIDocumentLoaderFactory)
はきちんと返しているみたいだけれども、
nsIDocumentLoaderFactory::createBlankDocument(in nsILoadGroup, out retval nsISomething);
の引数である nsILoadGroup の扱い方がわからなかった。
847:845
04/09/16 01:48:58
開きなおって、webShell から作ってしまうことにしたら HTMLDocument が得られるm模様。すなわち:
var webnavi = Components.classes["@mozilla.org/webshell;1"]
.createInstance(Components.interfaces.nsIWebNavigation);
webnavi.loadURI("about:blank", 0, null, null, null);
webnavi.document;
を JavaScript Console に投げ込むと、[object HTMLDocument] が手に入れられた。
>>353
こういうのをまとめる Wiki みたいのがあると便利だな...
848:デフォルトの名無しさん
04/09/16 22:34:16
>>847
Firefoxまとめサイトにそういうページを作ればいいのでは?
wikiの乱立はやめてほしい
849:デフォルトの名無しさん
04/09/19 12:26:13
あまり知られてないけど、mozilla.orgにもwikiあるんだよね。
URLリンク(wiki.mozilla.org)
850:デフォルトの名無しさん
04/09/20 12:14:34
>>847
確かに返ってきますね。
でも、loadURIでuriを指定してもダウンロードはしている様だけど
中身が入ってないっぽい?
851:デフォルトの名無しさん
04/09/20 13:37:13
timerかlistener使って読み込み待ちすればいいのでは?
852:デフォルトの名無しさん
04/09/20 18:18:47
SOAPのネストができないorz
SOAP_PROPERTYBAG_REQUIRED: When encoding as a struct, an object with properties is required
とかいわれる
idlist=new Array();
idlist[0]=new SOAPParameter("text","id");
idlist[1]=new SOAPParameter("text2","id");;
params[0]=new SOAPParameter(idlist,"IDList");
どうすればいいでしょうか?
853:852
04/09/20 19:01:14
ってかwsdl使えるのね
どっか解説サイトないかなぁ
854:852
04/09/20 20:32:52
やっとできた
idlist={
id:"text"
id:"text2"
}
855:デフォルトの名無しさん
04/09/20 22:22:45
ってだめだ
名前空間のの設定ができねぇorz
856:デフォルトの名無しさん
04/09/25 02:44:57
Firefox1.0PR での話なのですが、
URLリンク(www.mozilla.gr.jp)
この通りに installed-chrome.txt を記述しても、
chrome.rdf に書き込まれず、xul が追加できません。
理由が解る人が居らっしゃたら、御教え願えないでしょうか?
……install.rdf を作って、xpiでインストールするしか無いのかなぁ。
857:デフォルトの名無しさん
04/09/25 03:32:18
>>856
URLリンク(fls.moo.jp)
こっちを見た方がいいかも
858:856
04/09/25 04:09:11
>>857
おおっ、ありがとう。
試してみます。
859:デフォルトの名無しさん
04/09/30 00:08:22
Firefoxに自作の機能拡張入れてみたんだが
localeのja-JPのリソースが使用されないんですが何か設定いりますか?
自作のが駄目で、メジャーなのをいくつか入れてみたけど全部en-USのが使われました。
Firefox自体は通常インストールで何もいじっていません。
860:デフォルトの名無しさん
04/09/30 01:06:09
Firefoxのバージョンは?JLP組み込み済みの日本語版をインストールしたなら、
URLリンク(firefox.geckodev.org)
861:デフォルトの名無しさん
04/09/30 04:00:00
>>860
ありがとうございます。
ずばりそれでした。
↓も参照しました。
URLリンク(moz.skillup.jp)
本体側の問題のようですね、1.0の時には直っていて欲しいものです。
862:デフォルトの名無しさん
04/10/01 03:55:10
Javaから使えるXUL処理系を探していて、
URLリンク(luxor-xul.sourceforge.net)
というのを見つけたんだけど、使ったことのある人いる?
URLリンク(www.javadesktop.org)
なんて言われていたりもするんで、どうなのかなーと思ったんだけど。
863:デフォルトの名無しさん
04/10/01 04:11:22
luxorのXULはMozillaのXULと違う所が結構あると聞いたことがある気がする
864:デフォルトの名無しさん
04/10/05 21:08:37
URLリンク(www.neowin.net)
読んで、XULRunner やる気みたいだけど実際やってんのかなぁ、と思って LXR 見たら
URLリンク(lxr.mozilla.org)
あったよ。2,3 ヶ月したらバイナリでてくるかな?
865:デフォルトの名無しさん
04/10/06 18:59:36
>>863
結構ある、どころか全くの別物だよ。
とりあえず、このスレのXULとは何の関係もない。
866:デフォルトの名無しさん
04/10/07 00:28:26
質問です。template の構築が終了したタイミングをとるはどうやったらいいのでしょうか。
template で listbox を構築した後で、任意の要素を選択したいのです。今、↓のようにtemplate のビルドを完了したイベントを入手して処理しているのですが、しばしばビルド完成前に didRebuild が呼ばれるようで、うまくいきません。
oListbox.addListener({
didRebuild : function(aBuilder){
oListBox.selectedIndex = 1;//例えば最初のアイテムを選択してみる
},
willRebuild : function(aBuilder){},
QueryInterface : function(aIID){
if(aIID.equals(Components.interfaces.nsIXULBuilderListener)
aIID.equals(Components.interfaces.nsISupports)) return this;
throw Components.results.NS_NOINTERFACE;
}
});
867:866
04/10/07 00:30:41
訂正:oListbox.addListener(... じゃなくて oListbox.builder.addListener でした。
URLリンク(www.xulplanet.com)
868:デフォルトの名無しさん
04/10/08 19:54:15
拡張の更新確認用のrdfの書き方についてお尋ねします。
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="URLリンク(www.w3.org)"
xmlns:em="URLリンク(www.mozilla.org)">
<rdf:Description about="urn:mozilla:extension:{***GID***}">
<em:version>1.0</em:version>
<em:updateLink>URLリンク(***)
</rdf:Description>
</rdf:RDF>
以上のような書式でrdfをアップしておきました。
これに対して、install.rdfに<em:version>0.9</em:version>とした拡張を
ツール > 拡張機能 > 確認 とやってみたところ、更新されたパッケージが見つかりませんでした
になってしまいました。
おそらくはrdfの書式が間違っているか足りないのかと思いますが、
最低限の正しい書式はどのようになるか、教えていただきたいです。
869:デフォルトの名無しさん
04/10/08 21:45:58
>>868
1.0から仕様が変わりました。
是とか参考にすれば分かるはず
URLリンク(cdn.mozdev.org)
870:868
04/10/08 22:44:32
>>869
できました。ありがとうございました。
どうやら更新確認のrdfにもキャッシュが効いてたせいで余計混乱してたみたいです。
871:デフォルトの名無しさん
04/10/09 07:55:19
キーバインドでの質問なのです。
以下のものを *.xul で保存して Firefox(0.10.1) で読み込み、
Alt + 何か を押すと(k以外の何でも)反応してしまい、他のショートカットを上書きしてしまいます。
何が悪いのかさっぱり解らないのですが、ヒントだけも教えてもらえないでしょうか?
<?xml version="1.0"?>
<window id="keyconfigOverlay"
xmlns="URLリンク(www.mozilla.org)">
<keyset id="mainKeyset">
<key id="keychk" keycode="k" modifiers="alt" oncommand="alert('hoge');" />
</keyset>
</window>
872:デフォルトの名無しさん
04/10/09 09:39:37
keycode じゃなくて key
modifiers の値は alt より accel のほうがいいかも。
873:デフォルトの名無しさん
04/10/09 11:34:35
ここらあたりも読んでおくと吉かと
URLリンク(www.mozilla-japan.org)
Mozilla キーボード・プラン FAQ とクロスリファレンス
874:デフォルトの名無しさん
04/10/09 14:35:07
>>872-873
ありがとう。
思い通りになりました。m(_ _)m
しかし、accelは使用済みが多いし、ctrl+altも駄目となると、結構厳しいですね……
875:デフォルトの名無しさん
04/10/09 18:14:24
俺は ctrl(accel)+shift をよく使う。空いてるし。
876:デフォルトの名無しさん
04/10/09 18:34:47
>>866 まだ見てるかな?
listbox の中身を rdf ファイルから読み込んで template で作るとき
rdf の読み込みが非同期なので template 内の要素にアクセスできないことがある。
listbox の datasources をまず rdf:null にしておいて、
var RS = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var DS = RS.GetDataSourceBlocking("chrome://[rdf の場所]");
var oListBox = document.getElementById("[listbox の ID");
oListBox.database.AddDataSource(DS);
oListBox.builder.rebuild();
oListBox.selectedIndex = 1;
rdf がローカルならこれでいいんじゃないかな。
rdf がリモートなら RS.GetDataSource , DS.addXMLSinkObserver 使う。
的外れだったらスマソ
877:866
04/10/09 23:34:29
>>876
GetDataSourceBlocking ですか、ありがとうございます。ただ、これだけだと selectedIndex = 1; がうまく動きませんでした。
どうやらここでの非同期な動作は、「RDF 読み込み」と「template による要素の生成」のふたつのようで、>>876 は前者、>>866 は多分後者の処理の終了を受け取る方法だと思いました。
そこで >>876 の最後の行 oListBox.selectedIndex = 1; の手続きを >>866 の方法で行うことにしたら、正常に動作するようになりました。
878:デフォルトの名無しさん
04/10/10 17:25:54
キャッシュのすべてのエントリを取り出す方法はありませんでしょうか?
nsICacheServiceにvisitEntriesなるメソッドがあったりしますが…。
879:デフォルトの名無しさん
04/10/10 21:54:45
>>878
まさにそれですね。
var myCacheVisitor={
QueryInterface : function(aIID)
{
if (aIID.equals(Components.interfaces.nsICacheVisitor))
return this;
throw Components.results.NS_NOINTERFACE;
},
visitDevice : function(aDeviceID, aDeviceInfo){return true;},
visitEntry : function(aDeviceID, aEntryInfo){return true;}
};
こんな風に自分でオブジェクトを作って渡すと、cacheServiceが
myCacheVisitor.visitEntry(aDeviceID, aEntryInfo)を呼んでくれます。
falseを返すとそこで止まります。
URLリンク(developer-test.mozilla.org)
こんなのがあったんですね。
公式版xulplanetか…
880:878
04/10/10 23:00:08
>>879
すげえ、できました!感動です。
881:デフォルトの名無しさん
04/10/16 10:41:10
XBL から外部の、例えば hoge.js を読み込む方法はありませんでしょうか?
882:デフォルトの名無しさん
04/10/16 13:39:32
xul の名前空間指定しておいて
<xul:script src="..."/> とか >>242-246 の mozIJSSubScriptLoader 使うとか。
chrome:// 内じゃないと無理だけど。
883:デフォルトの名無しさん
04/10/18 01:40:17
<xul:script src="..."/>はエグイな。
884:881
04/10/19 18:35:24
>>242 を参考にすることで実現できました。 882 さんありがとうございました。
<constructor><![CDATA[
const scriptLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
.getService(Components.interfaces.mozIJSSubScriptLoader);
scriptLoader.loadSubScript("chrome://somepackage/content/common.js", this); //this に対して読み込む
...
]]></constructor>
885:デフォルトの名無しさん
04/10/24 12:33:05
Firefox用の拡張のロケールマニフェストに仕様変更があります。
URLリンク(www.saintpatrickdc.org)
886:デフォルトの名無しさん
04/10/24 12:35:14
onkeypress とかのイベントハンドラでキー入力を検知できますが、
Input Method を使った(Atok,IME,ことえり,XIMとかの)日本語入力を検知する方法はありませんか?
887:デフォルトの名無しさん
04/10/24 13:22:01
>>886
C++とかでコードを書けば可能なのではないかと。
888:デフォルトの名無しさん
04/10/24 14:13:54
nsIDOMCompositionListenerをがんばって実装するしかないな。
URLリンク(lxr.mozilla.org)
889:886
04/10/24 14:59:40
nsIDOMCompositionListener::HandleEndComposition で処理できるように見えるけれども、
Components.interfaces.nsIDOMCompositionListener
が JavaScript で呼び出せないから、
Seamonkey の nsTypeAheadFind.cpp のように C++ でがんばるしかないようです。
URLリンク(lxr.mozilla.org)
890:デフォルトの名無しさん
04/10/24 23:56:34
インターフェイスをヘッダで定義してるのは、ネスケ時代の古いコードだね。
891:デフォルトの名無しさん
04/10/28 02:20:49
XULでファイルの圧縮はできますか?解凍はできそうなかんじですが。
892:デフォルトの名無しさん
04/10/28 17:06:14
できない。解凍はできる。
893:デフォルトの名無しさん
04/10/30 05:01:26
documentのHTMLソースを文字列として取得したいのですが、
document.getElementsByTagName("html")[0].innerHTMLの前後にHTMLタグをくっつける以外の方法はありますか?
894:デフォルトの名無しさん
04/10/30 05:30:18
XMLならnew XMLSerializer()のserializeToString()という手もありますが、
できればHTMLのまま取得したいです。
895:デフォルトの名無しさん
04/10/30 21:12:08
こんな方法もあったり。
var request = new XMLHttpRequest();
request.onload = function() { alert(request.responseText); };
request.open('GET', document.location.href);
request.send(null);
ただ、このためだけに通信を行わなくてはならないのが難ですね。
896:デフォルトの名無しさん
04/11/01 22:28:59
>>895
その方法でできました。やはり通信が必要な分タイムラグが生じてしまいますが。
続けて質問させてください。
バイナリファイルをFTPでアップロードする方法を教えてください。
アスキーならBookmarksFTPを参考にして
var sis = Components.classes['@mozilla.org/io/string-input-stream;1'].createInstance(Components.interfaces.nsIStringInputStream);
this._channel = SBservice.IO.newChannelFromURI(uri).QueryInterface(Components.interfaces.nsIUploadChannel);
try {
sis.setData("HOGE", -1);
this._channel.setUploadStream(sis, "text/xml", -1);
this._channel.asyncOpen(this, null);
this._callback("send", status);
…
という方法で簡単にできたのですが…
897:デフォルトの名無しさん
04/11/01 22:32:30
>>895
その方法でできました。やはり通信が必要な分タイムラグが生じてしまいますが。
続けて質問させてください。
バイナリファイルをFTPでアップロードする方法を教えてください。
アスキーならBookmarksFTPを参考にして
var sis = Components.classes['@mozilla.org/io/string-input-stream;1'].createInstance(Components.interfaces.nsIStringInputStream);
this._channel = IO_SERVICE.newChannelFromURI(uri).QueryInterface(Components.interfaces.nsIUploadChannel);
try {
sis.setData("HOGE", -1);
this._channel.setUploadStream(sis, "text/xml", -1);
this._channel.asyncOpen(this, null);
this._callback("send", status);
…
という方法で簡単にできたのですが…
898:デフォルトの名無しさん
04/11/02 05:28:18
fireftp(だったっけ? firefoxにFTPの機能を加えるやつ)のソースを覗くとわかるかも。
899:デフォルトの名無しさん
04/11/03 17:56:36
スクリプト上でどうやってバイナリを表現しているかにも拠りますが…
バイナリファイルのことだったら、そこのsisのかわりにnsIFileInputStreamを
もってきて、initすればそのまま使えます。
今日はnsIInputStreamの話ばっかりだな…
900:デフォルトの名無しさん
04/11/05 06:58:32
>>898
ありがとうございます。FireFTPのソースを見てまいりましたが、根本的にやり方が違うようでした。
ソースが非常に長くて大変ですが、じっくりと読みこなそうと思います。
>>899
BookmarksFTPを参考に以下のように書き換えてみましたが、
アップロード先を見ると、0byteのファイルとなっています。
アスキーのときはきちんとアップロードされたのでパーミッションとかには問題ないと思いますが。
以下、コードの抜粋ですみません。
var fis = Components.classes['@mozilla.org/network/file-input-stream;1'].createInstance(Components.interfaces.nsIFileInputStream);
this._channel = IO_SERVICE.newChannelFromURI(aURI).QueryInterface(Components.interfaces.nsIUploadChannel);
try {
fis.init(aBinFile, 1, 0, false);
this._channel.setUploadStream(fStream, "", -1);
this._channel.asyncOpen(this, null);
this._callback("send", status);
return true;
} catch(e) {
}