diff options
author | Florian Merz <me@fiji-flo.de> | 2021-02-11 12:07:59 +0100 |
---|---|---|
committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 12:07:59 +0100 |
commit | 6ef1fa4618e08426b874529619a66adbd3d1fcf0 (patch) | |
tree | 890e3e27131be010d82ef957fa68db495006cb0e /files/ja/mozilla | |
parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
download | translated-content-6ef1fa4618e08426b874529619a66adbd3d1fcf0.tar.gz translated-content-6ef1fa4618e08426b874529619a66adbd3d1fcf0.tar.bz2 translated-content-6ef1fa4618e08426b874529619a66adbd3d1fcf0.zip |
unslug ja: move
Diffstat (limited to 'files/ja/mozilla')
27 files changed, 1141 insertions, 311 deletions
diff --git a/files/ja/mozilla/add-ons/webextensions/api/devtools.inspectedwindow/eval/index.html b/files/ja/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/eval/index.html index 5ed0d6580f..5ed0d6580f 100644 --- a/files/ja/mozilla/add-ons/webextensions/api/devtools.inspectedwindow/eval/index.html +++ b/files/ja/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/eval/index.html diff --git a/files/ja/mozilla/add-ons/webextensions/api/devtools.inspectedwindow/index.html b/files/ja/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/index.html index e7a8f7181d..e7a8f7181d 100644 --- a/files/ja/mozilla/add-ons/webextensions/api/devtools.inspectedwindow/index.html +++ b/files/ja/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/index.html diff --git a/files/ja/mozilla/add-ons/webextensions/api/devtools.inspectedwindow/tabid/index.html b/files/ja/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/tabid/index.html index 6837e95e36..6837e95e36 100644 --- a/files/ja/mozilla/add-ons/webextensions/api/devtools.inspectedwindow/tabid/index.html +++ b/files/ja/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/tabid/index.html diff --git a/files/ja/mozilla/add-ons/webextensions/api/devtools.network/index.html b/files/ja/mozilla/add-ons/webextensions/api/devtools/network/index.html index b5d97b1b1e..b5d97b1b1e 100644 --- a/files/ja/mozilla/add-ons/webextensions/api/devtools.network/index.html +++ b/files/ja/mozilla/add-ons/webextensions/api/devtools/network/index.html diff --git a/files/ja/mozilla/add-ons/webextensions/api/devtools.panels/index.html b/files/ja/mozilla/add-ons/webextensions/api/devtools/panels/index.html index efb826a25f..efb826a25f 100644 --- a/files/ja/mozilla/add-ons/webextensions/api/devtools.panels/index.html +++ b/files/ja/mozilla/add-ons/webextensions/api/devtools/panels/index.html diff --git a/files/ja/mozilla/add-ons/webextensions/thunderbirdにおけるwebextensionsによるアドイン開発/index.html b/files/ja/mozilla/add-ons/webextensions/developing_webextensions_for_thunderbird/index.html index a6e6fd4bc6..a6e6fd4bc6 100644 --- a/files/ja/mozilla/add-ons/webextensions/thunderbirdにおけるwebextensionsによるアドイン開発/index.html +++ b/files/ja/mozilla/add-ons/webextensions/developing_webextensions_for_thunderbird/index.html diff --git a/files/ja/mozilla/add-ons/webextensions/packaging_and_installation/index.html b/files/ja/mozilla/add-ons/webextensions/packaging_and_installation/index.html deleted file mode 100644 index 4afb4fe00e..0000000000 --- a/files/ja/mozilla/add-ons/webextensions/packaging_and_installation/index.html +++ /dev/null @@ -1,219 +0,0 @@ ---- -title: パッケージ化とインストール -slug: Mozilla/Add-ons/WebExtensions/Packaging_and_installation -translation_of: Mozilla/Add-ons/WebExtensions/Temporary_Installation_in_Firefox -translation_of_original: Mozilla/Add-ons/WebExtensions/Packaging_and_installation ---- -<div>{{AddonSidebar}}</div> - -<p>この記事では、WebExtension を Firefox にインストールする方法を 2 つ紹介します。</p> - -<ul> - <li><a href="/ja/Add-ons/WebExtensions/Packaging_and_installation#ディスクから読み込む">ディスクから読み込む</a>: アドオンの開発中にテストしたい場合に最も簡単な方法です。</li> - <li><a href="/ja/Add-ons/WebExtensions/Packaging_and_installation#パッケージ化してインストールする">パッケージ化してインストールする</a>: この方法を用いると、アドオンをインストール可能なファイルにパッケージ化し、Firefox へ永続的にインストールさせることができます。自分の作ったアドオンを他の人に配布する際はこの方法を用いることになります。また、リリース版の Firefox にインストールさせるには、アドオンに署名をすることも必要になります。</li> -</ul> - -<p>{{英語版章題("Loading from disk")}}</p> - -<h2 id="ディスクから読み込む">ディスクから読み込む</h2> - -<p>WebExtension を Firefox で動作させるには、この方法が最もシンプルです。また、<a href="/ja/Add-ons/Bootstrapped_extensions">ブートストラップ型拡張機能</a> や <a href="/ja/Add-ons/SDK">Add-on SDK を使ったアドオン</a> といった、再起動の要らないアドオンはすべてこの方法でインストールできます。</p> - -<p>ここでは Firefox 45 以降が必要となります。</p> - -<p>ディスクから読み込むには、</p> - -<ul> - <li>Firefox を起動し、</li> - <li>URL バーに "about:debugging" と入力し、</li> - <li>"一時的なアドオンを読み込む" をクリックし、</li> - <li>アドオンのディレクトリを開き、アドオン中のファイルを任意に選択します。</li> -</ul> - -<p>これでアドオンがインストールされ、Firefox を再起動するまで有効になります。</p> - -<p>{{EmbedYouTube("sAM78GU4P34")}}</p> - -<p>{{英語版章題("Updating a temporary add-on")}}</p> - -<h3 id="一時的なアドオンの更新">一時的なアドオンの更新</h3> - -<p>この方法でアドオンをインストールした場合、アドオンのファイルを更新すると何が起きるでしょうか?</p> - -<p>{{英語版章題("Before Firefox 48")}}</p> - -<h4 id="Firefox_47_以前">Firefox 47 以前</h4> - -<ul> - <li>オンデマンドに読み込まれるファイル(<a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">content scripts</a> や <a href="https://developer.mozilla.org/ja/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">ポップアップ</a> など)を更新した場合、変更は自動的に取り込まれ、次に content scripts が読み込まれたりポップアップが表示された際に反映されます。</li> - <li>常に読み込まれているファイル(<a href="https://developer.mozilla.org/ja/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">background scripts</a> など)を更新した場合、about:addons のページでアドオンを無効化・有効化すると変更が反映されます。</li> - <li><a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a> ファイルを更新した場合、Firefox を再起動してアドオンを再度読み込ませる必要があります。</li> -</ul> - -<div class="note"> -<p>Firefox 47 以前では、Firefox を再起動せずに「一時的なアドオンを読み込む」をクリックしても更新は<em>反映されない</em> ことに注意してください。</p> -</div> - -<p>{{英語版章題("Firefox 48 onwards")}}</p> - -<h4 id="Firefox_48_以降">Firefox 48 以降</h4> - -<ul> - <li>オンデマンドに読み込まれるファイル(<a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">content scripts</a> や <a href="https://developer.mozilla.org/ja/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2">ポップアップ</a> など)を更新した場合、変更は自動的に取り込まれ、次に content scripts が読み込まれたりポップアップが表示された際に反映されます。</li> - <li>他の場合に関しては利便性が向上しました。「デバッグ」ボタンの横にある「リロード」ボタンをクリックすることで、以下のことが可能となります。 - <ul> - <li>永続的なスクリプト(<a href="https://developer.mozilla.org/ja/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">background scripts</a> など)のリロード</li> - <li>manifest.json ファイルが再度パースされ、<code><a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code> / <code><a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> / <code><a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> などに対する変更の反映</li> - </ul> - </li> -</ul> - -<div class="note"> -<p>Firefox 48 のみに関する注意点として、about:debugging と about:addons に表示されるアドオンの名前と説明文は、「リロード」ボタンをクリックしても更新されません。この問題は Firefox 49 で修正されます。</p> -</div> - -<p>{{英語版章題("Package and install")}}</p> - -<h2 id="パッケージ化してインストールする">パッケージ化してインストールする</h2> - -<p>ディスクからの読込は 開発 / テスト / デバッグ のサイクルにおいては有効です。しかし、アドオンを他の人と共有したい場合は、アドオンを インストール可能な形式にパッケージ化する必要があります。</p> - -<p>{{英語版章題("Packaging")}}</p> - -<h3 id="パッケージ化">パッケージ化</h3> - -<p>Firefox のアドオンは XPI ファイルでパッケージ化されます。XPI ファイルとは単なる ZIP ファイルですが、ファイルの拡張子は ".xpi" となります。</p> - -<p>一つ注意しなければならないのは、アドオンのファイルを含んだディレクトリの ZIP ファイルではなく、アドオンのファイルを直接含んだ ZIP ファイルとする必要がある点です。</p> - -<h4 id="Windows">Windows</h4> - -<ol> - <li>アドオンのファイルが含まれているフォルダを開きます。</li> - <li>ファイルすべてを選択します。</li> - <li>右クリックして "送る" → "圧縮(zip 形式)フォルダー" を選択します。</li> - <li>作成されたファイルの名前を "something.zip" から "something.xpi" に変更します。</li> -</ol> - -<p><img alt="" src="https://mdn.mozillademos.org/files/11949/install-windows.png" style="display: block; height: 576px; margin-left: auto; margin-right: auto; width: 800px;"></p> - -<h4 id="Mac_OS_X">Mac OS X</h4> - -<ol> - <li>アドオンのファイルが含まれているフォルダを開きます。</li> - <li>ファイルすべてを選択します。</li> - <li>右クリックして "n 項目を圧縮" を選択します。</li> - <li>作成されたファイルの名前を <code>Archive.zip</code> から <code>something.xpi</code> に変更します。</li> -</ol> - -<p><img alt="" src="https://mdn.mozillademos.org/files/11951/install-osx.png" style="display: block; height: 449px; margin-left: auto; margin-right: auto; width: 800px;"></p> - -<h4 id="Linux_Mac_OS_X_Terminal">Linux / Mac OS X Terminal</h4> - -<ol> - <li><code>cd path/to/my-addon/</code></li> - <li><code>zip -r ../my-addon.xpi *</code></li> -</ol> - -<p>{{英語版章題("Installation")}}</p> - -<h3 id="インストール">インストール</h3> - -<p>XPI ファイルをインストールする前に、次のどちらかの手順を踏む必要があります。</p> - -<ul> - <li>XPI ファイルに署名する</li> - <li>未署名の XPI ファイルをインストール可能にする。ただし、この設定は Firefox Nightly か Firefox Developer Edition のみ可能であることに注意してください。自分のアドオンを一般に配布したい場合は署名が必要です。</li> -</ul> - -<p>{{英語版章題("Getting your add-on signed")}}</p> - -<h4 id="アドオンに署名する">アドオンに署名する</h4> - -<p>XPI ファイルに署名するには、<a href="/ja/docs/Mozilla/Add-ons/Distribution">Signing and distributing your Add-on</a> の記事を参照してください。</p> - -<p>{{英語版章題("Enabling unsigned add-ons")}}</p> - -<h4 id="未署名のアドオンを有効にする">未署名のアドオンを有効にする</h4> - -<p>未署名のアドオンを有効にするには、以下の手順に従ってください。</p> - -<ul> - <li><a href="https://www.mozilla.org/ja/firefox/developer/">Firefox Developer Edition</a> または <a class="external text external-icon" href="https://nightly.mozilla.org/" rel="nofollow">Firefox Nightly</a> をダウンロード、インストール、起動してください。</li> - <li>未署名アドオンのインストールを制御する Firefox の設定項目を変更します。この設定は Firefox Developer Edition と Firefox Nightly のみ可能です。 - <ul> - <li>Firefox の URL バーに <code>about:config</code> を入力します。</li> - <li>検索欄に <code>xpinstall.signatures.required</code> と入力します。</li> - <li>設定項目をダブルクリックするか、右クリックからの "切り替え" を選択し、値を <code>false</code> に変更します。</li> - </ul> - </li> -</ul> - -<p>{{EmbedYouTube("HgtBYDWtH4w")}}</p> - -<p>{{英語版章題("Installing an XPI in Firefox")}}</p> - -<h4 id="XPI_ファイルを_Firefox_にインストールする">XPI ファイルを Firefox にインストールする</h4> - -<p>XPI ファイルに署名した場合でも、署名の制約を無効化した場合でも、XPI ファイルをインストールする手順はどちらも同じです。</p> - -<ol> - <li><code>about:addons</code> に移動します。</li> - <li>XPI ファイルをページにドラッグ & ドロップするか、歯車アイコンのメニューを開いて "ファイルからアドオンをインストール" を選択します。</li> - <li>表示されたダイアログで "インストール" をクリックします。</li> -</ol> - -<p>他にも、"ファイル" → "開く" から XPI ファイルを選択したり、Control+O (Command+O) で選択することも可能です。</p> - -<p>{{英語版章題("Installing your extension of Firefox OS")}}</p> - -<h4 id="アドオンを_Firefox_OS_にインストールする">アドオンを Firefox OS にインストールする</h4> - -<p>USB か Wifi で接続されたデスクトップ PC で <a href="/ja/docs/Tools/WebIDE">WebIDE</a> を起動すれば、WebIDE からアドオンをインストールすることができます。WebIDE で "path/to/my-extension" をパッケージ型アプリとして開いてください。</p> - -<p>manifest.json の認証状況が正しければ、接続されたデバイス(Firefox OS の nightly ビルドで動作しているもの)にアドオンをインストールし、実行することができます。</p> - -<p>このアドオンの初回実行時は、Firefox OS のデバイスで Settings → Add-ons で有効にする必要があります。</p> - -<p>{{英語版章題("Troubleshooting")}}</p> - -<h3 id="トラブルシューティング">トラブルシューティング</h3> - -<p>起こりやすい問題には以下のようなものがあります。</p> - -<h4 id="This_add-on_could_not_be_installed_because_it_has_not_been_verified.">"This add-on could not be installed because it has not been verified."</h4> - -<ul> - <li>アドオンが署名されていないため、<a href="/ja/Add-ons/WebExtensions/Packaging_and_installation#未署名のアドオンを有効にする">未署名アドオンのインストールを有効にしているか</a> 確認してください。</li> -</ul> - -<h4 id="This_add-on_could_not_be_installed_because_it_appears_to_be_corrupt.">"This add-on could not be installed because it appears to be corrupt."</h4> - -<ul> - <li>アドオンのファイルを<em>含んだ</em> ディレクトリの ZIP ファイルではなく、アドオンのファイルを直接含んだ ZIP ファイルであるか確認してください。manifest.json は ZIP ファイルのルートに置かれていなければなりません。</li> - <li>manifest.json において <a href="/ja/Add-ons/WebExtensions/manifest.json/applications">applications</a> キーの値に "gecko" が設定されているか確認してください。</li> - <li>Firefox 44 以降を使用しているか確認してください。</li> - <li>コードや JSON ファイルにシンタックスエラーがないことを確認してください。</li> - <li><a href="/ja/docs/Tools/Browser_Console">ブラウザコンソール</a> に他の情報が表示されていないか確認してください。</li> -</ul> - -<p>{{英語版章題("Nothing happens")}}</p> - -<h4 id="何も起こらない">何も起こらない</h4> - -<ul> - <li>ファイル名の末尾が確かに <code>.xpi</code> であるか確認してください。OS によってはファイルの拡張子を<em>本当に</em> 隠したがるものがあります。 - - <ul> - <li>Windows の場合、 View → Show / Hide: File Name Extensions を確認してください。</li> - <li>Mac OS X の場合、 File → Get Info → Name and Extension を確認してください。</li> - </ul> - </li> - <li>インストール時のプロンプトでクリックを間違えたか、プロンプトを見失ってしまった可能性があります。Nightly の戻るボタン横にあるパズルピースのアイコンを探してください。そのアイコンをクリックするとポップアップが再度表示されます。</li> -</ul> - -<p>{{英語版章題("Check the console")}}</p> - -<h4 id="コンソールを確認する">コンソールを確認する</h4> - -<p>アドオンが解凍されたり読み込まれる過程に関して、他のエラーメッセージが <a href="/ja/docs/Tools/Browser_Console">ブラウザコンソール</a> に表示されている場合があります。</p> diff --git a/files/ja/mozilla/add-ons/webextensions/porting_from_google_chrome/index.html b/files/ja/mozilla/add-ons/webextensions/porting_from_google_chrome/index.html deleted file mode 100644 index 3baef65043..0000000000 --- a/files/ja/mozilla/add-ons/webextensions/porting_from_google_chrome/index.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Google Chrome からの移行 -slug: Mozilla/Add-ons/WebExtensions/Porting_from_Google_Chrome -tags: - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension ---- -<div>{{AddonSidebar}}</div> - -<p>WebExtension API で開発する拡張機能は、ブラウザー間で互換性が維持されるように設計されており、大半は Google Chrome や Opera でサポートされている <a class="external external-icon" href="https://developer.chrome.com/extensions">extension API</a> とコード互換性があります。これらのブラウザー向けに書かれた拡張機能はほとんどの場合、少しの変更を加えるだけで Firefox でも動くようになります。ほぼすべての <a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/API">WebExtension API</a> は、Chrome と同様に <code>chrome</code> 名前空間のコールバック関数を使ってサポートされています。<code>chrome</code> 名前空間でサポートされない唯一の API は、わざと Chrome と互換性がないものです。こうしたまれな場合は、API ドキュメントページでは明示的に、<code>browser</code> 名前空間だけでサポートされることを述べています。Chrome や Opera から拡張機能を移行する手順は下記の通り:</p> - -<ol> - <li>manifest.json の設定項目や使用している WebExtensionAPI が <a href="/ja/Add-ons/WebExtensions/Chrome_incompatibilities">Chrome との非互換性リファレンス</a>に載っているか確認します。もし Firefox でサポートされていない設定項目や API を利用している場合、まだ移行できないかもしれません。 Mozilla はこの手順を自動化するサービスを次にて提供しています: <a href="https://www.extensiontest.com/">https://www.extensiontest.com/</a>.</li> - <li><a href="/ja/Add-ons/WebExtensions/Packaging_and_installation">拡張機能を Firefox にインストールしてテストします</a>。</li> - <li>もし何か問題が見つかったら、 <a class="external external-icon" href="https://mail.mozilla.org/listinfo/dev-addons">dev-addons mailing list</a> または <a class="external external-icon" href="https://wiki.mozilla.org/IRC">IRC</a> の <a href="irc://irc.mozilla.org/webextensions">#webextensions</a> に連絡してください。</li> - <li><a href="/ja/Add-ons/Distribution">アドオンの署名と配布を行うため、アドオンを AMO に送ります</a>。</li> -</ol> - -<p><span id="result_box" lang="ja"><span>展開された拡張機能をロードするのに Chrome のコマンドラインオプションを使用していた場合、開発用に Firefox へ自動的に</span></span><span lang="ja"><span>仮インストールを行う</span></span> <a href="https://developer.mozilla.org/ja/Add-ons/WebExtensions/Getting_started_with_web-ext">web-ext</a> <span lang="ja"><span>ツールを使用してみてください。</span></span> </p> - -<ul> -</ul> - -<div id="divLookup" style="background-color: transparent; color: #000000; position: absolute; top: 683px; left: 479px; padding: 0px; border-radius: 2px;"><img></div> diff --git a/files/ja/mozilla/add-ons/webextensions/前提条件/index.html b/files/ja/mozilla/add-ons/webextensions/prerequisites/index.html index 751de9fe15..751de9fe15 100644 --- a/files/ja/mozilla/add-ons/webextensions/前提条件/index.html +++ b/files/ja/mozilla/add-ons/webextensions/prerequisites/index.html diff --git a/files/ja/mozilla/add-ons/webextensions/publishing_your_webextension/index.html b/files/ja/mozilla/add-ons/webextensions/publishing_your_webextension/index.html deleted file mode 100644 index 8b78f7bf11..0000000000 --- a/files/ja/mozilla/add-ons/webextensions/publishing_your_webextension/index.html +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: 拡張機能をパッケージ化する -slug: Mozilla/Add-ons/WebExtensions/Publishing_your_WebExtension -tags: - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Package_your_extension_ ---- -<div>{{AddonSidebar}}</div> - -<p> </p> - -<div class="pull-aside"> -<div class="moreinfo"> -<p>Firefox ではパッケージされた拡張機能を "XPI ファイル" と呼び、これは単に色々な拡張機能を集めた ZIP ファイルです。</p> - -<p>AMO にアップロードする時に、XPI 拡張機能を使う必要はありません。</p> -</div> -</div> - -<p> </p> - -<p>開発期間中、拡張機能は manifest.json ファイルとその他の必要なファイル—スクリプト、アイコン、HTML 文書などを含む 1 つのディレクトリで構成されるでしょう。AMO にアップロードするにはこれを 1 つの zip ファイルにまとめる必要があります。</p> - -<p>web-ext を使っている場合、拡張機能をパッケージ化するのに <a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/web-ext_command_reference#web-ext_build">web-ext build </a>を使います。その他の場合、下記の OS ごとの手順に従ってください。</p> - -<div class="note"> -<p>Tip. ZIP ファイルは拡張機能を構成するファイル自身でなくてはならず、これらを含んだディレクトリであってはいけません。</p> -</div> - -<h3 id="Windows" name="Windows">Windows</h3> - -<ol> - <li>あなたの拡張機能を格納したフォルダを開きます。</li> - <li>すべてのファイルを選択します。</li> - <li>右クリックメニューの「送る」 から zip圧縮を選びます。</li> -</ol> - -<p><img alt="" src="https://mdn.mozillademos.org/files/11949/install-windows.png" style="display: block; height: 576px; margin-left: auto; margin-right: auto; width: 800px;"></p> - -<h3 id="Mac_OS_X" name="Mac_OS_X">Mac OS X</h3> - -<ol> - <li>あなたの拡張機能を格納したディレクトリを開きます。</li> - <li>すべてのファイルを選択します。</li> - <li>右クリックメニューから圧縮を選びます。</li> -</ol> - -<p><img alt="" src="https://mdn.mozillademos.org/files/11951/install-osx.png" style="display: block; height: 449px; margin-left: auto; margin-right: auto; width: 800px;"></p> - -<div class="pull-aside"> -<div class="moreinfo">コマンドについて <a href="http://www.info-zip.org/mans/zip.html">http://www.info-zip.org/mans/zip.html</a>.</div> -</div> - -<h3 id="Linux_Mac_OS_X_Terminal" name="Linux_Mac_OS_X_Terminal">Linux / Mac OS X ターミナル</h3> - -<ol> - <li>ターミナルを開きます。</li> - <li>拡張機能を含むディレクトリを開きます、そのコマンドは<br> - <code>cd path/to/<em>my-extension</em>/</code></li> - <li>ディレクトリの中身を ZIP します、そのコマンドは<br> - <code>zip -r -FS ../<em>my-extension</em>.zip *</code></li> -</ol> - -<p> </p> - -<p> </p> - -<p> </p> diff --git a/files/ja/mozilla/add-ons/webextensions/walkthrough/index.html b/files/ja/mozilla/add-ons/webextensions/your_second_webextension/index.html index 3eb93ad7c9..3eb93ad7c9 100644 --- a/files/ja/mozilla/add-ons/webextensions/walkthrough/index.html +++ b/files/ja/mozilla/add-ons/webextensions/your_second_webextension/index.html diff --git a/files/ja/mozilla/developer_guide/build_instructions/how_mozilla_s_build_system_works/index.html b/files/ja/mozilla/developer_guide/build_instructions/how_mozilla_s_build_system_works/index.html new file mode 100644 index 0000000000..ee47b27b6f --- /dev/null +++ b/files/ja/mozilla/developer_guide/build_instructions/how_mozilla_s_build_system_works/index.html @@ -0,0 +1,195 @@ +--- +title: How Mozilla's build system works +slug: How_Mozilla's_build_system_works +tags: + - Build documentation + - Developing Mozilla + - 移行 +--- +<h2 id=".E6.A6.82.E8.A6.81" name=".E6.A6.82.E8.A6.81">概要</h2> + +<p>本ドキュメントは、Mozilla の GNU make ベースビルドシステムを必要とする Mozilla 開発者をターゲットとしています。 本ドキュメントでは、ビルドシステムの基本概念と用語ならびに、コンポーネントのコンパイルや jar ファイルの作成といった共通的作業をどのように行うかを解説しています。</p> + +<p>本書は Mozilla をただビルドしたい人を対象にはしていません。その場合は<a href="/ja/docs/Build_Documentation">Build Documentation</a>を参照してください。</p> + +<h2 id=".E6.A6.82.E5.BF.B5" name=".E6.A6.82.E5.BF.B5">概念</h2> + +<p>Mozilla のビルドシステムは <a class="external" href="http://www.gnu.org/software/make/">GNU Make</a> をベースにしたシステムです。最も基本的なレベルでは、make は<em>ターゲット</em>を自動生成するツールで、ターゲットごとに<em>dependencies</em> と<em>rules</em> を生成します。</p> + +<p>Mozilla プロジェクトでは、make はライブラリと実行モジュールのコンパイル、chrome の jar ファイル作成、関係ファイルのコピーに使用されます。我々は、2 パスのビルドシステムを使用しています:</p> + +<ul> + <li><strong>export</strong> フェーズでは、public ヘッダファイルを dist/include へコピーし、IDL ファイルから C++ ヘッダファイルを生成します。</li> + <li><strong>libs</strong> フェーズでは、ライブラリをコンパイルし、 jar ファイルを作成し、IDL ファイルから typelib ファイルを作成します。</li> +</ul> + +<p>いずれのフェーズでも、ターゲットを make するだけです。これは、それぞれのディレクトリは export ターゲットとともにまず一度横断し、libs ターゲットとともに、再び横断します。 二段階のビルドは、モジュール間の循環的参照のために存在します。最初にすべてのヘッダファイルを export することで、あるモジュール(Aとする)は、別のモジュール(B)の public なヘッダファイルをインクルードしながら、モジュール(B)はモジュール(A)の public なヘッダファイルをインクルードできます。</p> + +<p>その他の重要なツールとして、<strong>configure</strong> が挙げられます。これは、ビルドの最初のステップに実行されます。configure スクリプトはシステムやコンパイラの特徴を決定し、オプションを生成します。configure スクリプトから実行される重要な製品が二つあります:</p> + +<ul> + <li>autoconf.mk ファイルは <a class="external" href="http://lxr.mozilla.org/seamonkey/source/config/autoconf.mk.in">autoconf.mk.in</a>から生成されます。このファイルは、グローバルなビルドオプションを制御する<em>make 変数</em> を含みます。</li> + <li>Makefile ファイルは、ツリーの至る所にある Makefile.in ファイルから生成されます。ビルドを正確に行うため、Makefile.in 中に記述されたソースディレクトリの場所が置換されます。</li> +</ul> + +<p>configure スクリプトは bash シェルベースのものです。このスクリプトは <a class="external" href="http://www.seindal.dk/rene/gnu/">M4</a> とともに書かれた <a class="external" href="http://lxr.mozilla.org/seamonkey/source/configure.in">configure.in</a> と呼ばれるファイルから生成され、最終的なスクリプトを生成するために <a class="external" href="http://www.gnu.org/software/autoconf/">Autoconf</a>を使って処理します。</p> + +<h2 id="Makefile_.E3.81.AE.E5.9F.BA.E7.A4.8E" name="Makefile_.E3.81.AE.E5.9F.BA.E7.A4.8E">Makefile の基礎</h2> + +<p>Makefile は、非常に複雑にもなり得ますが、Mozilla チームは、大半の Makefile をとてもシンプルにすべく、多数のビルトインルールを提供しています。make についての網羅的な解説は本説明の範囲を超えますので、<a class="external" href="http://www.gnu.org/software/make/manual/make.html">こちら(GNU make)</a>を参照してください。</p> + +<p>精通しておくとよいであろう概念の一つとして、make の<em>変数</em>が挙げられます。変数は<code>VARIABLE = VALUE</code> という構文で定義され、その値は<code>$(VARIABLE)</code> と記述することで参照されます。すべての変数は文字列です。</p> + +<p>Mozilla のソースコードに含まれる Makefile.in ファイルはすべて同じ基本的なフォーマットで記述されています。</p> + +<div>{{ page("/ja/docs/Standard_Makefile_Header") }}</div> + +<pre class="eval"># ... Makefile の中心となる本体部分がここに入ります ... +</pre> + +<pre class="eval">include $(topsrcdir)/config/rules.mk + +# ... 追加のルールがここに入ります ... +</pre> + +<ul> + <li><strong>DEPTH</strong> 変数はMakefile.in から Mozilla ディレクトリの最上位への相対パスがセットされます。</li> + <li><strong>topsrcdir</strong> は configure によって置換されます。これは Mozilla ディレクトリの最上位 を示します。</li> + <li><strong>srcdir</strong> もまた、configure によって置換されます。これは、現在のディレクトリに対するソースファイルの場所を示します。ソースツリーからのビルドでは、この値は単に "."(カレントディレクトリ)を示すでしょう。</li> + <li><strong>VPATH</strong> は、make が必須ファイル(例:ソースファイル)を探す対象ディレクトリの一覧です。</li> +</ul> + +<p>この他によく使われる変数の一つとして、特定のビルドターゲットを指定しない <strong>DIRS</strong> があります。DIR は、現在のディレクトリを再帰的に組み込むためのサブディレクトリの一覧です。サブディレクトリは親ディレクトリの<strong>後に</strong>配置されます。以下に例を示します。</p> + +<pre class="eval">DIRS = \ + public \ + resources \ + src \ + $(NULL) +</pre> + +<p>上記の例は、<em>行結合</em>の例でもあります。行の中の最後に現れるバックスラッシュ<span class="comment">(訳注:通常の日本の環境では¥記号に見えることも多いので注意)</span>は、変数定義が次の行にも続いていることを示します。行の継ぎ目の余分な空白は縮められます。終端の $(NULL) は表記に一貫性を持たせる手段です。これにより、行末のバックスラッシュの有無を気にせず行の追加・削除が行えます。</p> + +<h2 id="Makefile_examples" name="Makefile_examples">Makefile examples</h2> + +<ul> + <li><a href="/ja/docs/Standard_Makefile_Header">Standard Makefile Header</a></li> + <li><a href="/ja/docs/Installing_headers_using_EXPORTS">Installing headers using EXPORTS</a></li> + <li><a href="/ja/docs/Compiling_interfaces_using_XPIDLSRCS">Compiling interfaces using XPIDLSRCS</a></li> + <li><a href="/ja/docs/Installing_a_JavaScript_component">Installing a JavaScript component</a></li> + <li><a href="/ja/docs/Building_a_component_DLL">Building a component DLL</a></li> + <li><a href="/ja/docs/Building_a_static_library">Building a static library</a></li> + <li><a href="/ja/docs/Building_a_dynamic_library">Building a dynamic library</a></li> +</ul> + +<h2 id=".E3.83.A9.E3.82.A4.E3.83.96.E3.83.A9.E3.83.AA.E3.81.AE.E3.83.93.E3.83.AB.E3.83.89" name=".E3.83.A9.E3.82.A4.E3.83.96.E3.83.A9.E3.83.AA.E3.81.AE.E3.83.93.E3.83.AB.E3.83.89">ライブラリのビルド</h2> + +<p>Mozilla のビルドにおけるライブラリは、主として3種に分けられます:</p> + +<ul> + <li><strong>Components</strong> は(静的ビルド時を除いて)共有ライブラリで、 dist/bin/components にインストールされます。Components は他のいかなるライブラリからもリンクされません。</li> + <li><strong>Non-component shared libraries</strong> には、libxpcom、libmozjs といったライブラリが含まれます。これらのライブラリは dist/bin にインストールされ、<em>リンクもされます</em>。この種のライブラリを新規に作成する必要にせまられることはあまりありません。</li> + <li><strong>Static libraries</strong> はしばしば共有ライブラリのビルドの中間段階として使われます。 共有ライブラリの一部となるいくつかのディレクトリにソースファイルがある場合などがそれに該当します。静的ライブラリは実行ファイルからリンクされることもあります。</li> +</ul> + +<h3 id="Non-component_shared_libraries" name="Non-component_shared_libraries">Non-component shared libraries</h3> + +<p>non-component shared library は、複数のコンポーネントが共有しなければならない共通コードがあり、それを XPCOM を通じて共有することが、適切でないもしくは不可能な場合に有用です。 一例として、libmsgbaseutil 向けの Makefile の一部を見てみましょう。これは、mailnews コンポーネント全体からリンクされます:</p> + +<pre class="eval">DEPTH = ../../.. +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +<a href="/ja/docs/MODULE">MODULE</a> = msgbaseutil +<a href="/ja/docs/LIBRARY_NAME">LIBRARY_NAME</a> = msgbaseutil +<a href="/ja/docs/EXPORT_LIBRARY">EXPORT_LIBRARY</a> = 1 +<a href="/ja/docs/SHORT_LIBNAME">SHORT_LIBNAME</a> = msgbsutl +</pre> + +<p>上述した component の例との実際問題としての相違点は、IS_COMPONENT が設定されていない事だけである点に注意してください。この値を設定しない事によって、共有ライブラリが生成され、dist/bin にインストールされるでしょう。</p> + +<h3 id="Static_libraries" name="Static_libraries">Static libraries</h3> + +<p>上述の通り、静的ライブラリの主要な使用方法としては、大規模ライブラリ(主に component)のビルドの中間段階としての使用が挙げられます。これにより、複数のサブディレクトリにソースファイルを分散させて配置することができます。静的ライブラリは実行可能モジュールにもリンクされることがあります。例として、layout/base/src の Makefile の一部を以下に示します。</p> + +<pre class="eval">DEPTH = ../../.. +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +MODULE = layout +LIBRARY_NAME = gkbase_s + +# REQUIRES and CPPSRCS omitted here for brevity # + +# we don't want the shared lib, but we want to force the creation of a static lib. +<a href="/ja/docs/FORCE_STATIC_LIB">FORCE_STATIC_LIB</a> = 1 + +include $(topsrcdir)/config/rules.mk +</pre> + +<p>ここでは <strong>FORCE_STATIC_LIB</strong> = 1 というキーが設定されています。これにより、(unix の場合)libgkbase_s.a が、Windows の場合はgkbase_s.lib が生成され、dist/lib にコピーされます。では、コンポーネントを作成するために複数の静的ライブラリを合わせてリンクする方法をざっと見てみましょう。</p> + +<pre class="eval">DEPTH = ../.. +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +MODULE = layout +LIBRARY_NAME = gklayout +EXPORT_LIBRARY = 1 +<a href="/ja/docs/IS_COMPONENT">IS_COMPONENT</a> = 1 +<a href="/ja/docs/MODULE_NAME">MODULE_NAME</a> = nsLayoutModule + +<a href="/ja/docs/CPPSRCS">CPPSRCS</a> = \ + nsLayoutModule.cpp \ + $(NULL) + +<a href="/ja/docs/SHARED_LIBRARY_LIBS">SHARED_LIBRARY_LIBS</a> = \ + $(DIST)/lib/$(LIB_PREFIX)gkhtmlbase_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkhtmldoc_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkhtmlforms_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkhtmlstyle_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkhtmltable_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkxulbase_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkbase_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkconshared_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkxultree_s.$(LIB_SUFFIX) \ + $(DIST)/lib/$(LIB_PREFIX)gkxulgrid_s.$(LIB_SUFFIX) \ + $(NULL) + +include $(topsrcdir)/config/rules.mk +</pre> + +<p><strong>SHARED_LIBRARY_LIBS</strong> は、本共有ライブラリにリンクすべき静的ライブラリを並べて記述します。<strong>LIB_PREFIX</strong> や <strong>LIB_SUFFIX</strong> を使用することで、すべてのプラットフォームで動作させることができることに注意してください。</p> + +<h2 id="Jar_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E3.83.93.E3.83.AB.E3.83.89.E3.81.99.E3.82.8B" name="Jar_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E3.83.93.E3.83.AB.E3.83.89.E3.81.99.E3.82.8B">Jar ファイルをビルドする</h2> + +<p>Jar ファイルは(XUL、JavaScript、CSSといった) chrome ファイルのパッケージングに使用します。Jar パッケージングについてのより詳細な情報は、{{ mediawiki.external('jar-packaging.html このドキュメント') }}で得られます。ここでは、Jar パッケージを行うために Makefile をどのように設定するかのみ述べます。以下に例を示します。</p> + +<pre class="eval">DEPTH = ../../../.. +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +include $(topsrcdir)/config/rules.mk</pre> + +<p>そうです。ここでは定義が必要な外部変数は使用されていません。Makefile.in と同じディレクトリに <strong>jar.mn</strong> ファイルがある場合、自動的に処理されるのです。jar.mn と chrome ファイルを含む <strong>resources</strong> ディレクトリを作成するのが通例ですが、ライブラリを作成するディレクトリに jar.mn を設置したいのであれば、これも動作します(処理されます)。</p> + +<div class="originaldocinfo"> +<h2 id="著作情報">著作情報</h2> + +<ul> + <li>著作者: Brian Ryner</li> + <li>著作権情報: Portions of this content are © 1998–2006 by individual mozilla.org contributors; content available under a Creative Commons license</li> +</ul> +</div> diff --git a/files/ja/mozilla/developer_guide/build_instructions/windows_prerequisites/index.html b/files/ja/mozilla/developer_guide/build_instructions/windows_prerequisites/index.html new file mode 100644 index 0000000000..b69868d0d8 --- /dev/null +++ b/files/ja/mozilla/developer_guide/build_instructions/windows_prerequisites/index.html @@ -0,0 +1,13 @@ +--- +title: Building with VC8 Express +slug: Building_with_VC8_Express +tags: + - Build documentation + - Developing Mozilla +--- +<p> +</p><p>このページは破棄されました。標準の <a href="ja/Windows_Build_Prerequisites">Windows ビルドに必要な環境</a>は現在、Microsoft Visual C++ バージョン 8 Express Edition が使用されています。 +</p> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/Building_with_VC8_Express" } ) }} diff --git a/files/ja/mozilla/developer_guide/mozilla-central/index.html b/files/ja/mozilla/developer_guide/mozilla-central/index.html new file mode 100644 index 0000000000..ffad18d62b --- /dev/null +++ b/files/ja/mozilla/developer_guide/mozilla-central/index.html @@ -0,0 +1,52 @@ +--- +title: mozilla-central +slug: mozilla-central +tags: + - Developing Mozilla + - Mercurial +translation_of: Mozilla/Developer_guide/mozilla-central +--- +<p><b><code>mozilla-central</code></b> は Mozilla ソースコードの <a href="ja/Mercurial">Mercurial</a> リポジトリです: <a class=" external" href="http://hg.mozilla.org/mozilla-central" rel="freelink">http://hg.mozilla.org/mozilla-central</a> 。これは、Mozilla 2 コードベースに編入される変更のための、安定した統合ポイントです。 +</p><p>mozilla-central の <a href="ja/Tinderbox">Tinderbox</a> ページは <a class=" external" href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=Mozilla2" rel="freelink">http://tinderbox.mozilla.org/showbui...?tree=Mozilla2</a> に位置しています。 +{{ Note("Mozilla CVS リポジトリとは異なり、mozilla-central には Firefox と XULRunner のソースのみが含まれています。他のアプリケーションやプロジェクト固有のコードについては別のリポジトリが使用されます。") }} +{{ 英語版章題("mozilla-central tree rules") }} +</p> +<h3 id="mozilla-central_.E3.83.84.E3.83.AA.E3.83.BC.E8.A6.8F.E5.89.87" name="mozilla-central_.E3.83.84.E3.83.AA.E3.83.BC.E8.A6.8F.E5.89.87"> mozilla-central ツリー規則 </h3> +<p>mozilla-central コードベースは、<a href="ja/Supported_build_configurations">tier-1 プラットフォーム</a>上では常に stable でなくてはなりません: +</p> +<ul><li> 自動化されたユニットテストをパスすること。 +</li><li> 自動化されたパフォーマンステストおよびリークテストは退行しないこと。 +</li><li> どの退行バグも、やっかいなパッチを即座にバックアウトする原因になります。 +</li></ul> +<p>{{ 英語版章題("API Changes") }} +</p> +<h4 id="API_.E3.81.AE.E5.A4.89.E6.9B.B4" name="API_.E3.81.AE.E5.A4.89.E6.9B.B4"> API の変更 </h4> +<p>1.9.1 への準備のため、API の変更については以下の規則が適用されます: +</p> +<ul><li> <strong>{{ 原語併記("凍結", "frozen") }}</strong> された API の変更は現在許可されていません。 +</li><li> <strong>{{ 原語併記("未凍結", "nonfrozen") }}</strong> の API の変更はよく考えて慎重に行うべきです。 +<ul><li> JS 拡張仕様にインパクトのある変更は避けるか最小限に止め、注意しながら <a href="ja/Firefox_3.1_for_developers">文書化</a> すべきです。 +</li><li> レビュアは必要な場合、API の変更を明確に承認すべきです。 +</li><li> 疑問があれば mozilla.dev.platform や mozilla.dev.apps.firefox ニュースグループで尋ねてください。 +</li></ul> +</li></ul> +<p>この規則は 1.9.1 branch の後で変更されます。 +</p><p>{{ 英語版章題("Pushing changes to mozilla-central") }} +</p> +<h3 id="mozilla-central_.E3.81.AB.E5.A4.89.E6.9B.B4.E3.82.92.E3.83.97.E3.83.83.E3.82.B7.E3.83.A5.E3.81.99.E3.82.8B" name="mozilla-central_.E3.81.AB.E5.A4.89.E6.9B.B4.E3.82.92.E3.83.97.E3.83.83.E3.82.B7.E3.83.A5.E3.81.99.E3.82.8B"> mozilla-central に変更をプッシュする </h3> +<p>CVS チェックインアクセス権をもつすべての開発者は、<a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Server+Operations:+Account+Requests">バグを投稿</a>して、hg.mozilla.org にプッシュするための LDAP ログインの詳細が書かれた Email を受信してください。変更セットをサーバにプッシュするには <tt>hg push</tt> コマンドを使用します。 +</p> +<ul><li> 変更は、複数の head を mozilla-central に導入しないこと。 +</li><li> 履歴をきれいに保つこと。履歴をちらかす多くの "作業中" の変更セットよりも、一つのコミットまたはいくつかの個別の変更セットが好ましい。チェックインする前にパッチを管理する <a href="ja/Mercurial_queues">Mercurial queues</a> の使用を検討してください。 +</li><li> 少なくともプッシュされた最後の変更セットには、変更に関するバグ番号とレビュアを記載すること。 +</li><li> 変更は <code><a class=" external" href="ssh://hg.mozilla.org/mozilla-central/" rel="freelink">ssh://hg.mozilla.org/mozilla-central/</a></code> にプッシュすること。詳しい設定の仕方は <a href="ja/Mercurial_FAQ#How_do_I_check_stuff_in.3F">Mercurial FAQ#How do I check stuff in?</a> を確認してください。 +</li></ul> +<p>{{ 英語版章題("See also") }} +</p> +<h3 id=".E5.8F.82.E7.85.A7" name=".E5.8F.82.E7.85.A7"> 参照 </h3> +<ul><li> <a class="external" href="http://developer.mozilla.org/devnews/index.php/2008/06/02/mozilla-central-open-for-business/">mozilla-central: open for business</a> devnews の投稿。 +</li><li> <a class="link-https" href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=433384&hide_resolved=1">Tracking: issues making development difficult on mozilla-central</a> +</li></ul> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/Mozilla-central", "es": "es/Mozilla-central" } ) }} diff --git a/files/ja/mozilla/developer_guide/source_code/getting_comm-central_source_code_using_mercurial/index.html b/files/ja/mozilla/developer_guide/source_code/getting_comm-central/index.html index 581da56b72..581da56b72 100644 --- a/files/ja/mozilla/developer_guide/source_code/getting_comm-central_source_code_using_mercurial/index.html +++ b/files/ja/mozilla/developer_guide/source_code/getting_comm-central/index.html diff --git a/files/ja/mozilla/firefox/releases/1.5/adapting_xul_applications_for_firefox_1.5/index.html b/files/ja/mozilla/firefox/releases/1.5/adapting_xul_applications_for_firefox_1.5/index.html new file mode 100644 index 0000000000..7106e1df16 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/1.5/adapting_xul_applications_for_firefox_1.5/index.html @@ -0,0 +1,33 @@ +--- +title: Firefox 1.5 に XUL アプリケーションを対応させる +slug: Adapting_XUL_Applications_for_Firefox_1.5 +tags: + - Add-ons + - Extensions + - XUL +translation_of: Mozilla/Firefox/Releases/1.5/Adapting_XUL_Applications_for_Firefox_1.5 +--- +<p> </p> + +<p>このページでは、<a href="ja/Firefox_1.5">Firefox 1.5</a> の変更点のうち、XUL アプリケーション開発者に影響するものについて、リストで示します。</p> + +<h3 id=".E4.BB.95.E6.A7.98.E3.81.AE.E5.A4.89.E6.9B.B4" name=".E4.BB.95.E6.A7.98.E3.81.AE.E5.A4.89.E6.9B.B4">仕様の変更</h3> + +<ul> + <li><a href="ja/Tree_Widget_Changes">ツリーウィジェット関連の変更点</a></li> + <li><a href="ja/International_characters_in_XUL_JavaScript">XUL JavaScript での国際文字サポート</a> (拡張 (Extension)で使用する JavaScript に、非 ASCII 文字を含む場合のみ関係します)</li> + <li><a href="ja/XMLHttpRequest_changes_for_Gecko1.8">XMLHttpRequest の変更点</a></li> + <li><a href="ja/XUL_Changes_for_Firefox_1.5">Firefox 1.5 における XUL の変更点</a></li> + <li><a href="ja/XPCNativeWrapper">XPCNativeWrapper</a> がデフォルトになりました。このため、1.0.x と比較して、いくつか挙動 (behavior)が変わっています。</li> + <li>より簡単な <a href="ja/Chrome_Registration">Chrome Registration</a> が採用されたことにより、contents.rdf は、非推奨 (deprecate)になりました。</li> + <li>オーバーレイされたコンテキストメニュー関連:<br> + 関数 gContextMenu.linkURL() は、gContextMenu.getLinkURL() に名称が変更され、linkURL は、プロパティに変更されました。後方互換性 (backwards-compatible)を確保するためには以下のようにしてください。<br> + url = 'getLinkURL' in gContextMenu ? gContextMenu.getLinkURL() : gContextMenu.linkURL();</li> +</ul> + +<h3 id=".E3.81.9D.E3.81.AE.E4.BB.96.E3.81.AE.E6.83.85.E5.A0.B1" name=".E3.81.9D.E3.81.AE.E4.BB.96.E3.81.AE.E6.83.85.E5.A0.B1">その他の情報</h3> + +<ul> + <li><a href="ja/Using_nsIXULAppInfo">nsIXULAppInfo を使用してアプリケーションのバージョンをチェックする方法</a></li> + <li><a class="external" href="http://kb.mozillazine.org/Dev_:_Extensions_:_Cross-Version_Compatibility_Techniques">MozillaZine</a></li> +</ul> diff --git a/files/ja/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html b/files/ja/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html new file mode 100644 index 0000000000..a2c0c54ea7 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.html @@ -0,0 +1,191 @@ +--- +title: Using Firefox 1.5 caching +slug: Using_Firefox_1.5_caching +tags: + - Add-ons + - DOM + - Extensions + - HTML + - JavaScript + - Web Development +translation_of: Mozilla/Firefox/Releases/1.5/Using_Firefox_1.5_caching +--- +<p>{{FirefoxSidebar}}</p> + +<h2 id=".E3.81.AF.E3.81.98.E3.82.81.E3.81.AB" name=".E3.81.AF.E3.81.98.E3.82.81.E3.81.AB">はじめに</h2> + +<p><a href="/ja/Firefox_1.5_for_developers" title="ja/Firefox_1.5_for_developers">Firefox 1.5</a> ではウェブページ全体をその JavaScript の状態も含めてメモリ内にキャッシュし、1 つのブラウザセッションとして使用します。訪問したページ間の戻る、進むという動作にページのロードが不要になり、JavaScript の状態も保存されます。この機能によってページナビゲーションが非常に高速化します。この機能は <strong>bfcache</strong>("Back-Forward Cache" のこと)と呼ばれることもあります。このキャッシュ状態はユーザがブラウザを閉じるまで保存されます。</p> + +<p>Firefox がページをキャッシュしない場合があります。ページがキャッシュされないプログラム的な理由でよくあるものをいくつか以下に示します。</p> + +<ul> + <li>ページが <code>unload</code> ハンドラを使用している</li> + <li>ページが "cache-control: no-store" をセットしている</li> + <li>ページが "cache-control: no-cache" をセットしていて、サイトが HTTPS である</li> + <li>ページが完全にはロードされないまま、ユーザがそのページから去るナビゲートをする</li> + <li>トップレベルのページにキャッシュ不可能なフレームがある</li> + <li>ページがフレーム内にあり、ユーザがそのフレーム内に新しいページをロードする(この場合、ユーザがそのページから去るナビゲートをするとそのフレームに最後にロードされたコンテンツがキャッシュされる)</li> +</ul> + +<p>この新しいキャッシュ機能により、ページロードの挙動が変わります。ウェブ作者は次のことをしたいと思うことがあるでしょう。</p> + +<ul> + <li>ナビゲートされたことがあるページであることを知ること(そのページがユーザのキャッシュからロードされるとき)</li> + <li>ユーザがそのページを去るときのページの挙動を定義すること(ページがキャッシュされるようになっている間)</li> +</ul> + +<p>ブラウザの 2 つの新しいイベントによってウェブ作者はそのどちらもできるようになります。</p> + +<h2 id=".E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.81.AE.E6.96.B0.E3.81.97.E3.81.84.E3.82.A4.E3.83.99.E3.83.B3.E3.83.88" name=".E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.81.AE.E6.96.B0.E3.81.97.E3.81.84.E3.82.A4.E3.83.99.E3.83.B3.E3.83.88">ブラウザの新しいイベント</h2> + +<p>これらの新しいイベントを使用すると、そのページは他のブラウザでは今までどおりにきちんと表示され(過去の Firefox、Internet Explorer、Opera、Safari でテスト済み)、Firefox 1.5 でロードしたときにこの新しいキャッシュ機能が使用されるようになります。</p> + +<p>ウェブページの標準的な挙動は次のとおりです。</p> + +<ol> + <li>ユーザがページにナビゲートする。</li> + <li>ページロード時にインラインスクリプトが実行される。</li> + <li>ページがロードされると <code>onload</code> ハンドラが実行される。</li> +</ol> + +<p>4 ステップ目があるページもあります。ページが <code>unload</code> ハンドラを使用していると、ユーザがそのページから去るナビゲートをするときにそれが実行されます。<code>unload</code> ハンドラが存在しているとそのページはキャッシュされません。</p> + +<p>ユーザがキャッシュされたページにナビゲートしたとき、インラインスクリプトと <code>onload</code> ハンドラは実行されません(ステップ 2 および 3)。ほとんどの場合、これらのスクリプトの効果が保存されているためです。</p> + +<p>そのページにユーザがナビゲートするたびにロード中に実行されるようにしたいスクリプトや他の動作がそのページに含まれている場合、あるいはいつユーザがキャッシュされたページにナビゲートしたかを知りたい場合は、新しい <code>pageshow</code> イベントを使用します。</p> + +<p>ユーザがそのページから去るナビゲートをするときに実行されるようにしたい動作があるものの、この新しいキャッシュ機能を生かしたく、さらにそれゆえに unload ハンドラを使用したくないという場合は、新しい <code>pagehide</code> イベントを使用します。</p> + +<h3 id="pageshow_.E3.82.A4.E3.83.99.E3.83.B3.E3.83.88" name="pageshow_.E3.82.A4.E3.83.99.E3.83.B3.E3.83.88">pageshow イベント</h3> + +<p>このイベントは <code>load</code> イベントと同じように動作しますが、ページがロードされるたびに実行される点で異なります(一方、Firefox 1.5 ではページがキャッシュからロードされたときには <code>load</code> イベントは発動しません)。初めてページがロードされるとき、<code>load</code> イベントの発動直後に <code>pageshow</code> イベントが発動します。<code>pageshow</code> イベントは 初回ロード時には <code>false</code> がセットされる <code>persisted</code> という真偽値プロパティを使用します。初回ロードでなければ <code>true</code> がセットされます(つまり、そのページがキャッシュされているときに true がセットされます)。</p> + +<p>ページロードのたびに実行したい JavaScript は <code>pageshow</code> イベントの発動時に実行されるようにセットします。</p> + +<p>この記事で後に示すサンプルのように、JavaScript の関数を <code>pageshow</code> イベントの一部として呼び出す場合、<code>pageshow</code> イベントを <code>load</code> イベントの一部として呼び出すことで、ページが Firefox 1.5 以外のブラウザでロードされたときにもその関数を呼び出せるようになります。</p> + +<h3 id="pagehide_.E3.82.A4.E3.83.99.E3.83.B3.E3.83.88" name="pagehide_.E3.82.A4.E3.83.99.E3.83.B3.E3.83.88">pagehide イベント</h3> + +<p>ユーザがそのページから去るナビゲートをするときに実行する動作を定義したいものの、<code>unload</code> イベント(そのページがキャッシュされなくなる)を使用したくないという場合は、新しい <code>pagehide</code> イベントを使用することができます。<code>pageshow</code> のように、<code>pagehide</code> イベントは <code>persisted</code> という真偽値プロパティを使用します。このプロパティは、ブラウザがそのページをキャッシュしていなければ <code>false</code> がセットされ、ブラウザがそのページをキャッシュしていれば <code>true</code> がセットされます。このプロパティに <code>false</code> がセットされているとき、<code>unload</code> があれば <code>pagehide</code> イベントの直後にそれが発動します。</p> + +<p>Firefox 1.5 は、そのページの初回ロード時と同じ順番でロードに関するイベントをシミュレートします。フレームはトップレベルの文書と同じように扱われます。そのページにフレームがあると、キャッシュされたページがロードされるときに次のことが起こります。</p> + +<ul> + <li>メイン文書で <code>pageshow</code> イベントが発動する前に、各フレームから <code>pageshow</code> イベントが発動する。</li> + <li>ユーザがキャッシュされたページから去るナビゲートをすると、メイン文書で <code>pagehide</code> イベントが発動する前に、各フレームから <code>pagehide</code> イベントが発動する。</li> + <li>単一のフレーム内でのナビゲーションについては、影響を受けるフレームでのみイベントが発動する。</li> +</ul> + +<h2 id=".E3.82.B5.E3.83.B3.E3.83.97.E3.83.AB.E3.82.B3.E3.83.BC.E3.83.89" name=".E3.82.B5.E3.83.B3.E3.83.97.E3.83.AB.E3.82.B3.E3.83.BC.E3.83.89">サンプルコード</h2> + +<p>下のサンプルは <code>load</code> イベントと <code>pageshow</code> イベントの両方を使用したページです。このサンプルページは次のような挙動をとります。</p> + +<ul> + <li>Firefox 1.5 以外のブラウザでは、次のことがページロードのたびに起こる:<code>load</code> イベントが <code>onLoad</code> 関数をトリガする。<code>onLoad</code> 関数は <code>onPageShow</code> 関数を呼び出す(付随する関数はもちろんのこと)。</li> +</ul> + +<ul> + <li>Firefox 1.5 では、初めてそのページがロードされるときに他のブラウザと同じように <code>load</code> イベントが発動する。さらに <code>pageshow</code> イベントが発動し、<code>persisted</code> に <code>false</code> がセットされるために他のアクションは生じない。</li> +</ul> + +<ul> + <li>Firefox 1.5 では、キャッシュからページがロードされるときは <code>pageshow</code> イベントだけが発動する。<code>persisted</code> には <code>true</code> がセットされるため、<code>onPageShow</code> 関数内の JavaScript アクションだけがトリガされる。</li> +</ul> + +<p>この例では次のことが起こります。</p> + +<ul> + <li>ページはロードされるたびに現在日時を算出し、表示する。この計算には秒とミリ秒が含まれるため、機能のテストが簡単になる。</li> + <li>ページの初回ロード時にカーソルがフォームの Name フィールドに移動する。Firefox 1.5 では、ユーザがそのページに戻るナビゲートをすると、カーソルはユーザがそのページから去るナビゲートをしたときにあったフィールドに残る。他のブラウザではカーソルは Name フィールドに戻る。</li> +</ul> + +<pre><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<HTML> +<head> +<title>Order query : Firefox 1.5 Example</title> +<style type="text/css"> +body, p { + font-family: Verdana, sans-serif; + font-size: 12px; + } +</style> +<script type="text/javascript"> +function onLoad() { + loadOnlyFirst(); + onPageShow(); +} + +function onPageShow() { +// 現在時刻の算出 + + var currentTime= new Date(); + var year=currentTime.getFullYear(); + var month=currentTime.getMonth()+1; + var day=currentTime.getDate(); + var hour=currentTime.getHours(); + var min=currentTime.getMinutes(); + var sec=currentTime.getSeconds(); + var mil=currentTime.getMilliseconds(); + var displayTime = (month + "/" + day + "/" + year + " " + + hour + ":" + min + ":" + sec + ":" + mil); + document.getElementById("timefield").value=displayTime; +} + +function loadOnlyFirst() { + document.zipForm.name.focus(); +} +</script> +</head> +<body onload="onLoad();" onpageshow="if (event.persisted) onPageShow();"> +<h2>Order query</h2> + +<form name="zipForm" action="http://www.example.com/formresult.html" method="get"> +<label for="timefield">Date and time:</label> +<input type="text" id="timefield"><br> +<label for="name">Name:</label> +<input type="text" id="name"><br> +<label for="address">Email address:</label> +<input type="text" id="address"><br> +<label for="order">Order number:</label> +<input type="text" id="order"><br> +<input type="submit" name="submit" value="Submit Query"> +</form> +</body> +</html> +</pre> + +<p>一方、上記のページが <code>pageshow</code> イベントをリスンせず、すべての計算を <code>load</code> イベントの一部として扱う(そして代わりに下のサンプルコード片で置き換える)ものだとすると、ユーザがそのページから去るナビゲーションをするとカーソル位置も日時も Firefox 1.5 にキャッシュされます。ユーザがそのページに戻ると、キャッシュされた日時が表示されます。</p> + +<pre><script> +function onLoad() { + loadOnlyFirst(); + +// 現在時刻の算出 + var currentTime= new Date(); + var year = currentTime.getFullYear(); + var month = currentTime.getMonth()+1; + var day = currentTime.getDate(); + var hour=currentTime.getHours(); + var min=currentTime.getMinutes(); + var sec=currentTime.getSeconds(); + var mil=currentTime.getMilliseconds(); + var displayTime = (month + "/" + day + "/" + year + " " + + hour + ":" + min + ":" + sec + ":" + mil); + document.getElementById("timefield").value=displayTime; +} + +function loadOnlyFirst() { + document.zipForm.name.focus(); +} +</script> +</head> + +<body onload="onLoad();"> +</pre> + +<h2 id="Firefox_.E7.94.A8.E6.8B.A1.E5.BC.B5.E6.A9.9F.E8.83.BD.E3.81.AE.E9.96.8B.E7.99.BA" name="Firefox_.E7.94.A8.E6.8B.A1.E5.BC.B5.E6.A9.9F.E8.83.BD.E3.81.AE.E9.96.8B.E7.99.BA">Firefox 用拡張機能の開発</h2> + +<p>Firefox 1.5 の <a href="/ja/Building_an_Extension" title="ja/Building_an_Extension">拡張機能</a> はこのキャッシュ機能を許容するものである必要があります。1.5 とそれより前のバージョンの両方と互換性を持つ Firefox の拡張機能を開発したいのであれば、キャッシュされるようにするトリガについては <code>load</code> イベントをリスンし、キャッシュされないようにするトリガについては <code>pageshow</code> イベントをリスンしてください。</p> + +<p>例えば Firefox 用 Google ツールバーは、1.5 とそれより前のバージョンの両方と互換性を持たせるためには、autolink 関数については <code>load</code> イベントをリスンすべきであり、PageRank 関数については <code>pageshow</code> イベントをリスンすべきです。</p> diff --git a/files/ja/mozilla/firefox/releases/2/adding_feed_readers_to_firefox/index.html b/files/ja/mozilla/firefox/releases/2/adding_feed_readers_to_firefox/index.html new file mode 100644 index 0000000000..8139208689 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/2/adding_feed_readers_to_firefox/index.html @@ -0,0 +1,49 @@ +--- +title: Firefox へのフィードリーダーの追加 +slug: Adding_feed_readers_to_Firefox +tags: + - Configuration management +translation_of: Mozilla/Firefox/Releases/2/Adding_feed_readers_to_Firefox +--- +<div> + {{ Fx_minversion_header(2) }}</div> +<p>Firefox 2 より、Firefox はフィードを読む際に使う RSS または Atom フィードリーダを選択できるようになっています。この記事ではデフォルトではサポートされていないリーダを追加サポートさせる方法について説明します。</p> +<h2 id="Adding_a_new_web-based_feed_reader" name="Adding_a_new_web-based_feed_reader">新しいウェブベースのフィードリーダの追加</h2> +<p>新しいウェブベースのフィードリーダを追加サポートさせるためにやらなければならないことは、3 つの新しい設定項目を追加することだけです。</p> +<dl> + <dt> + <code>browser.contentHandlers.types.<i>number</i>.title</code></dt> + <dd> + フィードリーダの名前。</dd> + <dt> + <code>browser.contentHandlers.types.<i>number</i>.type</code></dt> + <dd> + フィードリーダに使用するため、ここは "application/vnd.mozilla.maybe.feed" にする。</dd> + <dt> + <code>browser.contentHandlers.types.<i>number</i>.uri</code></dt> + <dd> + フィードリーダの URI。フィードの URL が挿入されるべき部分に "%s" を使用する。</dd> +</dl> +<p><code><i>number</i></code> は既に使われている数のうち最大のものよりもより 1 つ大きな数で置き換えてください。例えば "Easy Reader" という新しいフィードリーダを追加したい場合、かつ 0 から 4 までの数が指定されたコンテンツハンドラが既に定義されている場合、このように <code><i>number</i></code> には 5 を使用してください。</p> +<ul> + <li><code>browser.contentHandlers.types.5.title</code>: Easy Reader</li> + <li><code>browser.contentHandlers.types.5.type</code>: application/vnd.mozilla.maybe.feed</li> + <li><code>browser.contentHandlers.types.5.uri</code>: <span class="nowiki">http://www.theeasyreaderurl.com?feed=%s</span></li> +</ul> +<p><code>about:config</code> を使うことでこれらの設定項目を手動で追加できます。拡張機能で新しいフィードリーダをインストールしたいのであれば、プログラム側で行うこともできます。</p> +<h3 id="Adding_a_feed_reader_from_a_web_application" name="Adding_a_feed_reader_from_a_web_application">ウェブアプリケーションからのフィードリーダの追加</h3> +<p>ウェブ上の JavaScript コードから簡単にフィードリーダを追加することができます。このためには、このような {{domxref("navigator.registerContentHandler()")}} 関数を使用します。</p> +<pre class="brush:js">navigator.registerContentHandler( + "application/vnd.mozilla.maybe.feed", + "http://www.theeasyreaderurl.com?feed=%s", + "Easy Reader" +);</pre> +<h3 id="Adding_a_new_feed_reader_application" name="Adding_a_new_feed_reader_application">新しいフィードリーダアプリケーションの追加</h3> +<p>これを最も簡単に行う方法というのは、単に設定(あるいは オプション、ご使用のプラットフォームによります)ウィンドウの フィード パネルという既存のユーザインタフェースを使用することです。</p> +<div class="note"> + <strong>注意:</strong> Firefox 8 よりフィードパネルは無くなっています。フィードリーダーの開発者が、Web フィードの処理の為のオプションをご自分で追加する場合、上記の同様の JavaScript コードを実装することをお勧めします。</div> +<p>これも拡張機能からプログラムで行うこともできます。フィードリーダに使うアプリケーションのパス名を <code>browser.feeds.handlers.application</code> オプションの値に設定することで可能です。</p> +<h2 id="See_also" name="See_also">関連情報</h2> +<ul> + <li>{{ domxref("window.navigator.registerContentHandler()") }}</li> +</ul> diff --git a/files/ja/mozilla/firefox/releases/2/updating_extensions/index.html b/files/ja/mozilla/firefox/releases/2/updating_extensions/index.html new file mode 100644 index 0000000000..546bd25562 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/2/updating_extensions/index.html @@ -0,0 +1,37 @@ +--- +title: Updating extensions for Firefox 2 +slug: Updating_extensions_for_Firefox_2 +tags: + - Add-ons + - Extensions +translation_of: Mozilla/Firefox/Releases/2/Updating_extensions +--- +<p>この記事は、開発者が彼らの拡張機能を更新して Firefox 2 で動作させるために役立つ情報を提供しています。 +</p><p>{{ 英語版章題("Step 1: Update the install manifest") }} +</p> +<h2 id=".E3.82.B9.E3.83.86.E3.83.83.E3.83.97_1:_.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E5.AE.9A.E7.BE.A9.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E6.9B.B4.E6.96.B0" name=".E3.82.B9.E3.83.86.E3.83.83.E3.83.97_1:_.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E5.AE.9A.E7.BE.A9.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E6.9B.B4.E6.96.B0">ステップ 1: インストール定義ファイルの更新</h2> +<p>最初のステップ -- ほとんどの拡張機能で唯一必要なこと -- は、<a href="ja/Install_Manifests">インストール定義</a>ファイル <tt>install.rdf</tt> を更新し、Firefox 2 との互換性を持たせることです。 +</p><p>単純に、Firefox の最大互換バージョンを指示する行を探します (次のように Firefox 1.5 向けになっています): +</p> +<pre class="eval"> <span class="nowiki"><em:maxVersion>1.5.0.*</em:maxVersion></span> +</pre> +<p>これを変更して Firefox 2 と互換性を持たせます: +</p> +<pre class="eval"> <span class="nowiki"><em:maxVersion>2.0.0.*</em:maxVersion></span> +</pre> +<p>そして、拡張機能を再インストールしてみます。 +</p><p>{{ 英語版章題("Step 2: Update XUL overlays") }} +</p> +<h2 id=".E3.82.B9.E3.83.86.E3.83.83.E3.83.97_2:_XUL_.E3.82.AA.E3.83.BC.E3.83.90.E3.83.BC.E3.83.AC.E3.82.A4.E3.81.AE.E6.9B.B4.E6.96.B0" name=".E3.82.B9.E3.83.86.E3.83.83.E3.83.97_2:_XUL_.E3.82.AA.E3.83.BC.E3.83.90.E3.83.BC.E3.83.AC.E3.82.A4.E3.81.AE.E6.9B.B4.E6.96.B0">ステップ 2: XUL オーバーレイの更新</h2> +<p>Firefox 2 はデフォルトのテーマに変更を加えています。さらに、一部のユーザインタフェース要素が変更、または移動されているため、あなたの拡張機能の XUL オーバーレイに依存する部分が影響を受けます。 +</p><p>拡張機能の XUL オーバーレイに影響する変更箇所について学ぶには、<a href="ja/Theme_changes_in_Firefox_2">Firefox 2 におけるテーマの変更点</a>の記事に目を通してください。 +</p><p>{{ 英語版章題("Step 3: Test") }} +</p> +<h2 id=".E3.82.B9.E3.83.86.E3.83.83.E3.83.97_3:_.E3.83.86.E3.82.B9.E3.83.88" name=".E3.82.B9.E3.83.86.E3.83.83.E3.83.97_3:_.E3.83.86.E3.82.B9.E3.83.88">ステップ 3: テスト</h2> +<p>公式にリリースする前に、必ず拡張機能を Firefox 2 上でテストしてください。最後にすることは、Firefox のリリース時に起こる問題報告のラッシュに、あなたの拡張機能の新バージョンが責任を持つことです。 +</p><p>{{ 英語版章題("Step 4: Release") }} +</p> +<h2 id=".E3.82.B9.E3.83.86.E3.83.83.E3.83.97_4:_.E3.83.AA.E3.83.AA.E3.83.BC.E3.82.B9" name=".E3.82.B9.E3.83.86.E3.83.83.E3.83.97_4:_.E3.83.AA.E3.83.AA.E3.83.BC.E3.82.B9">ステップ 4: リリース</h2> +<p><a class=" external" href="http://addons.mozilla.org" rel="freelink">http://addons.mozilla.org</a> 上のあなたの拡張機能のエントリを更新してください。ユーザが更新を見つけられるようになります。 +</p><p>さらに、あなたの拡張機能のインストール定義ファイルで <code><a href="ja/Install_Manifests#updateURL">updateURL</a></code> を提供している場合は、必ず update manifest を更新し、Firefox が自動的に拡張機能の新バージョンを見つけられるようにしてください。こうすることによって、ユーザが Firefox 2 にアップグレードした後で最初にあなたの拡張機能を実行した時、新バージョンを自動的にインストールさせることができます。 +</p>{{ languages( { "en": "en/Updating_extensions_for_Firefox_2", "fr": "fr/Mise_\u00e0_jour_des_extensions_pour_Firefox_2", "ko": "ko/Updating_extensions_for_Firefox_2", "pl": "pl/Aktualizacja_rozszerze\u0144_do_Firefoksa_2" } ) }} diff --git a/files/ja/mozilla/firefox/releases/3.5/updating_extensions/index.html b/files/ja/mozilla/firefox/releases/3.5/updating_extensions/index.html new file mode 100644 index 0000000000..a644ae451a --- /dev/null +++ b/files/ja/mozilla/firefox/releases/3.5/updating_extensions/index.html @@ -0,0 +1,73 @@ +--- +title: Updating extensions for Firefox 3.1 +slug: Updating_extensions_for_Firefox_3.1 +--- +<p>{{ fx_minversion_header(3.1) }}</p> +<p>この記事は、自分の拡張機能を Firefox 3.1 で正しく動作するよう更新しようとしている拡張機能開発者のために役立つ情報を提供します。</p> +<h2 id="更新の基本">更新の基本</h2> +<p>この節では、Firefox の新しいバージョンに向けて拡張機能を更新する際に必ず行わなければならないことの基本を説明します。</p> +<h3 id="拡張機能のテスト">拡張機能のテスト</h3> +<p>まずはじめに、拡張機能の <code>install.rdf</code> ファイルを編集して、(Firefox 3.1 beta 2 でテストを行っている場合は) <code>maxVersion</code> を 3.1b2 に更新し、それに合わせて <code>version</code> を上げましょう。</p> +<p>Firefox のプロファイルを新規作成し、テストが常用のプロファイルに影響しないようにします。 Firefox が含まれるディレクトリに移動して、以下のコマンドを実行します。</p> +<pre>firefox -createProfile testBeta2 +</pre> +<p>Mac では、Firefox のアプリケーションバンドル内へはるばる移動する必要があります。</p> +<pre>cd /Applications/Firefox.app/Contents/MacOS/ +firefox -createProfile testBeta2 +</pre> +<p>コマンドライン上で以下のコマンドを実行し、新規プロファイルで Firefox を起動します。</p> +<pre>firefox -P testBeta2 +</pre> +<p>自分の拡張機能を徹底的にテストします。 JavaScript のあらゆる警告や例外を通知するために、以下の設定項目を true に設定しておくことをお勧めします。</p> +<ul> <li><code>javascript.options.strict</code></li> <li><code>javascript.options.showInConsole</code></li> +</ul> +<h3 id="拡張機能の更新">拡張機能の更新</h3> +<p>テスト中に何か問題を発見した場合は、コードを更新して問題を修正しましょう。 この記事には、若干の更新作業が必要な箇所についての役立つ情報が載っています。</p> +<p>テストが完了したら、今度は常用のプロファイルを使って、再度その拡張機能を使ってみます。 この作業は、保存されている既存のデータとの互換性を確認するのに役立ちます。</p> +<h3 id="addons.mozilla.org_に登録されている拡張機能の更新">addons.mozilla.org に登録されている拡張機能の更新</h3> +<p>ついに、更新した拡張機能を公開するときが来ました。 もし自分の拡張機能に一切コードの変更が必要ない場合は、AMO のダッシュボードにログインして、互換性のあるバージョンを更新するだけで済みます。 何らかの変更を加えた場合は、新しいバージョンを AMO にアップロードする必要があります。</p> +<p>詳しくは <a class="internal" href="/ja/Submitting_an_add-on_to_AMO" title="ja/Submitting an add-on to AMO">AMO へのアドオンの登録</a> を参照してください。</p> +<h2 id="Places_データベースへのアクセス">Places データベースへのアクセス</h2> +<p>Firefox 3.1 以前は、<a class="internal" href="/ja/Storage" title="ja/Storage">Storage API</a> を使って Places データベースへ直接アクセスする場合、以下のように少々工夫が必要でした。</p> +<pre class="brush: js">var places = Components.classes["@mozilla.org/file/directory_service;1"]. + getService(Components.interfaces.nsIProperties). + get("ProfD", Components.interfaces.nsIFile); +places.append("places.sqlite"); +var db = Components.classes["@mozilla.org/storage/service;1"]. + getService(Components.interfaces.mozIStorageService).openDatabase(places); +</pre> +<p>これは <code>places.sqlite</code> データベースファイルへのパスを自力で作成し、Storage アクセスのためのファイルを開くものでした。</p> +<p>Firefox 3.1 には、Places データベースへアクセスするための便利な方法を提供する、専用のサービスが追加されており、上記の方法は Firefox 3.1 以降では機能しません。</p> +<pre class="brush: js">var db = Components.classes["@mozilla.org/browser/nav-history-service;1"]. + getService(Components.interfaces.nsPIPlacesDatabase).DBConnection; +</pre> +<h2 id="テキストボックスの検索">テキストボックスの検索</h2> +<p><a class="internal" href="/ja/XUL/textbox" title="ja/XUL/Textbox"><code>textbox</code></a> の種類のひとつ、<code>timed</code> は廃止予定となりました。代わりに <code>search</code> を使ってください。</p> +<p>Firefox 3 では、以下のようなコードが使われていたはずです。</p> +<pre><textbox type="timed" timeout="1000" oncommand="alert(this.value);"/> +</pre> +<p>Firefox 3.1 では、これを以下のように書き換える必要があります。</p> +<pre><textbox type="search" timeout="1000" oncommand="alert(this.value);"/> +</pre> +<h2 id="JSON">JSON</h2> +<p>JSON.jsm JavaScript モジュールは Firefox 3.1 では削除され、ネイティブの JSON オブジェクトサポートに置き換えられました。 詳しくは、<a class="internal" href="/ja/Using_JSON_in_Firefox" title="/ja/Using JSON in Firefox">Firefox で JSON を使用する</a> をご覧ください。JSON のより一般的な概要と、各種バージョンの Firefox で JSON を使う方法については、<a class="internal" href="/ja/JSON" title="ja/JSON">JSON</a> のページからリンクされている記事を参照してください。</p> +<p>Firefox 3 と Firefox 3.1 の両方について互換性を確保するには、以下のように記述します。</p> +<pre class="brush: js">if (typeof(JSON) == "undefined") { + Components.utils.import("resource://gre/modules/JSON.jsm"); + JSON.parse = JSON.fromString; + JSON.stringify = JSON.toString; +} +</pre> +<p>JSON がネイティブサポートされていない場合は JSON.jsm JavaScript モジュールをインポートして、そのモジュールによって提供されているメソッドをネイティブ JSON で使われているものにマッピングします。これによって、同じ呼び出しが可能になります。</p> +<p>また、{{ interface("nsIJSON") }} インタフェースを直接利用することでも、この問題を回避できます。</p> +<h2 id="クローム登録に関する変更">クローム登録に関する変更</h2> +<p>Firefox 3.1 では、リモートのクロームを利用可能にするセキュリティホールが修正されています。 これは、<code>chrome.manifest</code> ファイルに Web サイトを参照するリソースが含まれているすべてのアドオンに影響します。</p> +<p>この問題は {{ Bug(466582) }} で詳しく説明されています。{{ interface("nsIProtocolHandler") }} インタフェースに追加された新しいフラグ <code>URI_IS_LOCAL_RESOURCE</code> によって、そのプロトコルがクロームとして登録しても安全であることを示すことができます。 独自のプロトコルハンドラを作成し、それを <code>chrome.manifest</code> 内で登録しようとするアドオンは、正しく動作するようにこのフラグを追加する必要があります。</p> +<h2 id="カスタマイズ可能なツールバー">カスタマイズ可能なツールバー</h2> +<p>Firefox 3.1 では、カスタマイズ可能なツールバーの挙動が次のように変更されました。<xul:toolbar/> バインディングは、関連付けられた <xul:toolbarpalette/> からツールバー削除、もしくはツールバーへ追加するようになりました。これまでは、項目を複製してツールバーへコピーしていました。 つまり、パレットには、ツールバー上に存在しないアイテムしか含めることができません。これまでの挙動では、ツールバー上に表示されているかどうかに関わらず、カスタマイズ可能なすべての要素が含まれていました。 これは、<xul:toolbarpalette/> からカスタマイズ可能なすべてのツールバー項目を取得できることに依存した処理を行っていたり、ツールバーのカスタマイズ中に動的にパレットへ項目を挿入し、それらを利用可能にしようとしているアドオンで問題となる可能性があります。 詳しくは、{{ Bug(407725) }} と {{ Bug(467045) }} をご覧ください。</p> +<h2 id="興味深い新機能">興味深い新機能</h2> +<h3 id="すべてのタブのイベントを監視する">すべてのタブのイベントを監視する</h3> +<p>Firefox 3.1 では、すべてのタブを監視するプログレスリスナーを追加、削除できるようになりました。 詳しくは、<a class="internal" href="/ja/Listening_to_events_on_all_tabs" title="ja/Listening to events on all tabs">すべてのタブのイベントを監視する</a> をご覧ください。</p> +<h2 id="テーマ開発者の方へ">テーマ開発者の方へ</h2> +<ul> <li><a class="internal" href="/ja/Theme_changes_in_Firefox_3.1" title="ja/Theme changes in Firefox 3.1">Firefox 3.1 でのテーマ関連の変更</a> を確認してください。</li> <li>Mozillazine フォーラムの <a class="topictitle external" href="http://forums.mozillazine.org/viewtopic.php?f=18&t=665138" title="http://forums.mozillazine.org/viewtopic.php?f=18&t=665138">Theme changes for FF3.1</a> を参照して、3.0 から 3.1 の間に行われた、テーマ開発者に影響するすべての変更の概要、一覧を確認してください。 このスレッドでは、CSS の新機能 (nth-child、-moz-box-shadow など)、既存の UI 部品への変更、UI 全体の改善、Firefox 3.1 の新機能 (audio/video のサポート、プライベートブラウジング、セッション復元機能の拡張、ボックス・ウィンドウ・テキストシャドウ) が議論されています。</li> +</ul> diff --git a/files/ja/mozilla/firefox/releases/3/dom_improvements/index.html b/files/ja/mozilla/firefox/releases/3/dom_improvements/index.html new file mode 100644 index 0000000000..95a990a367 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/3/dom_improvements/index.html @@ -0,0 +1,29 @@ +--- +title: DOM improvements in Firefox 3 +slug: DOM_improvements_in_Firefox_3 +tags: + - DOM + - Firefox 3 +translation_of: Mozilla/Firefox/Releases/3/DOM_improvements +--- +<p>{{ Fx_minversion_header(3) }} +</p><p>Firefox 3 では、特に、他のブラウザによる独自 DOM 拡張 のサポートに関するものを含む、多くの <a href="ja/DOM">Document Object Model</a> (DOM) 実装が追加されました。この記事は、これらの実装の一覧と詳細なドキュメントへのリンクを提供します。 </p> +<ul><li>Internet Explorer の <code><a href="ja/DOM/element.clientTop">clientTop</a></code> と <code><a href="ja/DOM/element.clientLeft">clientLeft</a></code> DOM 拡張がサポートされました。 +</li><li><code><a href="ja/DOM/window.fullScreen">window.fullScreen</a></code> プロパティは、たとえ Web コンテンツから読み出されても常に正確に計算されるようになりました。以前は不正確に <code>false</code> を返していたでしょう。({{ Bug(127013) }}) +</li><li> <code><a href="ja/DOM/element.getClientRects">getClientRects</a></code> と <code><a href="ja/DOM/element.getBoundingClientRect">getBoundingClientRect</a></code> DOM 拡張がサポートされました。({{ Bug(174397) }} を参照) +</li><li> Internet Explorer の <code><a href="ja/DOM/document.elementFromPoint">elementFromPoint</a></code> DOM 拡張がサポートされました。 ({{ Bug(199692) }}) +</li><li> Internet Explorer の <code><a href="ja/DOM/element.oncut">oncut</a></code>、<code><a href="ja/DOM/element.oncopy">oncopy</a></code>、 <code><a href="ja/DOM/element.onpaste">onpaste</a></code> DOM 拡張がサポートされました ({{ Bug(280959) }})。 +</li><li>特権コード限定のゲッタ <code>Node.nodePrincipal</code>、<code>Node.baseURIObject</code>、<code><a href="ja/DOM/document.documentURIObject">document.documentURIObject</a></code> が追加されました。Chrome コードは、(<code><a href="ja/XPCNativeWrapper">XPCNativeWrapper</a></code> の <code>wrappedJSObject</code> などの) ラップされていないコンテンツオブジェクトに対して、これらのプロパティに触れては (取得または設定をしては) いけません。詳細は {{ Bug(324464) }} を参照してください。 +</li><li> Web Applications 1.0 (HTML5) の <code><a href="ja/DOM/document.getElementsByClassName">getElementsByClassName()</a></code> DOM メソッドがサポートされました。 +</li><li> Web Applications 1.0 (HTML5) の <code><a href="ja/DOM/window.postMessage">window.postMessage</a></code> DOM メソッドがサポートされました。このメソッドは、制限された、同じドメインに限らないウィンドウ間でのクライアントサイド通信を行う選択フォームを可能にします。 </li><li> アクセラレーションキーが押された場合、<code>keypress</code> イベントの <code>charCode</code> の値は ASCII 文字に変更されます。それ以外の場合、<code>charCode</code> はそのままの文字です(<kbd>Shift</kbd> 状態を除く)。<a href="ja/Gecko_Keypress_Event">Gecko Keypress Event</a> を参照してください。 +</li></ul> +<p>{{ 英語版章題("See also") }} +</p> +<h3 id=".E5.8F.82.E7.85.A7" name=".E5.8F.82.E7.85.A7">参照</h3> +<ul><li><a href="ja/Firefox_3_for_developers">Firefox 3 for developers</a> +</li><li><a href="ja/CSS_improvements_in_Firefox_3">CSS improvements in Firefox 3</a> +</li><li><a href="ja/DOM">DOM</a> +</li></ul> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/DOM_improvements_in_Firefox_3", "es": "es/Mejoras_DOM_en_Firefox_3", "fr": "fr/Am\u00e9liorations_DOM_dans_Firefox_3", "pl": "pl/Poprawki_DOM_w_Firefoksie_3" } ) }} diff --git a/files/ja/mozilla/firefox/releases/3/full_page_zoom/index.html b/files/ja/mozilla/firefox/releases/3/full_page_zoom/index.html new file mode 100644 index 0000000000..c92ff3cc1b --- /dev/null +++ b/files/ja/mozilla/firefox/releases/3/full_page_zoom/index.html @@ -0,0 +1,41 @@ +--- +title: Full page zoom +slug: Full_page_zoom +tags: + - Firefox 3 +translation_of: Mozilla/Firefox/Releases/3/Full_page_zoom +--- +<p>{{ Fx_minversion_header(3) }} +{{ Gecko_minversion_header(1.9) }} +</p><p>フルページズーム (あるいは単にフルズーム) は <a href="ja/Firefox_3_for_developers">Firefox 3</a> の新機能です。 +</p><p>{{ 英語版章題("Example (XUL:browser)") }} +</p> +<h3 id=".E4.BE.8B_.28XUL:browser.29" name=".E4.BE.8B_.28XUL:browser.29"> 例 (XUL:browser) </h3> +<p>以下の例は、現在フォーカスがあたっているブラウザウィンドウでの利用をデモしています。これは Firefox 拡張機能での典型的な利用方法です。 +</p> +<pre>var zoom = 1.5; +var docViewer = getBrowser().selectedBrowser.markupDocumentViewer; +docViewer.fullZoom = zoom; +</pre> +<p>{{ 英語版章題("Example (XUL:iframe)") }} +</p> +<h3 id=".E4.BE.8B_.28XUL:iframe.29" name=".E4.BE.8B_.28XUL:iframe.29"> 例 (XUL:iframe) </h3> +<p>フルズーム機能を <a href="ja/XUL/iframe">XUL:iframe</a> でも同様に使用することができます。しかし、iframe には markupDocumentViewer プロパティがないため、最初に以下のようにする必要があります: +</p> +<pre>var zoom = 1.5; +var iframe = document.getElementById("authorFrame"); +var contViewer = iframe.docShell.contentViewer; +var docViewer = contViewer.QueryInterface(Components.interfaces.nsIMarkupDocumentViewer); +docViewer.fullZoom = zoom; +</pre> +<p>{{ 英語版章題("References") }} +</p> +<h3 id=".E5.8F.82.E8.80.83.E8.B3.87.E6.96.99" name=".E5.8F.82.E8.80.83.E8.B3.87.E6.96.99"> 参考資料 </h3> +<ul><li>Ted Mielczarek による Page zoom extension <a class="external" href="http://ted.mielczarek.org/code/mozilla/fullpagezoom.xpi">fullpagezoom.xpi</a> 最新の Firefox 3.0 ナイトリー用 +</li><li>Daniel Glazman による <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/6489">Glazoom extension</a> Firefox 3.0 用 +</li><li>フルズームに関する <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=4821">bugzilla のバグ</a> +</li><li><a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIMarkupDocumentViewer.html">nsIMarkupDocumentViewer</a> インタフェースのドキュメンテーション (現在 fullZoom についての言及はありません)。 +</li></ul> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/Full_page_zoom", "es": "es/Zoom_a_p\u00e1gina_completa", "fr": "fr/Zoom_pleine_page" } ) }} diff --git a/files/ja/mozilla/firefox/releases/3/notable_bugs_fixed/index.html b/files/ja/mozilla/firefox/releases/3/notable_bugs_fixed/index.html new file mode 100644 index 0000000000..abef2a2cfd --- /dev/null +++ b/files/ja/mozilla/firefox/releases/3/notable_bugs_fixed/index.html @@ -0,0 +1,32 @@ +--- +title: Notable bugs fixed in Firefox 3 +slug: Notable_bugs_fixed_in_Firefox_3 +tags: + - Firefox 3 +translation_of: Mozilla/Firefox/Releases/3/Notable_bugs_fixed +--- +<p>この記事は、ドキュメントで必ずしも明白に説明されていない、Firefox 3 で修正された重要なバグの修正の一覧を提供します。 +</p> +<ul><li>オーバーレイをパース中にエラーが発生した場合、オーバーレイは適用されません。パースエラーがエラーコンソールへ記録されます。 ({{ Bug(335755) }}) +</li><li>バグが修正され、メニューやメニューに似た要素に対して適用された場合でもバインディングの内部に <code><menupopup></code> 要素を設置できるようになりました。({{ Bug(345896) }}) +</li><li>ボタンの <code>dlgType</code> プロパティが正しく動作するようになりました。 ({{ Bug(308591) }}) +</li><li>{{ Domxref("event.initEvent") }} の引数 <code>canBubble</code> が正しく動作するようになり、浮上しないイベントを発生させられるようになりました。 ({{ Bug(330190) }}) +</li><li><code>DOMAttrModified</code> イベントが名前空間付きの属性を適切に処理するようになりました。 ({{ Bug(362391) }}) +</li><li><code><?xml-stylesheet ?></code> のようなXML処理命令が、 XUL 文書の DOM へと追加されるようになりました。したがって、 {{ Domxref("document.firstChild") }} が必ずしもルート要素であることを保証しないことになります。代わりに {{ Domxref("document.documentElement") }} を使用してください。また、 <code><?xml-stylesheet ?></code> や <code><?xul-overlay ?></code> 処理命令は、文書の前置き以外の場所では効果を発揮しないようになりました。 ({{ Bug(319654) }}) +</li><li>XUL 要素や文書に対する <code>getElementsByAttributeNS</code> 関数が追加されました。 ({{ Bug(239976) }}) +</li><li>XUL 文書から要素を移動したり削除したりしても、イベントリスナが保持されます。 ({{ Bug(286619) }}) +</li><li>変異イベントが非表示ドキュメントでも発生するようになりました。 ({{ Bug(201236) }}) +</li><li>要素が間違った順番で描画されることによるさまざまな問題が修正されました。 ({{ Bug(317375) }}) +</li><li><code><a href="ja/DOM/element.getElementsByTagName">getElementsByTagName()</a></code> が、タグ名に名前空間接頭辞を含む要素を持つサブツリーにおいて正しく動作するように修正されました。 ({{ Bug(206053) }}). +</li><li><code>DOMNodeInserted</code> および <code>DOMNodeRemoved</code> イベントが正しいノードに適用されるようになりました。 ({{ Bug(367164) }}). +</li><li> 正規表現の特殊文字である <code>\d</code> が Basic Latin アルファベット の数字(<code>{{ mediawiki.external('0-9') }}</code> と同じ)だけにマッチするように修正されました。 ({{ Bug(378738) }}) +</li><li>image-sniffing-services カテゴリにより、拡張機能として実装された画像デコーダが正しくない MIME タイプで送られた画像を正しくデコードできるようになります({{ Bug(391667) }})。 +</li></ul> +<p>{{ 英語版章題("See also") }} +</p> +<h3 id=".E5.8F.82.E7.85.A7" name=".E5.8F.82.E7.85.A7">参照</h3> +<ul><li> <a href="ja/Firefox_3_for_developers">Firefox 3 for developers</a> +</li></ul> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/Notable_bugs_fixed_in_Firefox_3", "es": "es/Bugs_importantes_solucionados_en_Firefox_3", "fr": "fr/Bugs_importants_corrig\u00e9s_dans_Firefox_3", "pl": "pl/Istotne_b\u0142\u0119dy_poprawione_w_Firefoksie_3" } ) }} diff --git a/files/ja/mozilla/firefox/releases/3/svg_improvements/index.html b/files/ja/mozilla/firefox/releases/3/svg_improvements/index.html new file mode 100644 index 0000000000..268528b155 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/3/svg_improvements/index.html @@ -0,0 +1,56 @@ +--- +title: SVG improvements in Firefox 3 +slug: SVG_improvements_in_Firefox_3 +tags: + - Firefox 3 + - SVG +translation_of: Mozilla/Firefox/Releases/3/SVG_improvements +--- +<p>{{ Fx_minversion_header(3) }} +</p><p>Firefox 3 では、以前のバージョンの Firefox よりも改善された <a href="ja/SVG">Scalable Vector Graphics</a> (SVG) サポートが追加されました。これらの機能は、別の場所で文書化されていますが、この記事は、便利な一覧を提供することで、どの機能が Firefox 3 で追加されたのかを判別しやすくします。 +</p> +<ul><li><code>foreignObject</code> 要素のサポート ({{ Bug(326966) }}, <a class="external" href="http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement">仕様</a>, <a class="external" href="http://weblogs.mozillazine.org/roc/archives/2006/06/the_future_is_now.html">参考</a>) </li><li><code>pattern</code> 要素のサポート (<a class="external" href="http://www.w3.org/TR/SVG11/pservers.html#PatternElement">仕様</a>) +</li><li><code>mask</code> 要素のサポート (<a class="external" href="http://www.w3.org/TR/SVG11/masking.html#MaskElement">仕様</a>) +</li><li>SVG フィルタのサポート (<a class="external" href="http://www.w3.org/TR/SVG11/filters.html">仕様</a>) +<ul><li><code>filter</code> +</li><li><code>feDistantLight</code> +</li><li><code>fePointLight</code> +</li><li><code>feSpotLight</code> +</li><li><code>feBlend</code> +</li><li><code>feColorMatrix</code> +</li><li><code>feConvolveMatrix</code> +</li><li><code>feComponentTransfer</code>, <code>feFuncR</code>, <code>feFuncG</code>, <code>feFuncB</code>, <code>feFuncA</code> +</li><li><code>feComposite</code> +</li><li><code>feConvolveMatrix</code> +</li><li><code>feDiffuseLighting</code> +</li><li><code>feDistantLight</code> +</li><li><code>feFlood</code> +</li><li><code>feGaussianBlur</code> +</li><li><code>feMerge</code>, <code>feMergeNode</code> +</li><li><code>feMorphology</code> +</li><li><code>feOffset</code> +</li><li><code>fePointLight</code> +</li><li><code>feSpecularLighting</code> +</li><li><code>feTurbulence</code> +</li><li><code>feTile</code> +</li></ul> +</li><li><code><a></code> element handling in SVG has had several bugs fixed; see {{ Bug(267664) }}, {{ Bug(268135) }}, {{ Bug(316248) }}, {{ Bug(317270) }} and {{ Bug(320724) }}. +</li><li>The SVG DOM Methods <code>getNumberOfChars()</code>, <code>getComputedTextLength()</code>, <code>getSubStringLength()</code>, <code>getStartPositionOfChar()</code>, <code>getEndPositionOfChar()</code>, <code>getRotationOfChar()</code>, and <code>getCharNumAtPosition()</code> have been implemented. +</li><li><code>xml:space</code> 属性の実装 (<a class="external" href="http://www.w3.org/TR/SVG/text.html#WhiteSpace">仕様</a>) +</li><li>fallback <code>fill</code>/<code>stroke</code> are now supported (<a class="external" href="http://www.w3.org/TR/SVG/painting.html#SpecifyingPaint">spec</a>) +</li><li> <code>em</code> and <code>ex</code> units are now supported for indicating lengths ({{ Bug(305859) }}). +</li></ul> +<p>{{ 英語版章題("See also") }} +</p> +<h3 id=".E5.8F.82.E7.85.A7" name=".E5.8F.82.E7.85.A7">参照</h3> +<ul><li> <a href="ja/SVG">SVG</a> +</li><li> <a href="ja/SVG_in_Firefox">SVG in Firefox</a> +</li><li> <a href="ja/Firefox_3_for_developers">Firefox 3 for developers</a> +</li></ul> +<p><br> +</p><p><br> +</p><p><br> +</p> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/SVG_improvements_in_Firefox_3", "es": "es/Mejoras_SVG_en_Firefox_3", "fr": "fr/Am\u00e9liorations_SVG_dans_Firefox_3", "pl": "pl/Poprawki_SVG_w_Firefoksie_3" } ) }} diff --git a/files/ja/mozilla/firefox/releases/3/updating_extensions/index.html b/files/ja/mozilla/firefox/releases/3/updating_extensions/index.html new file mode 100644 index 0000000000..f4237195d7 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/3/updating_extensions/index.html @@ -0,0 +1,157 @@ +--- +title: Updating extensions for Firefox 3 +slug: Updating_extensions_for_Firefox_3 +tags: + - Firefox 3 +translation_of: Mozilla/Firefox/Releases/3/Updating_extensions +--- +<p> このドキュメントは、拡張機能を更新して Firefox 3 に対応させたいと考える開発者のために役立つ情報を提供します。</p> + +<p>読み進める前に、私たちからひとつだけ参考になるヒントをお教えしましょう。もしあなたの拡張機能に必要な変更がインストール定義ファイル内の <code>maxVersion</code> 項目の更新だけで、なおかつ <a class="link-https" href="https://addons.mozilla.org">addons.mozilla.org</a> に拡張機能を登録している場合、新しいバージョンの拡張機能をアップロードする必要はありません! AMO 上の「開発者用コントロールパネル」を使って <code>maxVersion</code> を更新するだけで作業は完了です。この方法なら、拡張機能が再度レビューに回ることもありません。</p> + +<h3 id="Step_1_.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E5.AE.9A.E7.BE.A9.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E6.9B.B4.E6.96.B0.E3.81.99.E3.82.8B" name="Step_1:_.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E5.AE.9A.E7.BE.A9.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E6.9B.B4.E6.96.B0.E3.81.99.E3.82.8B">Step 1: インストール定義ファイルを更新する</h3> + +<p>最初のステップ、そして、ほとんどの拡張機能にとって必要となるたったひとつのステップは、Firefox 3 との互換性を示すために <a href="/ja/Install_Manifests" title="ja/Install_Manifests">インストール定義ファイル</a> (<code>install.rdf</code>) を更新する作業です。</p> + +<p>ファイルを開いて、互換性がある Firefox の最高バージョンを示す行を見つけます。Firefox 2 向けの拡張機能であれば、以下のように書かれているはずです。</p> + +<pre class="eval"> <span class="nowiki"><em:maxVersion>2.0.*</em:maxVersion></span> +</pre> + +<p>これを Firefox 3 との互換性を示すように変更します。</p> + +<pre class="eval"> <span class="nowiki"><em:maxVersion>3.0.*</em:maxVersion></span> +</pre> + +<p>次にアドオンを再インストールします。</p> + +<p>なお、Firefox 3 ではバージョン番号の余計な「.0」が廃止されますので、「3.0.0.*」の代わりに「3.0.*」と書くだけで済みます。</p> + +<p>これまでに、一部の拡張機能に影響すると思われる API の変更がいくつも行われています (まだ今後も変更は行われるでしょう)。私たちは現在、これらの変更の完全なリストを作成中です。</p> + +<div class="note"><span class="lang lang-ja"><strong>註:</strong> もしあなたの拡張機能が、<a href="../../../../ja/Install_Manifests" rel="internal">インストール定義ファイル</a> の代わりに、まだ <code><a class="new" href="../../../../ja/Install.js" rel="internal">Install.js</a></code> スクリプトを使っている場合は、今回インストール定義ファイルに移行していただく必要があります。Firefox 3 は XPI ファイル内の <code>install.js</code> スクリプトをサポートしません。</span></div> + +<h4 id=".E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E5.AE.9A.E7.BE.A9.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AB.E7.BF.BB.E8.A8.B3.E3.82.92.E8.BF.BD.E5.8A.A0.E3.81.99.E3.82.8B" name=".E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E5.AE.9A.E7.BE.A9.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AB.E7.BF.BB.E8.A8.B3.E3.82.92.E8.BF.BD.E5.8A.A0.E3.81.99.E3.82.8B">インストール定義ファイルに翻訳を追加する</h4> + +<p>Firefox 3 は、翻訳された説明文を指定するための新しいプロパティを、インストール定義ファイル内でサポートしています。今までの方法も引き続き動作しますが、この新しい方法を利用すれば、アドオンが無効化されていたりインストールが保留されている場合も、各言語で説明文を表示できるようになります。詳しくは <a href="/ja/Localizing_extension_descriptions" title="ja/Localizing_extension_descriptions">拡張機能の説明の翻訳</a> をご覧ください。</p> + +<h3 id="Step_2_.E5.AE.89.E5.85.A8.E3.81.AA.E6.9B.B4.E6.96.B0.E3.82.92.E6.8F.90.E4.BE.9B.E3.81.97.E3.81.A6.E3.81.84.E3.82.8B.E3.81.8B.E7.A2.BA.E8.AA.8D.E3.81.99.E3.82.8B" name="Step_2:_.E5.AE.89.E5.85.A8.E3.81.AA.E6.9B.B4.E6.96.B0.E3.82.92.E6.8F.90.E4.BE.9B.E3.81.97.E3.81.A6.E3.81.84.E3.82.8B.E3.81.8B.E7.A2.BA.E8.AA.8D.E3.81.99.E3.82.8B">Step 2: 安全な更新を提供しているか確認する</h3> + +<p>あなたが独自にアドオンを配布していて、<a class="link-https" href="https://addons.mozilla.org">addons.mozilla.org</a> のような安全なアドオン提供サービスを利用していない場合、アドオンの更新に安全な方法を用いる必要があります。つまり、SSL を利用した Web サイト上で更新を提供するか、暗号鍵を使って更新情報に署名する必要があります。詳しくは <a href="/ja/Extension_Versioning,_Update_and_Compatibility#Securing_Updates" title="ja/Extension_Versioning,_Update_and_Compatibility#Securing_Updates">安全な更新</a> をご覧ください。</p> + +<h3 id="Step_3_.E5.A4.89.E6.9B.B4.E3.81.95.E3.82.8C.E3.81.9F_API_.E3.81.AB.E5.AF.BE.E5.BF.9C.E3.81.99.E3.82.8B" name="Step_3:_.E5.A4.89.E6.9B.B4.E3.81.95.E3.82.8C.E3.81.9F_API_.E3.81.AB.E5.AF.BE.E5.BF.9C.E3.81.99.E3.82.8B">Step 3: 変更された API に対応する</h3> + +<p>いくつかの API は様々な方法で変更が行われています。それらの中で、多くの拡張機能に影響を与えることが予想される最も大幅な変更を以下にまとめました。</p> + +<h4 id="DOM" name="DOM">DOM</h4> + +<p>外部ドキュメントからのノードは、現在のドキュメントに挿入する前に <a href="/ja/docs/Web/API/Document/importNode" title="外部ドキュメントからノードのコピーを作成し、現在のドキュメントに挿入できるようにします。"><code>document.importNode()</code></a> を使ってクローンを作る (あるいは + <a href="/ja/docs/Web/API/Document/adoptNode" title="外部ドキュメントからノードを取り込みます。ノードとそのサブツリーは、(もしあれば) 元あったドキュメントから削除され、ownerDocument が現在のドキュメントに変更されます。そして、そのノードが現在のドキュメントに挿入できるようになります。"><code>document.adoptNode()</code></a> を使って取り込む) べきです。<a href="/ja/docs/Web/API/Node/ownerDocument" title="ownerDocument プロパティは、指定ノードを内包するノードツリーのトップレベルのドキュメントオブジェクトを返します。"><code>Node.ownerDocument</code></a> 問題の詳細については + <a class="external" href="http://www.w3.org/DOM/faq.html#ownerdoc" rel="noopener">W3C DOM FAQ</a> を参照してください。</p> + + <p>Firefox では現在このルールを強制していません。Firefox 3 の開発中には強制していた時期もありましたが、このルールを強制すると多くのサイトが機能しなくなってしまうため取りやめになりました。 + 将来的な互換性を高めるため、Web 開発者にはこのルールに従ってコードを修正することを推奨します。</p> + +<h4 id=".E3.83.96.E3.83.83.E3.82.AF.E3.83.9E.E3.83.BC.E3.82.AF.E3.81.A8.E5.B1.A5.E6.AD.B4" name=".E3.83.96.E3.83.83.E3.82.AF.E3.83.9E.E3.83.BC.E3.82.AF.E3.81.A8.E5.B1.A5.E6.AD.B4">ブックマークと履歴</h4> + +<p>あなたの拡張機能から何らかの方法でブックマークや履歴のデータにアクセスしている場合、Firefox 3 と互換性を持たせるには多くの作業が必要です。これらの情報にアクセスするための古い API は、<a href="/ja/Places" title="ja/Places">Places</a> という新しいアーキテクチャに置き換えられました。既存の拡張機能を Places API に対応させる方法については、<a href="/ja/Places_migration_guide" title="ja/Places_migration_guide">Places への移行ガイド</a> で詳しく解説しています。</p> + +<h4 id=".E3.83.80.E3.82.A6.E3.83.B3.E3.83.AD.E3.83.BC.E3.83.89.E3.83.9E.E3.83.8D.E3.83.BC.E3.82.B8.E3.83.A3" name=".E3.83.80.E3.82.A6.E3.83.B3.E3.83.AD.E3.83.BC.E3.83.89.E3.83.9E.E3.83.8D.E3.83.BC.E3.82.B8.E3.83.A3">ダウンロードマネージャ</h4> + +<p>RDF データ形式から <a href="/ja/Storage" title="ja/Storage">Storage</a> API への移行にあたって、ダウンロードマネージャの API にも若干変更が加えられました。これに関する移行作業は非常に簡単なはずです。また、複数のダウンロードマネージャリスナーをサポートするため、ダウンロードの進捗状況を監視する API にも変更がありました。詳しくは <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDownloadManager" title="">nsIDownloadManager</a></code>、<code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDownloadProgressListener" title="">nsIDownloadProgressListener</a></code>、<a href="/ja/Monitoring_downloads" title="ja/Monitoring_downloads">ダウンロードの監視</a> を参照してください。</p> + +<h4 id=".E3.83.91.E3.82.B9.E3.83.AF.E3.83.BC.E3.83.89.E3.83.9E.E3.83.8D.E3.83.BC.E3.82.B8.E3.83.A3" name=".E3.83.91.E3.82.B9.E3.83.AF.E3.83.BC.E3.83.89.E3.83.9E.E3.83.8D.E3.83.BC.E3.82.B8.E3.83.A3">パスワードマネージャ</h4> + +<p>あなたの拡張機能からパスワードマネージャを利用してユーザのログイン情報にアクセスしている場合、新しいログインマネージャ API を利用するように更新する必要があります。</p> + +<ul> + <li><a href="/ja/Using_nsILoginManager" title="ja/Using_nsILoginManager">nsILoginManager の使い方</a> という記事には、パスワードマネージャとログインマネージャの両方を用いることで、Firefox 3 とそれ以前のバージョンの両方で機能拡張を動作させるデモなど、コードサンプルが載っています。</li> + <li><code><a href="/ja/nsILoginInfo" title="ja/nsILoginInfo">nsILoginInfo</a></code></li> + <li><code><a href="/ja/nsILoginManager" title="ja/nsILoginManager">nsILoginManager</a></code></li> +</ul> + +<p>あなたが拡張機能の中で独自のパスワードストレージを提供したい場合は、組み込みのパスワードマネージャストレージを上書きすることもできます。詳しくは <a href="/ja/Creating_a_Login_Manager_storage_module" title="ja/Creating_a_Login_Manager_storage_module">ログインマネージャ用ストレージモジュールの作成</a> をご覧ください。</p> + +<h4 id=".E3.83.9D.E3.83.83.E3.83.97.E3.82.A2.E3.83.83.E3.83.97_.28.E3.83.A1.E3.83.8B.E3.83.A5.E3.83.BC.E3.80.81.E3.82.B3.E3.83.B3.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.83.A1.E3.83.8B.E3.83.A5.E3.83.BC.E3.80.81.E3.83.84.E3.83.BC.E3.83.AB.E3.83.81.E3.83.83.E3.83.97.E3.80.81.E3.83.91.E3.83.8D.E3.83.AB.29" name=".E3.83.9D.E3.83.83.E3.83.97.E3.82.A2.E3.83.83.E3.83.97_.28.E3.83.A1.E3.83.8B.E3.83.A5.E3.83.BC.E3.80.81.E3.82.B3.E3.83.B3.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.83.A1.E3.83.8B.E3.83.A5.E3.83.BC.E3.80.81.E3.83.84.E3.83.BC.E3.83.AB.E3.83.81.E3.83.83.E3.83.97.E3.80.81.E3.83.91.E3.83.8D.E3.83.AB.29">ポップアップ (メニュー、コンテキストメニュー、ツールチップ、パネル)</h4> + +<p>XUL のポップアップシステムは Firefox 3 で大幅に変更されました。ポップアップシステムには、メインメニュー、コンテキストメニュー、ポップアップパネルが含まれます。新しいシステムの仕組みについては <a href="/ja/XUL/PopupGuide" title="ja/XUL/PopupGuide">ポップアップの使用</a> ガイドをご覧ください。特筆すべき点は、<code>popup.<span id="m-showPopup"><code><a href="https://developer.mozilla.org/ja/docs/Mozilla/Tech/XUL/Method/showPopup">showPopup</a></code></span></code> が非推奨となり、新しい <code>popup.<span id="m-openPopup"><code><a href="https://developer.mozilla.org/ja/docs/Mozilla/Tech/XUL/Method/openPopup">openPopup</a></code></span></code> と <code>popup.<span id="m-openPopupAtScreen"><code><a href="https://developer.mozilla.org/ja/docs/Mozilla/Tech/XUL/Method/openPopupAtScreen">openPopupAtScreen</a></code></span></code> に置き換えられたことです。</p> + +<h4 id=".E8.87.AA.E5.8B.95.E8.A3.9C.E5.AE.8C" name=".E8.87.AA.E5.8B.95.E8.A3.9C.E5.AE.8C">自動補完</h4> + +<p><code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAutoCompleteController" title="">nsIAutoCompleteController</a></code> インタフェースの <code><a href="/ja/NsIAutoCompleteController#handleEnter.28.29" title="ja/NsIAutoCompleteController#handleEnter.28.29">handleEnter()</a></code> メソッドは、テキストが自動補完ポップアップから選択されたか、ユーザが自分で入力した後 Enter キーを押したかを示す引数を受け付けるよう変更が行われました。</p> + +<h4 id="DOMParser" name="DOMParser">DOMParser</h4> + +<ul> + <li>When a <code>DOMParser</code> is instantiated, it inherits the calling code's principal and the <code>documentURI</code> and <code>baseURI</code> of the window the constructor came from.</li> + <li>If the caller has UniversalXPConnect privileges, it can pass parameters to <code>new DOMParser()</code>. If fewer than three parameters are passed, the remaining parameters will default to <code>null</code>. + <ul> + <li>The first parameter is the principal to use; this overrides the default principal normally inherited.</li> + <li>The second parameter is the <code>documentURI</code> to use.</li> + <li>The third parameter is the <code>baseURI</code> to use.</li> + </ul> + </li> + <li>If you initialize a <code>DOMParser</code> using a contract, such as by calling <code>createInstance()</code>, and you don't call the <code>DOMParser</code>'s <code>init()</code> method, attempting to initiate a parsing operation will automatically create and initialize the <code>DOMParser</code> with a null principal and <code>null</code> pointers for <code>documentURI</code> and <code>baseURI</code>.</li> +</ul> + +<h4 id=".E5.89.8A.E9.99.A4.E3.81.95.E3.82.8C.E3.81.9F.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9" name=".E5.89.8A.E9.99.A4.E3.81.95.E3.82.8C.E3.81.9F.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9">削除されたインタフェース</h4> + +<p>以下のインタフェースは、Firefox 3 の基盤である Gecko 1.9 から削除されました。あなたの拡張機能でいずれかを使用している場合、コードを更新する必要があるでしょう。</p> + +<ul> + <li><code>nsIDOMPaintListener</code></li> + <li><code>nsIDOMScrollListener</code></li> + <li><code>nsIDOMMutationListener</code></li> + <li><code>nsIDOMPageTransitionListener</code></li> + <li><code>nsICloseAllWindows</code> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=386200" title='FIXED: SeaMonkey only: no "view cert button" in untrusted cert error dialog'>バグ 386200</a> 参照)</li> +</ul> + +<h3 id="Step_4_.E9.96.A2.E9.80.A3.E3.81.99.E3.82.8B.E3.82.AF.E3.83.AD.E3.83.BC.E3.83.A0.E5.91.A8.E3.82.8A.E3.81.AE.E5.A4.89.E6.9B.B4.E3.82.92.E7.A2.BA.E8.AA.8D.E3.81.99.E3.82.8B" name="Step_4:_.E9.96.A2.E9.80.A3.E3.81.99.E3.82.8B.E3.82.AF.E3.83.AD.E3.83.BC.E3.83.A0.E5.91.A8.E3.82.8A.E3.81.AE.E5.A4.89.E6.9B.B4.E3.82.92.E7.A2.BA.E8.AA.8D.E3.81.99.E3.82.8B">Step 4: 関連するクローム周りの変更を確認する</h3> + +<p>あなたのコードに修正を加える必要があるかもしれない小さな変更がクロームに対して行われました。「browser-bottombox」と呼ばれる新しい <code>vbox</code> が追加されました。これは、ブラウザウィンドウの下部にあるページ内検索バーとステータスバーを含むものです。この変更は見た目には影響しませんが、あなたの拡張機能がこれらの要素に関するクロームにオーバーレイを行っている場合、影響を受ける可能性があります。</p> + +<p>例えばこれまで、次のように、ステータスバーの直前にクロームをオーバーレイしていた場合、</p> + +<pre><window id="main-window"> +<something insertbefore="status-bar" /> +</window> +</pre> + +<p>今後は次のようにオーバーレイを行う必要があります。</p> + +<pre><vbox id="browser-bottombox"> +<something insertbefore="status-bar" /> +</vbox> +</pre> + +<h3 id=".E3.81.9D.E3.81.AE.E4.BB.96.E3.81.AE.E5.A4.89.E6.9B.B4" name=".E3.81.9D.E3.81.AE.E4.BB.96.E3.81.AE.E5.A4.89.E6.9B.B4">その他の変更</h3> + +<p><em>もし、拡張機能を Firefox 3 対応にするために必要な小さい変更があったら、ここに追加してください。</em></p> + +<ul> + <li><code><a class="external" rel="freelink">chrome://browser/base/utilityOverlay.js</a></code> は、セキュリティ上の理由からサポートされなくなりました。これまでこのスクリプトを利用していた場合は、<code><a class="external" rel="freelink">chrome://browser/content/utilityOverlay.js</a></code> へ切り替えてください。</li> + <li><code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAboutModule" title="">nsIAboutModule</a></code> の実装には、<code>getURIFlags</code> メソッドのサポートが必要になりました。詳しくは <a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/protocol/about/public/nsIAboutModule.idl" rel="custom">nsIAboutModule.idl</a> を参照してください。これは新しい <code>about:</code> URI を提供する拡張機能に影響します (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=337746" title='FIXED: [FIX]Move "safe about" hardcoding out of security manager'>バグ 337746</a>)。</li> + <li><code><a href="/ja/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code> 要素は「ツールキット」の一部ではなくなりました (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=339964" title="FIXED: move tabbrowser.xml out of mozilla/toolkit and into mozilla/browser">バグ 339964</a>)。このため、この要素は今後 XUL アプリケーションや拡張機能の中では利用できません。ただし、Firefox のメインウィンドウ (browser.xul) では今後も使われます。</li> + <li><a href="/ja/nsISupports_proxies" title="ja/nsISupports_proxies">nsISupports プロキシ</a> の変更と、おそらくスレッド関連インタフェースへの変更については、ドキュメントを用意する必要があります。</li> + <li>XUL ファイル内で <code><?xml-stylesheet ?></code> などの XML 処理命令を用いている場合、<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=319654" title="FIXED: Processing instructions in XUL are not added to the content model">バグ 319654</a> で行われた以下の変更に注意してください。 + <ol> + <li>XML PI が XUL ドキュメントの DOM に追加されました。これは、<a href="/ja/docs/Web/API/Document/firstChild" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code>document.firstChild</code></a> が必ずしもルート要素を返すとは限らない、ということを意味します。スクリプト内でルートドキュメントを得るには、代わりに <a href="/ja/docs/Web/API/Document/documentElement" title="Document.documentElement は、その document のルート要素 (例えば、 HTML 文書の場合は <html> 要素) である Element を返します。"><code>document.documentElement</code></a> を用いてください。</li> + <li><code><?xml-stylesheet ?></code> と <code><?xul-overlay ?></code> 処理命令は、ドキュメントの前文以外の場所に書かれた場合、動作しなくなりました。</li> + </ol> + </li> + <li><code>window.addEventListener("load", myFunc, true)</code> が、Web コンテンツが読み込まれた際 (ブラウザのページ読み込み時) に呼び出されなくなりました。これは、inner ウィンドウと outer ウィンドウの関係が変わったことによります (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=296639" title="FIXED: Split windows into an inner and outer object">バグ 296639</a>)。簡単な修正方法は、<a href="/ja/Code_snippets/Tabbed_browser#Detecting_page_load" title="ja/Code_snippets/Tabbed_browser#Detecting_page_load">ここ</a> に書かれているように <code>gBrowser.addEventListener("load", myFunc, true)</code> を使うことです。この方法は Firefox 2 でも有効です。</li> + <li><code>content.window.getSelection()</code> は、文字列を返す、非推奨となった <code>content.document.getSelection()</code> とは異なり、オブジェクトを返します (<code>toString()</code> を使えば文字列に変換できます)。</li> + <li><code>event.preventBubble()</code> は Firefox 3 で非推奨となり、Firefox 3 で削除されました。Firefox 2 でも動作する <a href="/ja/DOM/event.stopPropagation" title="ja/DOM/event.stopPropagation"><code>event.stopPropagation()</code></a> を使ってください。</li> + <li><code>setTimeout()</code> を使って開始されるタイマーは、<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=52209" title="FIXED: JS timers can fire while a modal dialog is open">バグ 52209</a> のために行われた修正によって、モーダル形式のウィンドウではブロックされるようになりました。代わりに <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsITimer" title="">nsITimer</a></code> を使ってください。</li> + <li>信頼できないソース(例:Web サイト)が拡張のクロームにアクセスできるようにする必要がある場合は、新しい <a href="../../../../ja/Chrome_Registration#contentaccessible" rel="internal"><code>contentaccessible</code> フラグ</a> を使わなければなりません。</li> +</ul> + +<p> </p> + +<p> </p> + +<div class="noinclude"> + +</div> + +<p> </p> diff --git a/files/ja/mozilla/firefox/releases/3/updating_web_applications/index.html b/files/ja/mozilla/firefox/releases/3/updating_web_applications/index.html new file mode 100644 index 0000000000..1ea0118570 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/3/updating_web_applications/index.html @@ -0,0 +1,107 @@ +--- +title: Updating web applications for Firefox 3 +slug: Updating_web_applications_for_Firefox_3 +tags: + - Firefox 3 + - 要更新 +translation_of: Mozilla/Firefox/Releases/3/Updating_web_applications +--- +<p>{{ Fx_minversion_header(3) }} 来たる Firefox 3 では、あなたが利用したいであろう新機能と同様に、ウェブサイトやウェブアプリケーションに影響するであろう多くの変更が施されています。この記事は Firefox 3 を最大限活用するためにあなたのコンテンツを更新する作業の出発点となるでしょう。</p> + +<p>{{ 英語版章題("DOM changes") }}</p> + +<h3 id="DOM_.E3.81.AE.E5.A4.89.E6.9B.B4" name="DOM_.E3.81.AE.E5.A4.89.E6.9B.B4">DOM の変更</h3> + +<p></p><p>外部ドキュメントからのノードは、現在のドキュメントに挿入する前に <a href="/ja/docs/Web/API/Document/importNode" title="外部ドキュメントからノードのコピーを作成し、現在のドキュメントに挿入できるようにします。"><code>document.importNode()</code></a> を使ってクローンを作る (あるいは + <a href="/ja/docs/Web/API/Document/adoptNode" title="外部ドキュメントからノードを取り込みます。ノードとそのサブツリーは、(もしあれば) 元あったドキュメントから削除され、ownerDocument が現在のドキュメントに変更されます。そして、そのノードが現在のドキュメントに挿入できるようになります。"><code>document.adoptNode()</code></a> を使って取り込む) べきです。<a href="/ja/docs/Web/API/Node/ownerDocument" title="ownerDocument プロパティは、指定ノードを内包するノードツリーのトップレベルのドキュメントオブジェクトを返します。"><code>Node.ownerDocument</code></a> 問題の詳細については + <a class="external" href="http://www.w3.org/DOM/faq.html#ownerdoc" rel="noopener">W3C DOM FAQ</a> を参照してください。</p> + + <p>Firefox では現在このルールを強制していません。Firefox 3 の開発中には強制していた時期もありましたが、このルールを強制すると多くのサイトが機能しなくなってしまうため取りやめになりました。 + 将来的な互換性を高めるため、Web 開発者にはこのルールに従ってコードを修正することを推奨します。</p><p></p> + +<p>{{ 英語版章題("HTML changes") }}</p> + +<h3 id="HTML_.E3.81.AE.E5.A4.89.E6.9B.B4" name="HTML_.E3.81.AE.E5.A4.89.E6.9B.B4">HTML の変更</h3> + +<p>{{ 英語版章題("Changes to character set inheritance") }}</p> + +<h4 id=".E3.82.AD.E3.83.A3.E3.83.A9.E3.82.AF.E3.82.BF.E3.82.BB.E3.83.83.E3.83.88.E7.B6.99.E6.89.BF.E3.81.AB.E5.AF.BE.E3.81.99.E3.82.8B.E5.A4.89.E6.9B.B4" name=".E3.82.AD.E3.83.A3.E3.83.A9.E3.82.AF.E3.82.BF.E3.82.BB.E3.83.83.E3.83.88.E7.B6.99.E6.89.BF.E3.81.AB.E5.AF.BE.E3.81.99.E3.82.8B.E5.A4.89.E6.9B.B4">キャラクタセット継承に対する変更</h4> + +<p>Firefox 3 では、frame や iframe が親のキャラクタセットを継承できてしまうセキュリティ上のバグが修正されています。これにより、場合によっては問題が起こる可能性があります。フレームが親のキャラクタセットを継承できるのは、フレームと親がともに同じサーバーから読み込まれている場合に限られます。もしあなたのページが、他のサーバーから読み込まれたフレームが同じキャラクタセットを継承することを前提に作られているなら、フレームの HTML を更新してキャラクタセットを明確に指定するべきです。</p> + +<p>{{ 英語版章題("Change to the SCRIPT element") }}</p> + +<h4 id="SCRIPT_.E8.A6.81.E7.B4.A0.E3.81.AB.E5.AF.BE.E3.81.99.E3.82.8B.E5.A4.89.E6.9B.B4" name="SCRIPT_.E8.A6.81.E7.B4.A0.E3.81.AB.E5.AF.BE.E3.81.99.E3.82.8B.E5.A4.89.E6.9B.B4">SCRIPT 要素に対する変更</h4> + +<p><code>text/html</code> 文書における <span class="nowiki"><script></span> 要素は、たとえ 間に内容を含めなくても、HTML 4 文書における 閉じ タグである <span class="nowiki"></script></span> を必要とするようになりました。以前のバージョンの Firefox では、以下のようにすることが可能でした。:</p> + +<pre class="eval"><script ... /> +</pre> + +<p>今バージョンからマークアップは HTML の仕様に従わなければならず(それが実際に HTML である場合)、以下のように実際に閉じなければなりません。:</p> + +<pre class="eval"><script ...></script> +</pre> + +<p>これは互換性とセキュリティの両方を改善します。</p> + +<p>{{ 英語版章題("CSS changes") }}</p> + +<h3 id="CSS_.E3.81.AE.E5.A4.89.E6.9B.B4" name="CSS_.E3.81.AE.E5.A4.89.E6.9B.B4">CSS の変更</h3> + +<p>{{ 英語版章題("Change to font-size based on em, ex units") }}</p> + +<h4 id="em.E3.80.81ex_.E5.8D.98.E4.BD.8D.E3.81.AB.E5.9F.BA.E3.81.A5.E3.81.84.E3.81.9F_font-size_.E3.81.AB.E5.AF.BE.E3.81.99.E3.82.8B.E5.A4.89.E6.9B.B4" name="em.E3.80.81ex_.E5.8D.98.E4.BD.8D.E3.81.AB.E5.9F.BA.E3.81.A5.E3.81.84.E3.81.9F_font-size_.E3.81.AB.E5.AF.BE.E3.81.99.E3.82.8B.E5.A4.89.E6.9B.B4">em、ex 単位に基づいた font-size に対する変更</h4> + +<p>em、ex 単位での font-size の値はユーザの最小フォントサイズ設定の影響を受けていました。例えば、フォントが最小フォントサイズより大きく表示されるなら、em と ex 単位で font-size を指定されたフォントは最小フォントサイズ設定に従って拡大されるでしょう。これは割合に基づいたフォントサイズの振る舞いと矛盾していました。</p> + +<p>em 及び ex 単位での font-size の値は、ユーザの最小フォントサイズの影響を受けることなく、"意図されたフォントサイズ" に基づくようになりました。言い換えれば、フォントサイズは常にデザイナーの意図に従って計算され、その後に最小フォントサイズのための調整が行われるようになったということです。</p> + +<p>デモは <a class="link-https" href="https://bugzilla.mozilla.org/attachment.cgi?id=322943" rel="freelink">https://bugzilla.mozilla.org/attachment.cgi?id=322943</a> を参照してください(違いを知るためには最小フォントサイズを 6 以上にして見る必要があります。二つの箱のカスケードは Firefox 2 では異なった振る舞いをします。なぜなら、em ベースのフォントサイズは最小フォントサイズの "影響を受ける" からです)。</p> + +<p>{{ 英語版章題("Security changes") }}</p> + +<h3 id=".E3.82.BB.E3.82.AD.E3.83.A5.E3.83.AA.E3.83.86.E3.82.A3.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E5.A4.89.E6.9B.B4" name=".E3.82.BB.E3.82.AD.E3.83.A5.E3.83.AA.E3.83.86.E3.82.A3.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E5.A4.89.E6.9B.B4">セキュリティに関する変更</h3> + +<p>{{ 英語版章題("Chrome access") }}</p> + +<h4 id=".E3.82.AF.E3.83.AD.E3.83.BC.E3.83.A0.E3.81.B8.E3.81.AE.E3.82.A2.E3.82.AF.E3.82.BB.E3.82.B9" name=".E3.82.AF.E3.83.AD.E3.83.BC.E3.83.A0.E3.81.B8.E3.81.AE.E3.82.A2.E3.82.AF.E3.82.BB.E3.82.B9">クロームへのアクセス</h4> + +<p>Firefox のこれまでのバージョンでは、Web ページは <code><a class="external" rel="freelink">chrome://</a></code> プロトコルを使ってクロームからスクリプトや画像を読み込むことが可能でした。特に、このような仕様によって、アドオンがインストールされているかどうかをサイトが判別することが可能でした。これは、ブラウザにセキュリティ機能を追加するアドオンを回避して、ユーザのセキュリティを侵害するのに利用される恐れがありました。</p> + +<p>Firefox 3 では、Web コンテンツは <code><a class="external" rel="freelink">chrome://browser/</a></code> および <code><a class="external" rel="freelink">chrome://toolkit/</a></code> 以下にあるコンテンツに限ってアクセスできます。これらのファイルは Web コンテンツからアクセスされることを意図したものです。他のクロームコンテンツはすべて、Web からのアクセスが禁止されます。</p> + +<p>ただし、拡張機能が、内部のコンテンツを Web からアクセス可能にする方法があります。その方法とは、以下のように、<code>chrome.manifest</code> ファイルに特別なフラグを指定することです。</p> + +<p>content mypackage location/ contentaccessible=yes</p> + +<p>これは頻繁に必要となるものではありませんが、Web からのアクセスが必要な、まれなケースのために用意されています。Firefox はユーザに拡張が <code>contentaccessible</code> フラグをこのような方法で用いることで潜在的セキュリティリスクになることを警告するかもしれないことに注意してください。</p> + +<div class="note"><strong>注意:</strong> Firefox 2 では <code>contentaccessible</code> フラグが認識されない (フラグを含む行全体が無視されてしまう) ことから、アドオンを Firefox 2 と Firefox 3 の両方に対応させたい場合は、以下のように指定します。 + +<pre class="eval">content mypackage location/ +content mypackage location/ contentaccessible=yes +</pre> +</div> + +<p>{{ 英語版章題("File upload fields") }}</p> + +<h4 id=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.A2.E3.83.83.E3.83.97.E3.83.AD.E3.83.BC.E3.83.89.E7.94.A8.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0.E9.A0.85.E7.9B.AE" name=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.A2.E3.83.83.E3.83.97.E3.83.AD.E3.83.BC.E3.83.89.E7.94.A8.E3.83.95.E3.82.A9.E3.83.BC.E3.83.A0.E9.A0.85.E7.9B.AE">ファイルアップロード用フォーム項目</h4> + +<p>Firefox のこれまでのバージョンでは、ユーザがファイルをアップロードするために送信する際、そのファイルのフルパスが Web アプリケーションに公開されてしまう場合がありました。このプライバシーの懸念は、Firefox 3 で、ファイル名のみをWeb アプリケーションに公開するよう仕様を変更することで解決されました。</p> + +<p>{{ 英語版章題("JavaScript changes") }}</p> + +<h3 id="JavaScript_.E3.81.AE.E5.A4.89.E6.9B.B4" name="JavaScript_.E3.81.AE.E5.A4.89.E6.9B.B4">JavaScript の変更</h3> + +<p>Firefox 3 は <a href="ja/New_in_JavaScript_1.8">JavaScript 1.8</a> をサポートします。あなたの Web サイトや Web アプリケーションの更新が必要となりうる重要な変更点としては、時代遅れであり非標準の <code>Script</code> オブジェクトがサポートされなくなることが挙げられます。これは <code><span class="nowiki"><script></span></code> タグではなく、標準化されることのなかった JavaScript オブジェクトのことです。どちらにしてもあなたが使用していた可能性は低いでしょうから、これが問題になることは恐らくないでしょう。</p> + +<p>{{ 英語版章題("See also") }}</p> + +<h3 id=".E5.8F.82.E8.80.83" name=".E5.8F.82.E8.80.83">参考</h3> + +<ul> + <li><a href="ja/Firefox_3_for_developers">開発者のための Firefox 3</a></li> + <li><a href="ja/New_in_JavaScript_1.8">New in JavaScript 1.8</a></li> + <li><a href="ja/Updating_extensions_for_Firefox_3">拡張機能を Firefox 3 のためにアップデート</a></li> +</ul> diff --git a/files/ja/mozilla/firefox/releases/4/the_add-on_bar/index.html b/files/ja/mozilla/firefox/releases/4/the_add-on_bar/index.html new file mode 100644 index 0000000000..2fd58a9985 --- /dev/null +++ b/files/ja/mozilla/firefox/releases/4/the_add-on_bar/index.html @@ -0,0 +1,76 @@ +--- +title: アドオンバー +slug: The_add-on_bar +tags: + - Add-ons + - Extensions + - Firefox 4 + - Toolbar + - 要更新 +translation_of: Mozilla/Firefox/Releases/4/The_add-on_bar +--- +<div>{{fx_minversion_header("4")}} {{draft}}</div> +<p>Firefox 4 よりウィンドウの下部に新しいツールバーを実装する為、ブラウザウィンドウの下部からステータスバーが削除されます。この新しいツールバーは ID "addon-bar" を持った、標準の XUL {{XULElem("toolbar")}} です。アドオンはこのバーにコンテンツを挿入することが可能であり、また、ユーザーはツールバーのカスタマイズ中にボタンをアドオンバーにドラッグすることができます。これがアドオンバーと旧ステータスバーの間の主な相違点です。標準のツールバーであるため、どの XUL 要素でもアドオンバーに配置することができます。</p> +<div class="note"> + <strong>注記:</strong> 当面は、Firefox にはステータスバーが存在することを期待するアドオンがうまく動作するようにするためのシムが噛ませてあります。但しこれは一時的な措置であり、じきに削除されます。アドオンをアップデートしてください。</div> +<h2 id="Adding_an_element_to_the_add-on_bar" name="Adding_an_element_to_the_add-on_bar">アドオンバーに要素を加える</h2> +<p>アドオンバーは ID "addon-bar" を持つ XUL ツールバーです。次のコードは、一番最近使われたウィンドウを探し出し、XUL {{XULElem("label")}} 要素を用いて単に "Hello world!" のテキストを表示する新しいアイテムをアドオンバーに加えます。</p> +<pre class="brush:js">// 一番最近使われたウィンドウを探す + +var mediator = Components.classes['@mozilla.org/appshell/window-mediator;1'] + .getService(Components.interfaces.nsIWindowMediator); +var doc = mediator.getMostRecentWindow("navigator:browser").document; + +// そのウィンドウのアドオンバーを取得する +var addonBar = doc.getElementById("addon-bar"); + +// 新しいツールバーアイテムを構築する +var newItem = doc.createElement("toolbaritem"); +var itemLabel = doc.createElement("label"); + +// アイテムをツールバーに追加しテキストラベルをセットする +newItem.appendChild(itemLabel); +addonBar.appendChild(newItem); +itemLabel.value = "Hello world!"; +</pre> +<p>To add the button only once create a bool pref to check if it is the first run. <a class="external" href="http://stackoverflow.com/questions/4978188/how-do-i-detect-a-first-run-in-firefox-a-addon/4978512#4978512">For example</a>:</p> +<pre class="brush: js">var firstrun = Services.prefs.getBoolPref("extensions.YOUREXT.firstrun"); + +var curVersion = "0.0.0"; + +if (firstrun) { + Services.prefs.setBoolPref("extensions.YOUREXT.firstrun", false); + Services.prefs.setCharPref("extensions.YOUREXT.installedVersion", curVersion); + /* Code related to firstrun */ +} else { + try { + var installedVersion = Services.prefs.getCharPref("extensions.YOUREXT.installedVersion"); + if (curVersion > installedVersion) { + Services.prefs.setCharPref("extensions.YOUREXT.installedVersion", curVersion); + /* Code related to upgrade */ + } + } catch (ex) { + /* Code related to a reinstall */ + } +} +</pre> +<h2 id="How_to_use_one_overlay_per_Firefox_version" name="How_to_use_one_overlay_per_Firefox_version">Firefox の各バージョンでのオーバーレイの使用方法</h2> +<p>Firefox 3.6 とそれ以前のバージョンとの互換性を保持したままアドオンバーのサポートを追加するには、2 つのオーバーレイを使用する必要があります。<br> + The <a href="/ja/docs/Chrome_Registration">chrome.manifest</a> file can specify which file is used by which Firefox version by using <a href="/ja/docs/Chrome_Registration#Manifest_flags">manifest flags</a>:</p> +<pre><span id="the-code">overlay <a href="http://mxr.mozilla.org/services-central/search?string=browser&find=contents.rdf">chrome://</a><a href="http://mxr.mozilla.org/services-central/search?string=browser&find=chrome%5C.manifest">browser/</a><a href="http://mxr.mozilla.org/services-central/search?string=browser&find=chrome%5C.manifest&filter=content">content</a><a href="http://mxr.mozilla.org/services-central/find?string=/browser.xul&hint=browser/fx-sync/addon/chrome.manifest.in">/browser.xul</a> <a href="http://mxr.mozilla.org/services-central/search?string=weave&find=contents.rdf">chrome://</a><a href="http://mxr.mozilla.org/services-central/search?string=weave&find=chrome%5C.manifest">myaddon/</a><a href="http://mxr.mozilla.org/services-central/search?string=weave&find=chrome%5C.manifest&filter=content">content</a><a href="http://mxr.mozilla.org/services-central/find?string=/overlay.xul&hint=weave/firefox/fx-sync/addon/chrome.manifest.in">/</a></span><a href="http://mxr.mozilla.org/services-central/search?string=weave&find=chrome%5C.manifest">myaddon</a><span id="the-code"><a href="http://mxr.mozilla.org/services-central/find?string=/overlay.xul&hint=weave/firefox/fx-sync/addon/chrome.manifest.in">/overlayold.xul</a> application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} appversion<4.0</span> +<span id="the-code">overlay <a href="http://mxr.mozilla.org/services-central/search?string=browser&find=contents.rdf">chrome://</a><a href="http://mxr.mozilla.org/services-central/search?string=browser&find=chrome%5C.manifest">browser/</a><a href="http://mxr.mozilla.org/services-central/search?string=browser&find=chrome%5C.manifest&filter=content">content</a><a href="http://mxr.mozilla.org/services-central/find?string=/browser.xul&hint=browser/fx-sync/addon/chrome.manifest.in">/browser.xul</a> <a href="http://mxr.mozilla.org/services-central/search?string=weave&find=contents.rdf">chrome://</a><a href="http://mxr.mozilla.org/services-central/search?string=weave&find=chrome%5C.manifest">myaddon/</a><a href="http://mxr.mozilla.org/services-central/search?string=weave&find=chrome%5C.manifest&filter=content">content</a><a href="http://mxr.mozilla.org/services-central/find?string=/overlay.xul&hint=weave/firefox/fx-sync/addon/chrome.manifest.in">/</a></span><a href="http://mxr.mozilla.org/services-central/search?string=weave&find=chrome%5C.manifest">myaddon</a><span id="the-code"><a href="http://mxr.mozilla.org/services-central/find?string=/overlay.xul&hint=weave/firefox/fx-sync/addon/chrome.manifest.in">/overlay.xul</a> application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} appversion>=4.0</span> +</pre> +<p>注記: the appversion has to be at least 2 digits long or it won't work with versions of Gecko before 1.8.0.13 and 1.8.1.5.</p> +<h3 id="Adding_a_button_by_default" name="Adding_a_button_by_default">デフォルトでボタンを追加</h3> +<p>参照 : <a href="/ja/docs/Code_snippets/Toolbar#Adding_button_by_default">Adding a button by default</a></p> +<h2 id="Appearance_differences" name="Appearance_differences">見た目の違い</h2> +<ul> + <li>ブラウザーがステータス情報によりバー領域の大半を占拠することがなくなるので、すべての領域をアドオンが使えるようになります。</li> + <li>既定ではアドオンバーは空 (empty) であり、隠されています (hidden) 。ユーザーがこれを可視状態にするには、明示的にそうしなければなりません。</li> + <li>再起動不要のアドオンがアドオンバーに直接インストールされたとき、アドオンバーが可視でなければアドオンバーは自動的に可視になります。</li> + <li>再起動不要のアドオンがアンインストールされてアドオンバー内のアイテムの数がゼロになったときには、アドオンバーは自動的に隠されます。</li> +</ul> +<h2 id="See_also" name="See_also">関連情報</h2> +<ul> + <li><a class="external" href="http://mike.kaply.com/2011/01/25/the-firefox-4-add-on-bar-for-developers">Firefox 4 add-on bar for developers</a> by Mike Kaply</li> +</ul> |