From ff478ad00cb8303f4417368e2df9771adc147716 Mon Sep 17 00:00:00 2001
From: Masahiro FUJIMOTO {{ 英語版章題("Adding a toolbar button") }} 二つのチュートリアルが参照可能です。 {{ 英語版章題("Adding button by default") }} スタマイズされたツールバーパレット用のツールバーボタンを入れて、あなたの拡張を開発・配布したとしても、デフォルトではボタンは有効になりません。ユーザはボタンをツールバーへドラッグする必要があります。下のコードを利用することで、あなたのボタンが最初のインストールおよび XPI の再起動後にデフォルトで表示されるようにできます。 ボタンをデフォルトで追加するのは、正しく行うのが非常に難しいという点で、ほぼ間違いなく悪習慣です。ユーザはあなたがボタンを追加したツールバーを非表示にしているかもしれませんし、追加したコードが正常に動作しないようにツールバーをカスタマイズしているかもしれません。 Firefox がこの目的に API を提供することに対しては、バグが立てられています。need the bug # {{ 英語版章題("Notes") }} {{ 英語版章題("Example") }}ツールバーボタンを追加する
+ツールバーボタンを追加する
-Adding button by default
+Adding button by default
メモ
+メモ
-サンプル
+サンプル
try {
var firefoxnav = document.getElementById("nav-bar");
var curSet = firefoxnav.currentSet;
diff --git a/files/ja/orphaned/dynamically_modifying_xul-based_user_interface/index.html b/files/ja/orphaned/dynamically_modifying_xul-based_user_interface/index.html
index b009413bce..4b268ba883 100644
--- a/files/ja/orphaned/dynamically_modifying_xul-based_user_interface/index.html
+++ b/files/ja/orphaned/dynamically_modifying_xul-based_user_interface/index.html
@@ -16,9 +16,7 @@ original_slug: Dynamically_modifying_XUL-based_user_interface
匿名 XBL コンテント
を操作する方法を実演します。
この記事は XUL 開発の初心者から中級者を対象にしており、読者が XUL と JavaScript の基本的な知識を持っていることを想定しています。Document Object Model について の記事や Gecko DOM リファレンス の 導入ページ といった DOM に関する入門記事も必要があればお読み下さい。
-
- {{ 英語版章題("Introduction") }}
ご存知の通り、XUL は Firefox や Thunderbird のような様々な Mozilla ベースのアプリケーションでユーザーインターフェイスを記述するのに使われている XML 言語です。XUL アプリケーションでは動作を定義するのに JavaScript が使われており、その中では XUL ドキュメントにアクセスするのに DOM API を使っています。
では Document Object Model API とは何なのでしょうか?
DOM API はスクリプトとドキュメント間で行われるやり取りのあらゆる所で使われるインターフェイスです。一度でも XUL (または HTML) ドキュメントとやり取りするスクリプトを書いた事があるなら、あなたは既に DOM 呼び出しを使っています。最も有名な DOM メソッドはおそらく document.getElementById()
で、これは与えられた id
に対応する要素を返します。あなたはそれ以外にも element.setAttribute()
や、拡張機能を書いた事があるなら addEventListener()
といった呼び出しを使った事があるかもしれません。これらは全て DOM で定義されているものです。
{{ 英語版章題("What is a document?") }}
-ドキュメントは DOM API を使って操作できるデータ構造です。あらゆるドキュメントの論理的な構造はツリー状になっており、ノードとしての要素、属性、処理命令、コメントなどで出来ています。ドキュメントのツリー表現を見るには DOM Inspector を使ってください。Todo: XUL ドキュメントとツリーの簡単な例
ドキュメントは、妥当な HTML や整形式の (XHTML や XUL 等の) XML の、メモリ内部の表現とみなす事が出来ます。
異なるウェブページは (同じウェブページの異なるインスタンスであっても) 異なるドキュメントに対応しているということを覚えておく事が重要です。それぞれの XUL ウィンドウはそれ自身の独自のドキュメントを持っており、<iframe>
や <browser>
、<tabbrowser>
要素を持っている場合には一つのウィンドウにさらに幾つかの異なるドキュメントがあるということになります。このため、扱っているのが適切なドキュメントなのかを常に確認する必要があります。 (詳しくは chrome コードでウィンドウを扱う を参照。) スクリプトが <script>
タグを使って読み込まれているなら、document
プロパティはそのスクリプトが含まれる DOM ドキュメントを参照します。
{{ 英語版章題("Examples: Using DOM methods") }}
-このセクションでは DOM メソッドの appendChild()
、createElement()
、insertBefore()
、removeChild()
の使い方を実演します。
{{ 英語版章題("= Removing all children of an element =") }}
-この例では、id=someElement
である要素の全ての子要素を現在のドキュメントから削除するために、removeChild()
メソッドを呼び出して子要素が全てなくなるまで最初の子要素を削除しています。
hasChildNodes()
と firstChild
も DOM API の一部です。
var element = document.getElementById("someElement"); @@ -43,8 +38,7 @@ original_slug: Dynamically_modifying_XUL-based_user_interface element.removeChild(element.firstChild); }-
{{ 英語版章題("= Inserting menu items to a menu =") }}
-この例では <menupopup>
の最初と最後に二つの新しいメニューアイテムを追加します。アイテムを作成するのには document.createElementNS()
メソッドを使用しており、作成された xml 要素を insertBefore()
と appendChild()
を使ってドキュメントに挿入しています。
注:
popup.appendChild(first);
この文はノードをドキュメントの現在の位置から削除して、ポップアップの最後に再び挿入します。
-{{ 英語版章題("Anonymous content (XBL)") }}
-XBL は Mozilla で新しいウィジェットを定義するのに使用される言語です。XBL で定義されたウィジェットは、バインディングが設定される時に、バインドされた要素に挿入するコンテントを定義する事ができます。このコンテントは、 匿名コンテント @@ -82,8 +75,7 @@ document.getAnonymousElementByAttribute(node, "anonid", "el1");
より多くの情報を得るには XBL リファレンスの getAnonymousNodes と getAnonymousElementByAttribute を参照して下さい。
匿名ノードを得さえすえば、通常の DOM メソッドを使ってバインディングの残りのノードを操作したり処理する事が出来ます。
-{{ 英語版章題("See also") }}
-この記事では、WebExtension を Firefox にインストールする方法を 2 つ紹介します。
{{英語版章題("Loading from disk")}}
+WebExtension を Firefox で動作させるには、この方法が最もシンプルです。また、ブートストラップ型拡張機能 や Add-on SDK を使ったアドオン といった、再起動の要らないアドオンはすべてこの方法でインストールできます。
+WebExtension を Firefox で動作させるには、この方法が最もシンプルです。また、ブートストラップ型拡張機能 や Add-on SDK を使ったアドオン といった、再起動の要らないアドオンはすべてこの方法でインストールできます。
ここでは Firefox 45 以降が必要となります。
@@ -35,36 +33,30 @@ original_slug: Mozilla/Add-ons/WebExtensions/Packaging_and_installation{{EmbedYouTube("sAM78GU4P34")}}
-{{英語版章題("Updating a temporary add-on")}}
- -この方法でアドオンをインストールした場合、アドオンのファイルを更新すると何が起きるでしょうか?
-{{英語版章題("Before Firefox 48")}}
- -Firefox 47 以前では、Firefox を再起動せずに「一時的なアドオンを読み込む」をクリックしても更新は反映されない ことに注意してください。
{{英語版章題("Firefox 48 onwards")}}
- -permissions
/ content_scripts
/ browser_action
などに対する変更の反映permissions
/ content_scripts
/ browser_action
などに対する変更の反映Firefox 48 のみに関する注意点として、about:debugging と about:addons に表示されるアドオンの名前と説明文は、「リロード」ボタンをクリックしても更新されません。この問題は Firefox 49 で修正されます。
-{{英語版章題("Package and install")}}
- -ディスクからの読込は 開発 / テスト / デバッグ のサイクルにおいては有効です。しかし、アドオンを他の人と共有したい場合は、アドオンを インストール可能な形式にパッケージ化する必要があります。
-{{英語版章題("Packaging")}}
- -Firefox のアドオンは XPI ファイルでパッケージ化されます。XPI ファイルとは単なる ZIP ファイルですが、ファイルの拡張子は ".xpi" となります。
@@ -96,7 +84,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Packaging_and_installationArchive.zip
から something.xpi
に変更します。zip -r ../my-addon.xpi *
{{英語版章題("Installation")}}
- -XPI ファイルをインストールする前に、次のどちらかの手順を踏む必要があります。
@@ -127,15 +113,11 @@ original_slug: Mozilla/Add-ons/WebExtensions/Packaging_and_installation{{英語版章題("Getting your add-on signed")}}
+XPI ファイルに署名するには、Signing and distributing your Add-on の記事を参照してください。
-XPI ファイルに署名するには、Signing and distributing your Add-on の記事を参照してください。
- -{{英語版章題("Enabling unsigned add-ons")}}
- -未署名のアドオンを有効にするには、以下の手順に従ってください。
@@ -152,9 +134,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Packaging_and_installation{{EmbedYouTube("HgtBYDWtH4w")}}
-{{英語版章題("Installing an XPI in Firefox")}}
- -XPI ファイルに署名した場合でも、署名の制約を無効化した場合でも、XPI ファイルをインストールする手順はどちらも同じです。
@@ -166,9 +146,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Packaging_and_installation他にも、"ファイル" → "開く" から XPI ファイルを選択したり、Control+O (Command+O) で選択することも可能です。
-{{英語版章題("Installing your extension of Firefox OS")}}
- -USB か Wifi で接続されたデスクトップ PC で WebIDE を起動すれば、WebIDE からアドオンをインストールすることができます。WebIDE で "path/to/my-extension" をパッケージ型アプリとして開いてください。
@@ -176,31 +154,27 @@ original_slug: Mozilla/Add-ons/WebExtensions/Packaging_and_installationこのアドオンの初回実行時は、Firefox OS のデバイスで Settings → Add-ons で有効にする必要があります。
-{{英語版章題("Troubleshooting")}}
- -起こりやすい問題には以下のようなものがあります。
{{英語版章題("Nothing happens")}}
- -.xpi
であるか確認してください。OS によってはファイルの拡張子を本当に 隠したがるものがあります。
@@ -213,8 +187,6 @@ original_slug: Mozilla/Add-ons/WebExtensions/Packaging_and_installation
{{英語版章題("Check the console")}}
- -アドオンが解凍されたり読み込まれる過程に関して、他のエラーメッセージが ブラウザコンソール に表示されている場合があります。
diff --git a/files/ja/orphaned/new_in_javascript_1.8/index.html b/files/ja/orphaned/new_in_javascript_1.8/index.html index 6b905d5b77..25714c2a36 100644 --- a/files/ja/orphaned/new_in_javascript_1.8/index.html +++ b/files/ja/orphaned/new_in_javascript_1.8/index.html @@ -6,21 +6,17 @@ tags: - JavaScript_version_overviews original_slug: New_in_JavaScript_1.8 --- -JavaScript 1.8 は(Firefox 3 に組み込まれている) Gecko 1.9 の一部分です。これは JavaScript 1.7 よりは大きな更新ではありませんが、ECMAScript 4/JavaScript 2 の進歩に追随するための更新がいくつか含まれています。このリリースは JavaScript 1.6 および JavaScript 1.7 で仕様化された新機能の全てを含んでいます。
+JavaScript 1.8 は(Firefox 3 に組み込まれている) Gecko 1.9 の一部分です。これは JavaScript 1.7 よりは大きな更新ではありませんが、ECMAScript 4/JavaScript 2 の進歩に追随するための更新がいくつか含まれています。このリリースは JavaScript 1.6 および JavaScript 1.7 で仕様化された新機能の全てを含んでいます。
JavaScript 1.8 の開発状況を追うためには、{{Bug(380236)}} を参照してください。この文書の地位については {{Bug(421027)}} を参照してください。
-JavaScript 1.8 のいくつかの新機能を HTML で使用するためには、以下のようにしてください:
<script type="application/javascript;version=1.8"> ... あなたのコード ... </script>
もう 1 つの(推奨されない)方法として、<script>
の非推奨の language 属性を使い、"JavaScript1.8" と定義することでもできます。
JavaScript shell や JavaScript XPCOM コンポーネント、XUL の <script>
要素を使うときは、JS の最新バージョン(Mozilla 1.9 では JS1.8)が自動的に使われます({{Bug(381031)}}, {{Bug(385159)}})。
新たなキーワードである "yield" と "let" を使う必要がある機能は、バージョン 1.7 以上を指定しなければなりません。 なぜなら、既存のコードがそれらのキーワードを変数や関数の名前として使っているかもしれないからです。新しいキーワードを導入していない機能(例えばジェネレータ式)は、JavaScript のバージョンを指定することなく使うことができます。
-この追加機能は、典型的な ラムダ記法(日本語版)に似た表現を与える、単純な関数を書くための簡略表現に過ぎません。
-JavaScript 1.7 以前:
+JavaScript 1.7 以前:
function(x) { return x * x; }
JavaScript 1.8:
function(x) x * x@@ -28,13 +24,11 @@ original_slug: New_in_JavaScript_1.8
例:
イベントリスナーを渡す簡略表現:
document.addEventListener("click", function() false, true);-
JavaScript 1.6 からの array のメソッドである some とともにこの記法を使うと:
+JavaScript 1.6 からの array のメソッドである some とともにこの記法を使うと:
elems.some(function(elem) elem.type == "text");-
この追加により、ジェネレータ(JavaScript 1.7 で導入されたものです)を簡単に作成することが可能になります。ジェネレータを生成するには、通常は内部に yield を含むカスタム関数を作成しなければなりませんでしたが、この追加により、配列内包に似た構文を使って同じ性質のジェネレータ文を作成することができるようになります。
-JavaScript 1.7 では、あるオブジェクトのためのカスタムジェネレータを作成するために、以下のようなものを書くことでしょう:
+この追加により、ジェネレータ(JavaScript 1.7 で導入されたものです)を簡単に作成することが可能になります。ジェネレータを生成するには、通常は内部に yield を含むカスタム関数を作成しなければなりませんでしたが、この追加により、配列内包に似た構文を使って同じ性質のジェネレータ文を作成することができるようになります。
+JavaScript 1.7 では、あるオブジェクトのためのカスタムジェネレータを作成するために、以下のようなものを書くことでしょう:
function add3(obj) { for ( let i in obj ) yield i + 3; @@ -79,15 +73,11 @@ function handleResults( results ) { }
この 2 つの例の大きな違いは、配列内包を使った場合には配列を内包するときと繰り返し処理を行うときの 2 度 "obj" 構造に対してループが実行されるのに対して、ジェネレータ式を使った場合には 1 度しかループが実行されずに済むという点です。
-JavaScript 1.8 では、 Array
オブジェクトに 2 つの新しい繰り返しのメソッドが導入されました:
JavaScript 1.8 では、 Array
オブジェクトに 2 つの新しい繰り返しのメソッドが導入されました:
reduce()
- 配列の全ての要素に関数を実行し、直前の呼び出しから結果を収集します。reduceRight()
- 配列の全ての要素に関数を実行し、直前の呼び出しから結果を収集しますが、逆から実行します。reduce()
- 配列の全ての要素に関数を実行し、直前の呼び出しから結果を収集します。reduceRight()
- 配列の全ての要素に関数を実行し、直前の呼び出しから結果を収集しますが、逆から実行します。JavaScript 1.8 のリリースで生じた変更に、JavaScript 1.7 で導入された配列のキー/値の組への分割代入に関連するバグ修正があります。これまでは for ( var [key, value] in array ) を使うことで、配列のキー/値の組を分割代入することができました。しかしこのせいで、配列の配列において値を分割代入することが不可能になっていました。現在この問題は解決しています。({{Bug("366941")}})
+JavaScript 1.8 のリリースで生じた変更に、JavaScript 1.7 で導入された配列のキー/値の組への分割代入に関連するバグ修正があります。これまでは for ( var [key, value] in array ) を使うことで、配列のキー/値の組を分割代入することができました。しかしこのせいで、配列の配列において値を分割代入することが不可能になっていました。現在この問題は解決しています。({{Bug("366941")}})
diff --git a/files/ja/orphaned/setting_up_extension_development_environment/index.html b/files/ja/orphaned/setting_up_extension_development_environment/index.html index 5c2d9878ef..549469e4fb 100644 --- a/files/ja/orphaned/setting_up_extension_development_environment/index.html +++ b/files/ja/orphaned/setting_up_extension_development_environment/index.html @@ -7,39 +7,35 @@ tags: original_slug: Setting_up_extension_development_environment ---この記事では、あなたの Mozilla アプリケーションにおいて拡張機能の開発を容易にするためのノウハウを提案します。
-{{ 英語版章題("Development preferences") }}
-これらの設定はパフォーマンスの低下と引き換えにデバッグを簡単にします。
-設定を変更するための情報は 設定ファイルの編集 を参照して下さい。これらの設定の中にはデフォルトで about:config
にリストアップされていないものもあり、新しい (真偽値) エントリを作成しなければならない場合があるので注意して下さい。
設定を変更するための情報は 設定ファイルの編集 を参照して下さい。これらの設定の中にはデフォルトで about:config
にリストアップされていないものもあり、新しい (真偽値) エントリを作成しなければならない場合があるので注意して下さい。
これらの変更を行う前に、下記の「開発用のプロファイル」を参考にして別個の開発用プロファイルを作成してください。
{{ 英語版章題("Development extensions") }}
-これらの拡張機能はあなたの開発の手助けとなるでしょう。
{{ 英語版章題("Development profile") }}
-開発用の設定や開発用の拡張機能によるパフォーマンスの低下や、個人データの漏洩を防ぐためには、開発作業のための別個のプロファイルを作成するのがいいでしょう。
-no-remote
パラメータを付けて Firefox を起動すると、別々のプロファイルを使った二つの Firefox インスタンスを起動させることが出来ます。例えば、次のコマンドを使うことで、「通常の」 Firefox がすでに起動しているかどうかに関わらず、開発用のプロファイルで Firefox を起動させることが出来ます。 (あなたの開発用プロファイルの名前が "dev" であると仮定しています)
start "" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -P dev
既定のプロファイルで Firefox を起動させるには、通常どおり "firefox" または "firefox -P default" を実行します。
-{{ 英語版章題("Custom code location") }}
-変更を加えるたびに拡張機能を何度も再インストールしたり、アンインストールの際に誤ってソースファイルを削除してしまうのを防ぐために、ソースファイルをプロファイルの外の任意の場所に置く事が出来ます。
{{ 英語版章題("Using directories rather than JARs") }}
-拡張機能の chrome を JAR ファイルとディレクトリのどちらにパッケージングするかは自由ですが、ディレクトリを使った方が開発は簡単です。リリースする時のために JAR 構造を選んだとしても、chrome.manifest ファイルを編集すればディレクトリ構造で開発することが出来ます。例えばこうなっているのを
content myExtension jar:chrome/myExtension.jar!/content/diff --git a/files/ja/orphaned/web/guide/html/html5/introduction_to_html5/index.html b/files/ja/orphaned/web/guide/html/html5/introduction_to_html5/index.html index e4aa5843c2..c2867dbffe 100644 --- a/files/ja/orphaned/web/guide/html/html5/introduction_to_html5/index.html +++ b/files/ja/orphaned/web/guide/html/html5/introduction_to_html5/index.html @@ -7,13 +7,11 @@ tags: translation_of: Web/Guide/HTML/HTML5/Introduction_to_HTML5 original_slug: Web/Guide/HTML/HTML5/Introduction_to_HTML5 --- -
HTML5 は、HTML 標準の最も新しいバージョンです。HTML5 によって、リッチメディアのサポートだけでなく、ユーザ、彼らのローカルデータ、サーバの間でより簡単にかつ効果的にやり取りするための Web アプリケーションを作成するための拡張されたサポートを提供するための新機能も手に入れることができます。
+HTML5 は、HTML 標準の最も新しいバージョンです。HTML5 によって、リッチメディアのサポートだけでなく、ユーザ、彼らのローカルデータ、サーバの間でより簡単にかつ効果的にやり取りするための Web アプリケーションを作成するための拡張されたサポートを提供するための新機能も手に入れることができます。
-HTML5 はまだ策定段階にあるため、現在の仕様に対する変更は当然あり得ます。そのため、すべてのブラウザで HTML5 の機能のすべてがサポートされているわけではありません。ですが、Gecko (そしてその拡張である、Firefox) には、素晴らしいほどに、HTML5 の最初の段階のサポートが含まれており、さらなる機能のサポートに対する取り組みを続けています。Gecko は バージョン1.8.1 から HTML5 の機能をサポートし始めました。HTML5 のメインページに Gecko がサポートしている HTML5 の機能のリストがあります。複数ブラウザのサポート状況の詳細な情報については、CanIUse ウェブサイトを参照してください。
+HTML5 はまだ策定段階にあるため、現在の仕様に対する変更は当然あり得ます。そのため、すべてのブラウザで HTML5 の機能のすべてがサポートされているわけではありません。ですが、Gecko (そしてその拡張である、Firefox) には、素晴らしいほどに、HTML5 の最初の段階のサポートが含まれており、さらなる機能のサポートに対する取り組みを続けています。Gecko は バージョン1.8.1 から HTML5 の機能をサポートし始めました。HTML5 のメインページに Gecko がサポートしている HTML5 の機能のリストがあります。複数ブラウザのサポート状況の詳細な情報については、CanIUse ウェブサイトを参照してください。
-{{ 英語版章題("The HTML5 doctype") }}
- -HTML5 の DOCTYPE は非常にシンプルです。HTML コンテントで HTML5 を使用することを示すには、単純に以下のようにします:
diff --git a/files/ja/orphaned/web/javascript/guide/expressions/index.html b/files/ja/orphaned/web/javascript/guide/expressions/index.html index 8e3de71487..6c27367d80 100644 --- a/files/ja/orphaned/web/javascript/guide/expressions/index.html +++ b/files/ja/orphaned/web/javascript/guide/expressions/index.html @@ -3,8 +3,7 @@ title: Expressions slug: orphaned/Web/JavaScript/Guide/Expressions original_slug: Web/JavaScript/Guide/Expressions --- -式とは、リテラル、変数、演算子、そして単一の値に評価する式からなる有効なセットです。この値には数値、文字列、論理値が使用できます。
概念的に、式は 2 つの種類に分けることができます。ある値を変数に代入するものと、単純にある値を持つものです。例えば、x = 7
という式は x に 7 という値を代入する式です。この式自体の評価結果は 7 です。このような式では代入演算子を用います。一方、3 + 4
という式では単純に評価結果が 7 になります。この式は代入を行いません。このような式で用いられる演算子は単に演算子と呼ばれます。
JavaScript には以下の種類の式があります。
-- cgit v1.2.3-54-g00ecf