1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
---
title: XULRunner tips
slug: Archive/Mozilla/XULRunner/XULRunner_tips
tags:
- XUL
- XULRunner
translation_of: Archive/Mozilla/XULRunner/Tips
---
<p>
</p><p>XULRunner の一般的な質問について。これは作業中のドキュメントです。
</p>
<h2 id="Extension_Manager" name="Extension_Manager">Extension Manager</h2>
<p>拡張機能をインストールできるようにするには、まず最初に <a href="ja/XUL_Application_Packaging#em">application.ini</a> で拡張機能マネージャーを有効にする必要があります。 XULRunner 1.8.0 はアプリケーションのディレクトリから拡張を読み込む事ができません; XULRunner のディレクトリとユーザプロファイルのディレクトリはチェックされます。次の pref をセットする事で XPInstall ダイアログ、拡張機能マネージャー、そしてテーママネージャーが動作するでしょう:
</p>
<pre class="eval">pref("xpinstall.dialog.confirm", "<a class=" external" rel="freelink">chrome://mozapps/content/xpinstall/x...allConfirm.xul</a>");
pref("xpinstall.dialog.progress.skin", "<a class=" external" rel="freelink">chrome://mozapps/content/extensions/...ul?type=themes</a>");
pref("xpinstall.dialog.progress.chrome", "<a class=" external" rel="freelink">chrome://mozapps/content/extensions/...ype=extensions</a>");
pref("xpinstall.dialog.progress.type.skin", "Extension:Manager-themes");
pref("xpinstall.dialog.progress.type.chrome", "Extension:Manager-extensions");
pref("extensions.update.enabled", true);
pref("extensions.update.interval", 86400);
pref("extensions.dss.enabled", false);
pref("extensions.dss.switchPending", false);
pref("extensions.ignoreMTimeChanges", false);
pref("extensions.logging.enabled", false);
pref("general.skins.selectedSkin", "classic/1.0");
// NB these point at AMO
pref("extensions.update.url", "<a class=" external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
pref("extensions.getMoreExtensionsURL", "<a class=" external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
pref("extensions.getMoreThemesURL", "<a class=" external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
</pre>
<h2 id="Useful_Chrome_URLs" name="Useful_Chrome_URLs">Useful Chrome URLs</h2>
<p>branding で要求されるほとんどのものです。
Most of these require branding.
</p>
<table class="standard-table">
<tbody><tr><th>Window</th><th>URL</th><th>Window Type
</th></tr><tr><td>拡張機能マネージャー
</td><td><a class=" external" rel="freelink">chrome://mozapps/content/extensions/...ype=extensions</a>
</td><td>Extension:Manager-extensions
</td></tr><tr><td>テーママネージャー
</td><td><a class=" external" rel="freelink">chrome://mozapps/content/extensions/...ul?type=themes</a>
</td><td>Extension:Manager-themes
</td></tr><tr><td>JavaScript Console
</td><td><a class=" external" rel="freelink">chrome://global/content/console.xul</a>
</td><td>global:console
</td></tr><tr><td>about:config
</td><td><a class=" external" rel="freelink">chrome://global/content/config.xul</a>
</td><td>
</td></tr></tbody></table>
<h2 id="Developer_Extensions" name="Developer_Extensions">Developer Extensions</h2>
<p>--<a>Tlaurenzo</a> 17:34, 17 March 2006 (PST) これは拡張機能を開発する一つの方法です。Venkman を起動させる方法及び拡張機能開発者によるXULRunner アプリで動く拡張についての私の <a class="external" href="http://tjlaurenzo.blogspot.com/2006/03/getting-dev-tools-working-with.html">blog post</a> を見てください。
</p>
<h3 id="Venkman" name="Venkman"> <a href="ja/Venkman">Venkman</a> </h3>
<ul><li>カスタムビルドもしくは互換性のある拡張機能が必要<1.8.0.1 向けのダウンロード可能な venkman/domi ?>
</li><li>application.iniの id と version に合うように <i>install.rdf</i> を互換性があるように書き換えが必要
</li><li>venkman を起動させるメソッドが必要(通常はメインの XUL ファイルをオーバーレイします。同じようなコードがFirefox や Suite などにあります。)
</li><li>toOpenWindowByType() 関数を定義する必要があります。私は動作する断片を<a class="external" href="http://tjlaurenzo.blogspot.com/2006/03/getting-dev-tools-working-with.html">このblog</a>で見つけました。他に良い提案はありますか?
</li><li>他に何かあります?
</li></ul>
<h3 id="DOM_Inspector" name="DOM_Inspector"> <a href="ja/DOM_Inspector">DOM Inspector</a> </h3>
<p>venkmanと同じです
</p>
<h3 id="Component_Viewer" name="Component_Viewer"> Component Viewer </h3>
<p>まず第一にカスタムビルドが必要です。他に何か?
</p>
<h3 id="Extension_Developer.27s_Extension" name="Extension_Developer.27s_Extension"> Extension Developer's Extension </h3>
<p><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Extension Developer's Extension</a> は役に立つツールで、Live XUL Editor や JavaScript Shell といった機能があります。
</p><p>この拡張機能をあなたのアプリケーションにインストールするには、install.rdfをハックする必要があります(上記参照)。おそらく、JS Shellやこの拡張で提供されている機能を開くための menuitem を作りたいと思うでしょう。
</p>
<h2 id="Branding" name="Branding"> Branding </h2>
<p>Branding はプロダクト固有の情報(例えば、プロダクト名、ベンダー、そしてロゴ)を含む<a href="ja/Chrome_Registration">chrome package</a> です。
</p><p>いくつかの XULRunner のコンポーネント (特に、拡張機能マネージャー) は branding に依存しているため、<tt><a class=" external" rel="freelink">chrome://branding/locale/brand.dtd</a></tt> と <tt><a class=" external" rel="freelink">chrome://branding/locale/brand.properties</a></tt> に特定の文字列を見つかる事を期待しています。
</p><p>これらの依存性を満たしているため、Firefox の <tt>brand.dtd</tt>/<tt>brand.properties</tt> を <tt>chrome/locale/branding</tt> フォルダに保存する事ができ、適当にいじってみて、 次の行をあなたの chrome manifestに追加する事で <tt>branding</tt> を <a href="ja/Chrome_Registration#locale">ローカルプロバイダのレジスト</a>します:
</p>
<pre class="eval">locale branding en-US chrome/locale/branding/
</pre>
<p>branding ファイルの配置位置は気にしなくて良く、manifest に適切にレジストをすれば良いです。
</p><p><span class="comment">In ''~.mozconfig'': ac_add_options --enable-branding=? branding location ?</span>
</p>
<h3 id="Making_Windows_display_correct_application_name_and_icon_when_buttons_are_grouped" name="Making_Windows_display_correct_application_name_and_icon_when_buttons_are_grouped"> Making Windows display correct application name and icon when buttons are grouped </h3>
<p>標準では、Windowsのタスクバーは同じプロセスの window をスペースを省略するために一つのボタンにまとめます。このボタンは通常は "xulrunner.exe" と呼ばれ、 XULRunner のアイコンを持ちます。起動したアプリケーションの名称を表示させる二つのアプローチがあります:
</p>
<ul>
<li>
あなた自身でXULRunnerをコンパイルする場合: mozilla/xulrunner/app に module.ver ファイルを作成して次の内容とします:
When compiling XULRunner yourself: create a file module.ver in the directory mozilla/xulrunner/app with the contents:
<pre>WIN32_MODULE_DESCRIPTION=MyApplication</pre>
<p>MyApplication はボタンのタイトルとして見せたいものに置き換えてください。また、同じディレクトリにある xulrunner.ico アイコンをあなたのアプリケーションのアイコンに置き換える事もできます。
</p>
</li>
<li>
すでにコンパイルされているXULRunnerの場合: xulrunner-stub.exe をアプリケーションの起動に使い、それを MyApplication.exe とリネームします。XULRunner 1.9 であればタスクバー内で望んだ名前になるでしょう(しかしながら、XULRunner 1.8 ではなりません)。アプリケーションのアイコンもこの実行ファイルを <a class="external" href="http://www.angusj.com/resourcehacker/">Resource Hacker</a> のようなツールを用いて追加することができます。注意: trunk ビルドの xulrunner-stub は現在のところ <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=386152">bug 386152</a> が原因で落ちてしまいます。
</li>
</ul>
<h2 id="Reading_command_line_arguments" name="Reading_command_line_arguments"> Reading command line arguments </h2>
<p><a href="ja/Chrome/Command_Line">Chrome: Command Line</a> を見てください。コマンドライン引数は nsICommandLineHandler でハンドルするのが普通です。
</p><p><span class="comment">= Can i have JavaScript errors / warnings directed to stdout instead of the jsconsole? = See <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=306263" title="https://bugzilla.mozilla.org/show_bug.cgi?id=306263">#306263</a> This doesn't do anything (1.8.0.1): xulrunner -app application.ini -console This neither (1.8.0.1) in ''defaults/preferences/?application name?.js'': pref("javascript.options.strict", true); pref("javascript.options.showInConsole", true); pref("browser.dom.window.dump.enabled", true);</span>
</p><p><br>
</p>
<h2 id="Preferences_needed_for_file_download_dialogs" name="Preferences_needed_for_file_download_dialogs"> Preferences needed for file download dialogs </h2>
<p>unknown-content-type と file-downloads ダイアログを <browser> 要素から使うには、次の prefs を追加する必要があります:
</p>
<pre class="eval">pref("browser.download.useDownloadDir", true);
pref("browser.download.folderList", 0);
pref("browser.download.manager.showAlertOnComplete", true);
pref("browser.download.manager.showAlertInterval", 2000);
pref("browser.download.manager.retention", 2);
pref("browser.download.manager.showWhenStarting", true);
pref("browser.download.manager.useWindow", true);
pref("browser.download.manager.closeWhenDone", true);
pref("browser.download.manager.openDelay", 0);
pref("browser.download.manager.focusWhenStarting", false);
pref("browser.download.manager.flashCount", 2);
//
pref("alerts.slideIncrement", 1);
pref("alerts.slideIncrementTime", 10);
pref("alerts.totalOpenTime", 4000);
pref("alerts.height", 50);
</pre>
<p>ダイアログを要求する設定を失敗してしまうと、次のようなエラーを受け取るでしょう:
</p>
<pre class="eval">Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getBoolPref]
Error: dialog has no properties
Source File: <a class=" external" rel="freelink">chrome://mozapps/content/downloads/u...ontentType.xul</a>
Line: 1
</pre>
<p><br>
</p>
<h2 id="Enabling_Password_Manager" name="Enabling_Password_Manager"> Enabling Password Manager </h2>
<p>これらの設定は Firefox では標準になっていますが、しかしながら、XULRunner では設定されていません。これらの設定なしでは Password Manager はログインの詳細を保存しないでしょう。
</p>
<pre class="eval">pref("signon.rememberSignons", true);
pref("signon.expireMasterPassword", false);
pref("signon.SignonFileName", "signons.txt");
</pre>
<h2 id="Troubleshooting" name="Troubleshooting"> Troubleshooting </h2>
<h3 id="Window_title_missing" name="Window_title_missing"> Window title missing </h3>
<p>もし、XUL <code><<a href="ja/XUL/window">window</a>></code> のタイトルが空っぽで、 title 要素に設定しているのであれば、XULファイルの拡張子が <tt>.xml</tt> でなくて <tt>.xul</tt> であるかを確認してください。
</p>
<div class="noinclude">
</div>
|