Mozillaでプログラミング(XUL)
■ このスレッドは過去ログ倉庫に格納されています
0001Moziller
NGNGMozilla 1.0 RC1がリリースされ、
XUL 1.0の仕様が一応フリーズしました。
なので、そろそろXULアプリケーションも出始めることでしょうし(希望的観測)
MozillaでのXULプログラミングについて騙りませんか。
Mozillaスレッド M10
http://pc.2ch.net/test/read.cgi/software/1019550671/
0672デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/SiliconValley-SanJose/9076/quickprefs/
http://extensionroom.mozdev.org/clav/#prefbuttons
0673デフォルトの名無しさん
NGNGありがとう。
0674デフォルトの名無しさん
NGNGその辺のソースについて詳しく載っているサイトはありませんか?
0675デフォルトの名無しさん
NGNGhttp://xulplanet.com/tutorials/xultu/keyshort.html
このへんの Key Example でわかるんでないかな。
Overlay してる場合はソース見ないと分からんけど、たとえば
<keyset id="(overlay する id)">
<key id="hotkey_slashzilla" key="s" modifiers="accel,shift" oncommand="<開く関数>"/>
</keyset>
こんなんで ctrl+shift+s で開くようになるんじゃないかな。
0676674
NGNGszoverlay.xulのソースが以下のようになっているんですが
<?xml version="1.0"?>
<overlay id="slashzillaOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!-- 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にしても同様でした
0677デフォルトの名無しさん
NGNGテストできないんだけど、たぶん…
keyset は navigator.xul の keyset に overlay しなきゃ。
DOMInspector で id 調べると navKeys になってる。
また、broadcaster 使ってるから、
http://www.xulplanet.com/tutorials/xultu/broadob.html
を参考にして、
<keyset id="navKeys">
<key id="hotkey_slashzilla" key="s" modifires"accel,shift" observes="viewSlashzillaSidebar"/>
</keyset>
これでどうかな。
0678677
NGNG0679674
NGNG使用ブラウザはFirefox0.8 4/3nightlyです
0680677
NGNGslashzilla.mozdev.org 見て使えないものとばかり思ってた。
それはともかく Firefox なら <keyset id="mainKeyset"> にしちくり。
0681674
NGNG<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用に弄って使用しています
0682677
NGNG勘違いしまくりでスマソ # 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>
0683674
NGNGおかげさまでできました
#もっとxulやjsの勉強しなければ・・・
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGgetElementByAttribute
http://forums.mozillazine.org/viewtopic.php?t=69302
childNodes
http://forums.mozillazine.org/viewtopic.php?t=69556
要するに、返り値のNodeListが
いわゆる"live"(treewalker的な)ではない、
ということですね。
もちろん、treewalkerをつかえば、
従来のような事が出来ると思います。
0686デフォルトの名無しさん
NGNGちょっとじゃない〜 詳細はここにも。
http://www.xulplanet.com/ndeakin/article/256?show=c
Scriptable Object Referance 追加と commands, updating commands は
まとまった情報がなかったんで助かる〜
0687デフォルトの名無しさん
NGNGひょっとして、エントリーがなかったとか?
コンテストを開くこと自体はたいへん良いと思うので、
告知を3ヶ月前くらいからやってほしいですね。
でも、パーティ関連にすると難しいのかもしれないなぁ。
じゃあ、お前が企画しろよ、って言われると、
参加者を集められる自信は全くないが…
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG去年はpiro氏のやつとmoz2chが出てたような記憶が。
0690デフォルトの名無しさん
NGNGRSS Reader Panelのflyson氏は出品されていませんでした。
だいたいそんなとこで。
0691デフォルトの名無しさん
NGNGこのスレに時々来る通りすがりの人のブックマークのやつはどうでした?
0692デフォルトの名無しさん
NGNG出てたのは
・http://white.sakura.ne.jp/~piro/xul/xul.html
Ez Sidebar・Sidebar Window/タブキラー/テキストリンク/あと一つ(おもいだせない)
・http://www013.upp.so-net.ne.jp/unha999/fmutil/fmutil.html
・http://mimic.gelsoft.jp/(繋がらない…?インスタントメッセンジャーです。)
・http://www.smellman.homelinux.org/mozilla/xul-hack.html (カップラーメンタイマー)
・http://tkm.s31.xrea.com/xul/xulmigemo.shtml
0693デフォルトの名無しさん
NGNGなるほど。
重ね重ね、ありがとう。
0694デフォルトの名無しさん
NGNGhttp://www.bengoodger.com/software/mb/extensions/howto.html
0695デフォルトの名無しさん
NGNGまあ、前に競べたら、納得の内容ですね。
icon関係もうまく処理されているようです。
0696デフォルトの名無しさん
NGNGdraft 段階のものを読むと
http://jt.mozilla.gr.jp/projects/firefox/extensions/index.html
install.js は後方互換のためか残されそうだけど。
個人的にはコマンドラインオプション実装して欲しい…
0697デフォルトの名無しさん
NGNG一方的に無視されるだけなので、
たとえば、mozillaにインストールしたときは、
install.jsの内容が反映されることになります。
従来のinstall.jsが内部で行っていた、いわゆるscript然とした
細やかな設定は、html側のInstallTrigerで行うべきだ、
というのが、Ben Goodgerの持論なので。
>コマンドラインオプション
なぜ?
0698デフォルトの名無しさん
NGNGひょっとして、複数の言語パックを同時にインストールできたりするように
なるのかなぁ。
0699デフォルトの名無しさん
NGNGコンテスト用に何か書き降ろさないといけないのかと思ってました。
実は、無圧縮PNGを吐くアイコンエディターを
ネタで作ろうと思っていたのですが…
ところで、私が不甲斐ないばっかりに、
いろんな人が、blogで拡張の解説文を書いてくれています。
ttp://kengo.preston-net.com/archives/001281.shtml
ttp://scramble.no-ip.org/archives/cat_13.html
あと、朝顔日記様とか。
どうもありがとうございます。
0700デフォルトの名無しさん
NGNGがついに動きだすようですね。
http://forums.mozillazine.org/viewtopic.php?t=78912
0701デフォルトの名無しさん
NGNG結構イイ感じで動いてます。
0702デフォルトの名無しさん
NGNGJLPのxsltスレは純粋な読み物としても、結構面白いです。
ttp://moz.skillup.jp/jlp/viewtopic.php?t=96
で、先程parseをgoogle英和で調べてみたら、構文解析と書いてあります。
もちろん、私にとって一番わかりやすい訳は「パース」なのですが、
まあ、構文解析でも意味が通らなくはないなぁ、と感心してみたり。
パースは「分析」だけでなく、「読み込む」事自体の意味が加味されている
のが通例なので、「解析」よりは「解釈」の方がしっくり来ます。
例えば、parseIntの10進数と16進数なんかは、解析方法が違うのではなくて、
解釈方法が違う、って言ったほうがより自然な日本語だと思いませんか?
ただ、parse errorは「解釈失敗」より「解析失敗」の方がきれいな言葉ですよね…。
辞書に載っている以上、凡例が少なからずあるはずだから、やはり侮れません。
それでも、「XMLとして解析できません」よりは、「XMLとして解釈できません」
の方がいいと思うのですが…。
その他で気になったのは、"call"の訳語です。
確かに、「呼び出す」より「呼ぶ」の方が日本語として熟れているとは思いますが、
明らかにテクニカルタームなので、ここは「呼び出す」の方に一票を投じたいです。
「〜を呼ぶ」という文ではどれだけこなれていても、
日本語としての不自然さはどうしようもないですから、
日常的な意味ではないことを強調した方が親切でしょう。
0703デフォルトの名無しさん
NGNGXUL で作ったアプリも、ある程度の重量感は覚悟する必要があるのでしょうか?
0704デフォルトの名無しさん
NGNGモノに拠ります。
XPCOMをロードして使うようなタイプのアプリは速いです。
逆にfor文で100万回まわすようなスクリプトを書けば、
重くなります。
インタープリターなので当然ですね。
0705デフォルトの名無しさん
NGNGXULに関係ない話につっこんで悪いんだけど
parse = 構文解析
っていう翻訳はコンパイラの教科書なんかで昔っから使われているから
日本で計算機科学系の学科に居た人はみんなそう訳すんだと思う…
で,parseに「読み込む」っていう意味が加味されているっていうけど
コンパイラの教科書的には,
【字句解析】→【構文解析】→【意味解析】→【最適化】→【コード生成】
とフェーズを分けて教えるんで「読み込み」は 構文解析器(parser)の
仕事とは考えない傾向がある気がする…
0706デフォルトの名無しさん
NGNGXUL 分かってなかったです。すまそ。
C からも使える物と思ってた。
0707デフォルトの名無しさん
NGNGCからも使えますよ。
Mozilla.orgにも、サンプルコードくらいはあったと思います。
ただ、コンパイルすると、当然プラットフォーム依存になります。
単純にUIがほしいのなら、それとトレードオフで得る速度は釣り合いません。
MFCやGTKのリソースファイルも、
UIの部分はテキストで箇条書き(?)にしてあるだけですよね。
アセンブリングの恩恵は、ほとんどないと思います。
処理が重いなら、スクリプトをC++に移植する、
という手がありますがね。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGタブブラウザ拡張も XPCOM/C++ で書き直すと速くなるんだろうなぁ...
0711デフォルトの名無しさん
NGNGタブ拡が遅いですと?
0712デフォルトの名無しさん
NGNG全部書き直さなくても、パッチとしてマージするだけでもいくらか速くなると思う。
0713デフォルトの名無しさん
NGNGOption to determine how other applications open new windows
http://bugzilla.mozilla.org/show_bug.cgi?id=172962
のターゲットマイルストーンがfirefox1.0betaになってますね。
どうやら、本気で実装されそうです。
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNG32*32のアイコンが指定できるので、
某狐女のトレードマークを世界に向けて発信しようと思ったのですが、
なんか、お下品な連想をしてしまったのでやめました。
ttp://cgi29.plala.or.jp/~mozzarel/addon/aviary/externalapp/icon.png
なんというか、角度も重要なのかなぁ。
0717デフォルトの名無しさん
NGNGGTKをラッピングしてるの?
0718デフォルトの名無しさん
NGNGまあ、100パーセントそうだとは言えないけど、
gtkが使える環境ならそう言って差し支えない程度には使ってるな。
0719デフォルトの名無しさん
NGNG文字コードはどうすべきですか?UTF-8など色々試しましたがどれも化けます。
それともlocaleを使うべきなんでしょうか。
0720デフォルトの名無しさん
NGNGファイル名はシステムの文字コードに依存するのでは?
WindowsならShift_JISかUTF-8でしょうか。
うまくいかないのはUConvでの文字コードの変換に失敗しているからではないかと予想。
0721デフォルトの名無しさん
NGNGつまり、alert("こんにちは");とかやると文字化けしてウィンドウが表示されます。
0722デフォルトの名無しさん
NGNG\u3053\u3093\u306b\u3061\u306f
みたいにUnicodeエスケープするしかないかも知れない。
0723デフォルトの名無しさん
NGNGやはり開発はすべて英語でやって、後からlocaleを付け加えるのが常識的なのでしょうか?
0724デフォルトの名無しさん
NGNGでもそうすると、script自体がパースされないだろうから、
クォーテーションの中だけUTF-16という
変則的な文字コードにしなきゃいけない。
結局、localeを追加した方が安上がりなのよ。
0725デフォルトの名無しさん
NGNG詳しく教えていただいて、どうもありがとうございました。
0726ヽ(゚∀゚)メ(゚∀゚)ノ
NGNGハードコーディングしないでlocaleを使用するようにしてるです。
但し、テストコードのような物だといちいちlocaleを書くのがめんどいという
後ろ向きな理由ですが、EUCで文字列を書いてnsIScriptableUnicodeConverter
を使ってEUC→UNICODEしてから表示するようにしてるです。
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/moz2ch/moz2chfirefox/content/moz2ch/charset.js?rev=1.2&content-type=text/vnd.viewcvs-markup
この辺参考にしてくださいです
0727デフォルトの名無しさん
NGNG新EMでインストール/アンインストールするパッチを書いてみました。
ttp://cgi29.plala.or.jp/~mozzarel/addon/aviary/FolderExtForNewEM/
0.9の場合、componentsフォルダに入っているnsExtensionManager.jsを
ttp://cgi29.plala.or.jp/~mozzarel/addon/aviary/FolderExtForNewEM/nsExtensionManager.js
と差し替えれば、ちゃんと動くはずです。
ナイトリーに使うのであれば、diff.txtをソースにあててください。
ただ、このバグがfixされた方がいいかどうかは微妙ですね。
もちろん、出来るにこした事はない、とは思いますが、
拡張やテーマを自分で書かない限り不要(いわゆるbloated)な気もします。
0728デフォルトの名無しさん
NGNG_contentのかわりにcontentを使いましょう
http://bugzilla.mozilla.org/show_bug.cgi?id=240947
0729デフォルトの名無しさん
NGNG特に何もしていませんが、私の拡張も(なぜか)2つだけ入っています。
新EM対応版を公表(?)した時期に関係がありそうです。
勝手にアップデートしてくれるのなら楽でいいや、
と思っていたのですが、どうやら初回サービスのみのようです。
更新しても、反映してくれません。
うそくさいダウンロード数が少しづつ増えるのをみるのは楽しいですが、
コメントに反論できないのがちょっと。
ちなみに、私の周囲では
"Must Have!"という、おばかなフレーズが流行っています。
0730デフォルトの名無しさん
NGNGメーラーでアカウントを選択しているとスペースキーやNで次の未読に
移動できないのが不満で、comm.jarやmessenger.jarを直接書き換えて
目的を達成したんだけど、こういうのもxpiで実現可能?
xpiさっぱり分からん。
0731730
NGNG--- 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;
]>
0732デフォルトの名無しさん
NGNG可能です。
空の拡張をつくって、contents.rdfで
chrome://communicator/content/utilityOverlay.xulをoverlayしてやればいいのです。
ただ、ロケールはoverlayのdoctypeに完全に依存するので、
utilityOverlayにdoctypeがなかったら、
utilityOverlayを手元にコピーしてdoctypeを追加したものを
あらためてoverlayした方が安全かもしれません。
0733デフォルトの名無しさん
NGNGhttp://lxr.mozilla.org/mozilla/source/xpfe/communicator/resources/content/utilityOverlay.xul
0734730
NGNG一応XULチュートリアルの日本語訳も読んでいるが、分量が多くて
どこが該当するのかも分かりません。参考になりそうな拡張ってありますか?
それはともかく、xpiで実現可能というのが分かったのはありがたいです。
0735デフォルトの名無しさん
NGNGFirefox Help 日本語版あたりで探してみると良いかも。
やり方はそのままSuiteにフィードバックできるので。
0736デフォルトの名無しさん
NGNGthanx. 動きますた。
*contents.rdf
<?xml version="1.0"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
<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>
0737デフォルトの名無しさん
NGNG<?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>
0738デフォルトの名無しさん
NGNGメーラーの方は、mail3PaneWindowCommands.js, mailWindowOverlay.js, mailWindowOverlay.js を
書き換えて動作を変更しているのですが、こちらは実現できますかね。
一部の関数のみをxpiで差し替えて動作させるようなことはできますか。
それともoncommand=で呼び出される関数から変更した関数に至るまでの部分を
すべてコピーする必要があったりしますか。
0739デフォルトの名無しさん
NGNG直接utilityOverlay.xulをoverlayしてみては?ということです。
お分かりかと思いますが、overlayには2通りの方法があります。
ひとつは、「xulに直接<?xul-overlay?>を埋め込む」やりかたで、
もうひとつは「パッケージをインストールする」ことです。
結論から言いますと、この種の拡張(?)ではxulファイルが一切不要です。
0740デフォルトの名無しさん
NGNGできます。
javascriptの面白い点は、関数といえども、オブジェクトのひとつに過ぎない、
と言う点です。
よって、代入できてしまうのです。
値は他の関数でもいいのですが、
名前空間を不必要に汚すよりは、
関数リテラルを代入するほうが望ましい、と思われます。
0741デフォルトの名無しさん
NGNG<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通りの方法があります。
すんません。よく分かっていません。
0742デフォルトの名無しさん
NGNGそうです。そういうことです。
>よく分かってない
>>736,>>737では両方使っていたんですよ。
utilityOverlay.xulを736にoverlayして、
736をdowloadmanger.xulにoverlayしていたわけですよね。
>>741は一回しか使わなくて済んでいます。
当然741の方がお薦めです。
0743デフォルトの名無しさん
NGNGようやく分かってきました。
さて、次は関数の差し替え方法か。
0744デフォルトの名無しさん
NGNGそんなに難しい事じゃないですよ。
例えば openURI() を乗っ取るなら
window.openURI = function(aURI, aReferrer) {
// hogehoge
}
と書くだけでもOK。
内部で元の関数の機能を呼び出したいなら
var originalOpenURI = window.openURI;
window.openURI = function(aURI, aReferrer) {
// hogehoge
originalOpenURI(aURI, aReferrer);
// foobar
}
という具合です。
元の関数を保持しておくオブジェクトの名前が他とかぶると
いけないからということで、後者についてはいくつかやり方があります。
上は一番単純な例。
0745デフォルトの名無しさん
NGNGスクロールするようにする拡張を作ってみました。上の方法でばっちり動きました。
せっかくですので下の方法についてもう少し解説していただけるとうれしいです。
0746デフォルトの名無しさん
NGNG>>774後半の例は以下のような内容です。
1. 関数オブジェクト "(window.)openURI" の内容である関数を参照するエイリアスを
"originalOpenURI" という名前で作成。
2. "(window.)openURI"というエイリアスの参照先として新しい匿名関数を定義する。
3. 省略
4. "originalOpenURI"のエイリアスで参照している関数を実行。
5〜6. 省略
つまり
window.openURI => "function openURI()"
となっていたのを
originalOpenURI => "function openURI()"
window.openURI => "function()"(匿名関数)
に変更するということ。
0747デフォルトの名無しさん
NGNGポップアップ抑止の機能を導入すると、閲覧するWebページの先頭に
var SymRealWinOpen = window.open;
function SymWinOpen(url, name, attributes)
{
return (new Object());
}
window.open = SymWinOpen;
こんな感じのJavaScriptを挿入してきます。
やってることはこれと一緒です。
0748デフォルトの名無しさん
NGNGjsにとってのオブジェクトは実体そのものだからね。
本等にエイリアスなんだったら、名前解決が元のままのはずだしね。
0749デフォルトの名無しさん
NGNGえー、すんません、そういうことではなくて、
>元の関数を保持しておくオブジェクトの名前が他とかぶると
>いけないからということで、
の、回避方法はどういうのがあるのかなーということです。
0750デフォルトの名無しさん
NGNGその1。一意な名前の変数にする。
名前空間URIのようにすればほぼ確実。
window['http://hoge/fuga:openURI'] = window.openURI;
window.openURI = function(uri, ref) {
// hoge
window['http://hoge/fuga:openURI'](uri, ref);
// fuga
}
その2。クロージャを使う。
function init() {
var originalFunc = window.loadURI;
window.loadURI = function(uri, ref) {
//hove
originalFunc(uri, ref);
//fuga
}
}
init();
この例でいうinit()の部分さえ名前がかぶらなければ、
変数originalFuncは関数外部からはアクセス不可能なので
破壊される恐れもない。
0751デフォルトの名無しさん
NGNGなるほど。ありがとうございます。
メーラー用の拡張の作成は少し先のことになりそう。
0752デフォルトの名無しさん
NGNGhttp://www.unixuser.jp/next.html
0753デフォルトの名無しさん
NGNGhttp://xul-app.hp.infoseek.co.jp/xultu-janit/rdfscript.html
こちらのRDFデータソースの章に書いてあることを試したところ、
ドロップダウンリストに文字列を入力してボタンを押してアプリを再び開くと
ドロップダウンリストの項目がどんどん増えていくのですが、追加されたデータは
どこに保存されているのでしょうか。
「最後に、Flush 関数を使ってデータソースをディスクに書き出す。」とのことですが、
素人の安直な考えでは初めに読み込んだ recents.rdf ファイルへ書き込まれるのだろう
と思ったけど実際に開いてみると違いました。
0754デフォルトの名無しさん
NGNGあまり、いいやり方ではないし、少し古いです。
多分、このスクリプトが書かれたころは、
Flush()で、recents.rdfに書き込まれていた、と想像しています。
ま、当世流とはちょっと違う、ということで。
0755753
NGNG0756デフォルトの名無しさん
NGNGどの要素でも使用している。
というのは、persist属性とかで、値を保存しておいて、
長さや位置を覚えておくために必要だからだ。
0757デフォルトの名無しさん
NGNG誰かやってない?
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNGmozillaのbookmarkが消失したぞ(゚Д゚)ゴルァ
0760plus7 ◆XULQA16CSE
NGNGXUL/Migemoの正規表現を外部から使えるようにしてみました。
var re = window.xulMigemoCore.getRegExp("unko")
てな感じで正規表現オブジェクトを得られます。
もしよろしければお使い下さい。
0761デフォルトの名無しさん
NGNG買いに行ったらXULは来月号に飛ばされていた。
代わりにwxWidgetsとかいうやつが特集されていた。これはこれでおもしろそうではあるが。
0762デフォルトの名無しさん
NGNGフォルダをつくって、appname.jarなどに固めずやってたのですが、
新しい仕様でも、extensionsの下にフォルダを置いてできるんですかねぇ?
about="urn:mozilla:extension:file:appname.jar"
のところをいじったら出来そうな気もするんですが・・・。
0763デフォルトの名無しさん
NGNG>>727
0764デフォルトの名無しさん
NGNG(´・ω・`)ショボーン
0765デフォルトの名無しさん
NGNGmozilla updateに登録ってどうすればいいのですか?
以下とマルチポスト
http://pc5.2ch.net/test/read.cgi/software/1088635005/383
0766デフォルトの名無しさん
NGNGhttp://xul-app.hp.infoseek.co.jp/xultu-janit/introxbl.html
このサンプルに何か問題点ありますでしょうか?
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="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<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="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="okcancel">
<content>
<xul:button label="OK"/>
<xul:button label="Cancel"/>
</content>
</binding>
</bindings>
0767デフォルトの名無しさん
NGNG"example"はパッケージとして登録されてる?
0768デフォルトの名無しさん
NGNGええ、もちろんです。
installed-chrome.txt :
content,install,url,resource:/chrome/example/content/
skin,install,url,resource:/chrome/example/skin/classic/
ブラウザに直接クロムURLを打ち込めば一応ウィンドウは表示されます。
バインディングが成功すればそこにボタンも出るはずなのですが...
0769デフォルトの名無しさん
NGNGbugzillaに拡張を登録しろ、ってFAQに書いてあるが?
0770デフォルトの名無しさん
NGNG色々試してみたところ、ファイル名の拡張子がxblでは動かないようです。
xmlにすれば動きました。
私がこのチュートリアルをやってた頃はxblで問題なかったんですがねぇ。
XULPlanetのリファレンスはわりと頻繁に更新されていますが、
チュートリアルの方はMozilla1.0のころから更新されていないようです。
それをさらに和訳してあるわけですから、例が現実に追いついてないのも
仕方のないことなのでしょう。
0771デフォルトの名無しさん
NGNGうほほーー!xmlにしたら無事に出来ました!サンクスです。
■ このスレッドは過去ログ倉庫に格納されています