diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
commit | 4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch) | |
tree | d4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/de/archive | |
parent | 33058f2b292b3a581333bdfb21b8f671898c5060 (diff) | |
download | translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2 translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip |
initial commit
Diffstat (limited to 'files/de/archive')
147 files changed, 15536 insertions, 0 deletions
diff --git a/files/de/archive/add-ons/index.html b/files/de/archive/add-ons/index.html new file mode 100644 index 0000000000..9c0f942944 --- /dev/null +++ b/files/de/archive/add-ons/index.html @@ -0,0 +1,11 @@ +--- +title: Add-ons +slug: Archive/Add-ons +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/Add-ons +--- +<p>Archived add-ons documentation.</p> + +<p>{{SubpagesWithSummaries}}</p> diff --git a/files/de/archive/add-ons/seamonkey_2/index.html b/files/de/archive/add-ons/seamonkey_2/index.html new file mode 100644 index 0000000000..ff0a0bcde2 --- /dev/null +++ b/files/de/archive/add-ons/seamonkey_2/index.html @@ -0,0 +1,281 @@ +--- +title: Extensions support in SeaMonkey 2 +slug: Archive/Add-ons/SeaMonkey_2 +translation_of: Archive/Add-ons/SeaMonkey_2 +--- +<p>{{AddonSidebar}}</p> + +<p>Starting with SeaMonkey 2 Alpha 1 SeaMonkey supports toolkit/-style extensions. These type of extensions have many advantages for both users and developers compared to the old xpinstall/-style extensions.</p> + +<h3 id="The_Basics">The Basics</h3> + +<p>To support SeaMonkey 2 as a target application, you need to add it to the list of target applications in the extension's<a class="internal" href="/en/Install_Manifests" title="En/Install Manifests"> install.rdf</a> file. The code for that will look something like this:</p> + +<pre><em:targetApplication> + <!-- SeaMonkey --> + <Description> + <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> + <em:minVersion>2.0</em:minVersion> + <em:maxVersion>2.*</em:maxVersion> + </Description> +</em:targetApplication></pre> + +<p>The install.js is not supported any more and should be removed.</p> + +<h3 id="Differences_as_compared_to_other_toolkit-based_applications">Differences as compared to other toolkit/-based applications</h3> + +<ul> + <li> + <p>You need to overlay/open different chrome URLs as compared to Firefox. Some URLs are listed below:</p> + + <table style="height: 69px; width: 100%;"> + <tbody> + <tr style="background-color: rgb(204, 255, 204);"> + <td>URL in Firefox</td> + <td>URL in SeaMonkey</td> + <td>Overlays</td> + </tr> + <tr> + <td><a class="external" rel="freelink">chrome://browser/content/browser.xul</a></td> + <td><a class="external" rel="freelink">chrome://navigator/content/navigator.xul</a></td> + <td>Main browser window</td> + </tr> + <tr> + <td><a class="external" rel="freelink">chrome://browser/content/pageinfo/pageInfo.xul</a></td> + <td><a class="external" rel="freelink">chrome://navigator/content/pageinfo/pageInfo.xul</a></td> + <td>Page Info window</td> + </tr> + <tr> + <td><a class="external" rel="freelink">chrome://browser/content/preferences/permissions.xul</a></td> + <td><a class="external" rel="freelink">chrome://communicator/content/permis...onsManager.xul</a></td> + <td>Permissions Manager dialog</td> + </tr> + </tbody> + </table> + + + <table style="width: 100%;"> + <caption>URLs added in 2.1</caption> + <tbody> + <tr style="background-color: rgb(204, 255, 204);"> + <td>URL in Firefox</td> + <td>URL in Seamonkey</td> + </tr> + <tr> + <td><a class="external" rel="freelink">chrome://browser/content/bookmarks/bookmarksPanel.xul</a></td> + <td><a class="external" rel="freelink">chrome://communicator/content/bookmarks/bm-panel.xul</a></td> + </tr> + <tr> + <td><a class="external" rel="freelink">chrome://browser/content/places/places.xul</a></td> + <td><a class="external" rel="freelink">chrome://communicator/content/bookma...rksManager.xul</a></td> + </tr> + </tbody> + </table> + <strong>Thunderbird</strong> uses mostly the same chrome URLs for overlaying as SeaMonkey. There are exceptions, but these are few and far between.</li> + <li> + <p>SeaMonkey also uses different IDs for the menu items. Some important menu IDs are listed below, menu IDs are based on Firefox 3 source code:</p> + + <table style="height: 223px; width: 800px;"> + <tbody> + <tr style="background-color: rgb(204, 255, 255);"> + <td><strong>Menu id in Firefox</strong></td> + <td><strong>Menu id in SeaMonkey 1.x and 2.0</strong></td> + <td><strong>SeaMonkey 2.1</strong></td> + <td><strong>Overlays</strong></td> + </tr> + <tr> + <td>menu_FilePopup</td> + <td>menu_FilePopup</td> + <td>menu_FilePopup</td> + <td>File menu popup</td> + </tr> + <tr> + <td>menu_EditPopup</td> + <td>menu_Edit_Popup</td> + <td>menu_EditPopup</td> + <td>Edit menu popup</td> + </tr> + <tr> + <td>menu_viewPopup</td> + <td>menu_View_Popup</td> + <td>menu_View_Popup</td> + <td>View menu popup</td> + </tr> + <tr> + <td>-</td> + <td>goPopup</td> + <td>goPopup</td> + <td>Go menu popup</td> + </tr> + <tr> + <td>placesPopup</td> + <td>-</td> + <td>-</td> + <td>History menu popup</td> + </tr> + <tr> + <td>bookmarksMenuPopup</td> + <td>menu_BookmarksPopup</td> + <td>menu_BookmarksPopup</td> + <td>Bookmarks menu popup</td> + </tr> + <tr> + <td>menu_ToolsPopup</td> + <td>taskPopup</td> + <td>taskPopup</td> + <td>Tools menu popup</td> + </tr> + <tr> + <td>-</td> + <td>windowPopup</td> + <td>windowPopup</td> + <td>Window menu popup</td> + </tr> + <tr> + <td>menu_HelpPopup</td> + <td>helpPopup</td> + <td>helpPopup</td> + <td>Help menu popup</td> + </tr> + </tbody> + </table> + </li> +</ul> + +<h3 id="URLbar_Icons">URLbar Icons</h3> + +<p>To display a button with a menupopup in the urlbar-icons for both Firefox and SeaMonkey 2.0, use this code:</p> + +<p><code> <hbox id="urlbar-icons"><br> + <image popup="myExt-menu"/><br> + </hbox><br> + <window id="main-window"><br> + <menupopup id="myExt-menu"><br> + <menuitem label="menuitem"/><br> + <menuitem label="menuitem"/><br> + </menupopup><br> + </window></code></p> + +<p>Instead of</p> + +<p><span style="font-family: helvetica;"><code> <hbox id="urlbar-icons"><br> + <button type="menu"><br> + <menupopup><br> + <menuitem label="menuitem"/><br> + <menuitem label="menuitem"/><br> + <menuitem label="menuitem"/><br> + </menupopup><br> + </button><br> + </hbox></code></span></p> + +<p><strong>Technical Note:</strong> The code that opens the URL history popup just looks for any menupopup, so it goes wrong if you add your own. Ordinary popups are fine of course.</p> + +<h3 id="The_Statusbar">The Statusbar</h3> + +<p>In Firefox 3 a new <code>vbox</code> has been added, called "browser-bottombox", which encloses the find bar and status bar at the bottom of the browser window. Although this doesn't affect the appearance of the display, it may affect your extension if it overlays chrome relative to these elements.</p> + +<p>For example, if you overlay some chrome before the status bar, like this:</p> + +<pre><vbox id="browser-bottombox"> + <something insertbefore="status-bar" /> +</vbox> +</pre> + +<p>Use the following technique to make your overlay work on both SeaMonkey 2 and Firefox 3:</p> + +<pre><window id="main-window"> + <vbox id="browser-bottombox" insertbefore="status-bar"> + <something insertbefore="status-bar" /> + </vbox> +</window> +</pre> + +<h3 id="Thunderbird_3">Thunderbird 3</h3> + +<h4 id="gFolderDisplay_API">gFolderDisplay API</h4> + +<p>SeaMonkey 2.0 only supports a reduced set of methods:</p> + +<ul> + <li>selectedCount</li> + <li>selectedMessage</li> + <li>selectedMessageIsFeed</li> + <li>selectedMessageIsImap</li> + <li>selectedMessageIsNews</li> + <li>selectedMessageIsExternal</li> + <li>selectedIndices</li> + <li>selectedMessages</li> + <li>selectedMessageUris</li> + <li>messageDisplay</li> +</ul> + +<h4 id="gMessageDisplay_API">gMessageDisplay API</h4> + +<p>SeaMonkey 2.0 only supports a reduced set of methods:</p> + +<ul> + <li>displayedMessage</li> + <li>visible</li> +</ul> + +<h3 id="JavaScript_Tweaks">JavaScript Tweaks</h3> + +<p>Firefox supports some shorthand in various places. These are so commonly available that developers often forget that they are not built-ins. SeaMonkey on the other hand defaults to not support them so they either need to be expanded to their proper forms or matching constants/variables need to be defined in custom code.</p> + +<table class="standard-table"> + <tbody> + <tr style="background-color: rgb(204, 255, 204);"> + <td>Shorthand</td> + <td>Expansion</td> + </tr> + <tr> + <td>Cc</td> + <td>Components.classes</td> + </tr> + <tr> + <td>Ci</td> + <td>Components.interfaces</td> + </tr> + <tr> + <td>Cr</td> + <td>Components.results</td> + </tr> + <tr> + <td>Cu</td> + <td>Components.utils</td> + </tr> + </tbody> +</table> + +<h3 id="Multi-browser_compatibility">Multi-browser compatibility</h3> + +<p>To make an extension compatible with SeaMonkey as well as Firefox/Thunderbird, you may need to do different things depending on which application is running the extension.</p> + +<h4 id="In_JavaScript_code">In JavaScript code</h4> + +<p>You can use the following technique to detect the application:</p> + +<pre class="brush: js">const FIREFOX_ID = "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"; +const THUNDERBIRD_ID = "{3550f703-e582-4d05-9a08-453d09bdfdc6}"; +const SEAMONKEY_ID = "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}"; +var appInfo = Components.classes["@mozilla.org/xre/app-info;1"] + .getService(Components.interfaces.nsIXULAppInfo); +if(appInfo.ID == FIREFOX_ID) { + // running under Firefox +} else if(appInfo.ID == THUNDERBIRD_ID) { + // running under Thunderbird +} else if(appInfo.ID == SEAMONKEY_ID) { + // running under SeaMonkey +} else { + // another app +}</pre> + +<p>See <a href="/en-US/docs/Using_nsIXULAppInfo">Using nsIXULAppInfo</a> for more details.</p> + +<h4 id="In_manifest_file">In manifest file</h4> + +<p>SeaMonkey uses different overlays than other applications. You can use the application flag to select which overlay should be used with which application:</p> + +<pre class="brush: js"><code class="language-html">overlay chrome://browser/content/browser.xul chrome://myaddon/content/ffOverlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} +overlay chrome://messenger/content/mailWindowOverlay.xul chrome://myaddon/content/tbOverlay.xul application={3550f703-e582-4d05-9a08-453d09bdfdc6} +overlay </code>chrome://navigator/content/navigator.xul<code class="language-html"> chrome://myaddon/content/smOverlay.xul application=</code>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</pre> diff --git a/files/de/archive/apps/index.html b/files/de/archive/apps/index.html new file mode 100644 index 0000000000..bd2e2cad5c --- /dev/null +++ b/files/de/archive/apps/index.html @@ -0,0 +1,35 @@ +--- +title: Apps +slug: Archive/Apps +tags: + - Apps + - Deutsch + - Firefox OS + - Web +translation_of: Archive/Apps +--- +<p class="summary">Diese Seite enthält archivierten Inhalt für Apps, einschließlich veraltetem Web-App-Inhalt, Firefox OS-App-bezogenen Inhalten usw.</p> + + + +<dl> + <dd></dd> + <dt class="landingPageList"><a href="/en-US/docs/Archive/Apps/Advanced_topics">Erweiterte Themen </a> </dt> + <dd class="landingPageList">Diese Artikel enthalten zusätzliche Informationen zu erweiterten Open Web Apps-Themen. Themen wie Dokumentationen zur App-Architektur, die beim Entwurf und der Implementierung offener Web-Apps hilfreich sind, und andere Dokumentationen zum Erstellen eines Geschäfts für den Verkauf und Vertrieb offener Web-Apps. </dd> + <dt class="landingPageList"><a href="/en-US/docs/Archive/Apps/Reference">API-Referenz für die App-Entwicklung </a> </dt> + <dd class="landingPageList">Technische Überprüfung abgeschlossen. Redaktionelle Prüfung abgeschlossen. </dd> + <dt class="landingPageList"><a href="/en-US/docs/Archive/Apps/Design">Entwerfen von Open Web Apps </a> </dt> + <dd class="landingPageList">Die Elemente in diesem Abschnitt gelten allgemein für das Design von Webanwendungen. </dd> + <dt class="landingPageList"><a href="/en-US/docs/Archive/Apps/Graphics_and_UX">Grafiken und UX </a> </dt> + <dd class="landingPageList">Beim Erstellen von Open Web Apps müssen Sie das Erscheinungsbild, die Benutzererfahrung und den Workflow Ihrer Anwendungen sehr berücksichtigen. In früheren Teilen dieses Materials haben wir uns mit der Anwendungsplanung und den flexiblen Layouts für Anwendungen befasst. In diesem Abschnitt werden wir uns sowohl mit allgemeinen Mustern als auch mit Entwurfstechniken befassen, die für Open Web Apps funktionieren, und mit bestimmten Techniken und Ressourcen, die Ihnen helfen Stellen Sie großartig aussehende Firefox OS-Apps zusammen, die der Erfahrung der Standardanwendungen des Geräts entsprechen. </dd> + <dt class="landingPageList"><a href="/en-US/docs/Archive/Apps/Architecture">Öffnen Sie die Web-App-Architektur </a> </dt> + <dd class="landingPageList">Apps können von dem Server, auf dem sie gehostet werden ("Self-Hosting"), oder von einem Store aus installiert werden. Mozilla startete den Firefox Marketplace 2012 in einem Testmodus für Apps. Andere App Stores von Drittanbietern sind mit dieser Architektur ebenfalls möglich. Apps können kostenlos oder kostenpflichtig sein. Stores können die Überprüfung von Einkäufen unterstützen, um sicherzustellen, dass Apps nur von Benutzern ausgeführt werden, die sie gekauft haben. Der Firefox-Marktplatz unterstützt dies. </dd> + <dt class="landingPageList"><a href="/en-US/docs/Archive/Apps/Rec_Room_-Animation_and_Graphics">Aufenthaltsraum - Animation und Grafik </a> </dt> + <dd class="landingPageList">Es gibt verschiedene Tools im Internet, mit denen Sie Animationen und Grafiken für Ihre Arbeit erstellen können. In diesem Artikel gehen wir auf einige dieser Optionen ein, damit Sie Ihr Projekt hervorheben können! Zum Beispiel ist CSS eine Möglichkeit, Animationen auf HTML-Elemente anzuwenden, während Chartist ein großartiges Werkzeug zum Erstellen von Diagrammen und Diagrammen ist. </dd> + <dt class="landingPageList"><a href="/en-US/docs/Archive/Apps/Tools_and_frameworks">Tools und Frameworks </a> </dt> + <dd class="landingPageList"></dd> + <dt class="landingPageList"><a href="/en-US/docs/Archive/Apps/App_validator">Überprüfen von Web-Apps mit dem App Validator </a> </dt> + <dd class="landingPageList">Einige Überprüfungen, die der Validator durchführt, umfassen: + + </dd> +</dl> diff --git a/files/de/archive/b2g_os/anwendungsentwicklung/index.html b/files/de/archive/b2g_os/anwendungsentwicklung/index.html new file mode 100644 index 0000000000..0c09cc1103 --- /dev/null +++ b/files/de/archive/b2g_os/anwendungsentwicklung/index.html @@ -0,0 +1,12 @@ +--- +title: Firefox OS Anwendungsentwicklung +slug: Archive/B2G_OS/Anwendungsentwicklung +translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS +--- +<p>Firefox OS apps sind nichts anderes als <a href="/en/Apps" title="https://developer.mozilla.org/en/Apps">Open Web apps</a>, die auf einem Smartphone mit Firefox OS installiert werden.</p> +<ul> + <li><a href="/en/Apps/Getting_Started" title="Getting started with making apps">Erste Schritte zur App Programmierung</a></li> + <li><a href="/en/Mozilla/Boot_to_Gecko/Writing_a_web_app_for_B2G" title="Writing a web app">Eine Web app für Boot2Gecko erstellen</a></li> +</ul> +<div class="note"> + <strong>Note:</strong> Firefox OS currently identifies using the same UA string as Firefox for Android, except without the "Android;" clause. For example: "Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0a1".</div> diff --git a/files/de/archive/b2g_os/api/index.html b/files/de/archive/b2g_os/api/index.html new file mode 100644 index 0000000000..706080ff54 --- /dev/null +++ b/files/de/archive/b2g_os/api/index.html @@ -0,0 +1,156 @@ +--- +title: B2G OS APIs +slug: Archive/B2G_OS/API +tags: + - API + - B2G API + - NeedsTranslation + - TopicStub + - b2g os api's +translation_of: Archive/B2G_OS/API +--- +<p id="B2G_OS_uses_standard_Web_API's">List of B2G OS APIs </p> + +<p></p><div class="index"> +<span>A</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/AudioChannelManager" title="The AudioChannelManager interface of the AudioChannels API includes features for managing your device's audio channels, including setting what channel's volume to affect when the volume buttons are pressed inside a particular app."><code>AudioChannelManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> +<span>B</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothAdapter" title="The BluetoothAdapter interface of the Web Bluetooth API is used to handle all the operations requested by Bluetooth networks. A Bluetooth adapter is the physical interface which is used to interact with local Bluetooth device."><code>BluetoothAdapter</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothAdapterEvent" title="The BluetoothAdapterEvent interface of the Web Bluetooth API provides access to a BluetoothAdapter object and its address as the parameter of a adapteradded or adapterremoved event handler (see BluetoothManager.onadapteradded and BluetoothManager.onadapterremoved), when fired."><code>BluetoothAdapterEvent</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothAttributeEvent" title="The BluetoothAttributeEvent interface of the Web Bluetooth API provides access to changed attributes and their new values as the parameter of attributechanged event handlers (including BluetoothManager.onattributechanged, BluetoothAdapter.onattributechanged, and BluetoothDevice.onattributechanged), when fired."><code>BluetoothAttributeEvent</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothClassOfDevice" title="The BluetoothClassOfDevice interface of the Web Bluetooth API provides identifying/classification information about a given remote Bluetooth device, available at discovery stage."><code>BluetoothClassOfDevice</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothDevice" title="The BluetoothDevice interface of the Web Bluetooth API provides information regarding a given Bluetooth device."><code>BluetoothDevice</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothDeviceEvent" title="The BluetoothDeviceEvent interface of the Web Bluetooth API provides access to a found/paired device (BluetoothDevice) object or the address or an unpaired device as the parameter of a devicefound, devicepaired or deviceunpaired event handler (see BluetoothDiscoveryHandle.ondevicefound, BluetoothAdapter.ondevicepaired, and BluetoothAdapter.ondeviceunpaired), when fired."><code>BluetoothDeviceEvent</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothDiscoveryHandle" title="The BluetoothDiscoveryHandle interface of the Web Bluetooth API is used to notify the current application about the discovery of a remote bluetooth device."><code>BluetoothDiscoveryHandle</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothGatt" title="The BluetoothGatt interface of the Web Bluetooth API handles initial communications and connections with Gatt services."><code>BluetoothGatt</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothGattCharacteristic" title="The BluetoothGattCharacteristic interface of the Web Bluetooth API represents a GATT service characteristic, which includes characteristic definition, value, properties and configuration info, and a list of descriptors that provide related information."><code>BluetoothGattCharacteristic</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothGattCharacteristicEvent" title="The BluetoothGattCharacteristicEvent interface of the Web Bluetooth API provides access to an updated BluetoothGattCharacteristic object as the parameter of the BluetoothGatt.oncharacteristicchanged, handler, when the characteristicchanged event is fired."><code>BluetoothGattCharacteristicEvent</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothGattDescriptor" title="The BluetoothGattDescriptor interface of the Web Bluetooth API represents a GATT descriptor, which contains related information about a characteristic value."><code>BluetoothGattDescriptor</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothGattServer" title="The BluetoothGattServer interface of the Web Bluetooth API provides Bluetooth GATT server functionality to allow creation of Bluetooth Smart/LE services and characteristics."><code>BluetoothGattServer</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothGattService" title="The BluetoothGattService interface of the Web Bluetooth API represents a service provided by a GATT server, including the service definition, a list of referenced services, and a list of the characteristics of this service."><code>BluetoothGattService</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothLeDeviceEvent" title="The BluetoothLeDeviceEvent interface of the Web Bluetooth API provides access to an LE device BluetoothDevice object and its RSSI value and advertisement record, as the parameter of a devicefound event handler (see BluetoothDiscoveryHandle.ondevicefound), when fired."><code>BluetoothLeDeviceEvent</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothManager" title="The BluetoothManager interface of the Web Bluetooth API allows to access all Bluetooth adapters available on the device. Adapters are the connection interface to connect a Bluetooth device to that device."><code>BluetoothManager</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothPairingEvent" title="The BluetoothPairingEvent interface of the Web Bluetooth API provides access to a device's name and the BluetoothPairingHandle object required for pairing devices as the parameter of pairing-related handlers (for example including BluetoothPairingListener.ondisplaypasskeyreq and BluetoothPairingListener.onenterpincodereq), when fired."><code>BluetoothPairingEvent</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothPairingHandle" title="The BluetoothPairingHandle interface of the Web Bluetooth API contains the functionality required for completing a device pairing operation, including passkeys, and mechanisms to reply to user-entered pin codes and confirm passkeys."><code>BluetoothPairingHandle</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/BluetoothPairingListener" title="The BluetoothPairingListener interface of the Web Bluetooth API defines event handlers triggered for different pairing operations."><code>BluetoothPairingListener</code> (Firefox OS)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> +<span>C</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/CallEvent" title="The CallEvent interface of the Web Telephony API represents events related to telephone calls."><code>CallEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/CameraCapabilities" title="The CameraControl.capabilities property returns a CameraCapabilities object, which describes all the camera's capabilities."><code>CameraCapabilities</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/CameraControl" title="When you use the CameraManager.getCamera() method to get a reference to a camera, you specify a callback function to be invoked on success. That function receives as a parameter a CameraControl object. You can use its methods and properties to manage and make use of the camera."><code>CameraControl</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/CameraManager" title="The CameraManager interface provides access to any cameras available on the device being used."><code>CameraManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/ContactManager" title="The ContactManager interface is used to access and manage the contact available on the device."><code>ContactManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> +<span>D</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DOMApplication" title="In the Open Web apps JavaScript API, an App object is a JavaScript object that represents an app that is or could be installed in the user's app repository."><code>DOMApplication</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DOMCursor" title="A DOMCursor object represents an ongoing operation over a list of results. It is an enhanced DOMRequest that allows to iterate through a list of results asynchronously. Each time its continue() method is called, the DOMCursor tries to reach the next result in the list and calls its result's success or error accordingly."><code>DOMCursor</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DOMRequest" title="A DOMRequest object represents an ongoing operation. It provides callbacks that are called when the operation completes, as well as a reference to the operation's result. A DOM method that initiates an ongoing operation may return a DOMRequest object that you can use to monitor the progress of that operation."><code>DOMRequest</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DataStore" title="The DataStore interface of the Data Store API represents a retrieved set of data, and includes standard properties for accessing the store's name, owner, etc., methods for reading, modifying and syncing data, and the onchange event handler for reacting to changes to the data."><code>DataStore</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DataStoreChangeEvent" title="The DataStoreChangeEvent interface of the Data Store API represents the event related to a record changed in the data store, i.e. this is returned once a change is made and the change event is fired (see DataStore.onchange for the handler)."><code>DataStoreChangeEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DataStoreCursor" title="The DataStoreCursor interface of the Data Store API represents a cursor that allows apps to iterate through a list of DataStoreTask objects representing the change history of the data store, for use when synchronizing the data."><code>DataStoreCursor</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DataStoreTask" title="The DataStoreTask interface of the Data Store API represents a record changed in the data store when a DataStoreCursor is used to iterate through the data store's change history."><code>DataStoreTask</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DeviceStorage" title="The DeviceStorage interface is used to access files on a specific storage area available on the device. A storage area is, in essence, a file system repository even if it hides the reality of the underlying file system."><code>DeviceStorage</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/DeviceStorageChangeEvent" title="The DeviceStorageChangeEvent provides information about any change made to a file inside a given storage area. It extends the Event interface."><code>DeviceStorageChangeEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> + + +<span>F</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/FMRadio" title="The WebFM API provides access to the device FM radio. This interface lets you turn the FM radio on and off and tune it to different stations. It is accessible through the navigator.mozFMRadio property."><code>FMRadio</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> + + +<span>H</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/HTMLMediaElement" title=""><code>HTMLMediaElement</code> (Firefox OS extensions)</a></span></span></li> +</ul> + + + + + + + + +<span>M</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MMICall" title="The MMICall interface of the Web Telephony API represents an MMI call, allowing us to receive the result of the call."><code>MMICall</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozActivity" title="The MozActivity interface allows apps to delegate an activity to another app."><code>MozActivity</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozActivityOptions" title="The MozActivityOptions interface allows apps to declare the activity they want to create and also to access information of activities they want to handle."><code>MozActivityOptions</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozActivityRequestHandler" title="The MozActivityRequestHandler interface allows apps that handle activities to access and interact with the request made by a third party app that tries to delegate an activity."><code>MozActivityRequestHandler</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozAlarmsManager" title="The MozAlarmsManager API allows to schedule notifications or applications to be started at a specific time."><code>MozAlarmsManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozContact" title="The MozContact interface is used to describe a single contact in the device's contact database."><code>MozContact</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozContactChangeEvent" title="The MozContactChangeEvent interface provides information about the contact that has changed. It inherits from the Event interface."><code>MozContactChangeEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozIccManager" title="The MozIccManager interface gives access to ICC related functionalities."><code>MozIccManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMmsEvent" title="The DOM MozMmsEvent represents events related to WebSMS MMS messages."><code>MozMmsEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMmsMessage" title="The DOM MozMmsMessage object represents an MMS message and has all the information about sender, recipient, body content, attachements, and date of the message itself."><code>MozMmsMessage</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMobileCFInfo" title="The MozMobileCFInfo interface defines options used to retrieve or define call forwarding settings."><code>MozMobileCFInfo</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMobileCellInfo" title="The MozMobileCellInfo interface allow to access to cell location information."><code>MozMobileCellInfo</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMobileConnection" title="This API is used to get information about the current mobile voice and data connection states of the device. It is accessible through navigator.mozMobileConnections, which returns an array of MozMobileConnection objects."><code>MozMobileConnection</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMobileConnectionInfo" title="The MozMobileConnectionInfo interface allows to access connection information for voice or data. The navigator.mozMobileConnection uses it through its voice and data properties."><code>MozMobileConnectionInfo</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMobileCCInfo" title="The MozMobileICCInfo interface allow to access access to information stored in the device's ICC card. The navigator.mozMobileConnection uses it through its iccInfo property."><code>MozMobileICCInfo</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMobileMessageManager" title="Provides support for sending and managing both MMS and SMS messages on a device with WebSMS."><code>MozMobileMessageManager</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMobileMessageThread" title="The DOM MozMobileMessageThread object represents a thread of messages."><code>MozMobileMessageThread</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozMobileNetworkInfo" title="The MozMobileNetworkInfo interface allows access to information related to the network carrier. The navigator.mozMobileConnection uses it through its voice.network and data.network properties."><code>MozMobileNetworkInfo</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozNDEFRecord" title="MozNDEFRecord is a data structure that implements the NFC Data Exchange Format (NDEF). It is a standard common format for NFC-related data communication between applications, NFC tags, and devices."><code>MozNDEFRecord</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozNFC" title="MozNFC is the top level API for operating in NFC Reader/Writer mode, NFC P2P mode and NFC Card Emulation mode."><code>MozNFC</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozNFCPeer" title="The NFC implementation in Gecko follows the NFC Forum specifications."><code>MozNFCPeer</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozNFCTag" title="MozNFCTag contains the basic functions needed to read, write, and inspect NDEF-compatible NFC Tags."><code>MozNFCTag</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozNetworkStats" title="The MozNetworkStats object gives access to statistics about the data usage for a given network."><code>MozNetworkStats</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozNetworkStatsData" title="The MozNetworkStatsData objects represent a chunk of data usage statistics."><code>MozNetworkStatsData</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozNetworkStatsManager" title="The MozNetworkStatsManager interface provides methods and properties to monitor data usage."><code>MozNetworkStatsManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozPowerManager" title="The MozPowerManager interface allows to explicitly control the part of the device that uses power."><code>MozPowerManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozSettingsEvent" title="The MozSettingsEvent represents a settingchange event, providing information about a change to the value of a setting on the device. It extends the DOM Event interface."><code>MozSettingsEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozSmsEvent" title="The DOM MozSmsEvent represents events related to WebSMS text messages."><code>MozSmsEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozSmsFilter" title="The MozSmsFilter interface provides a way to filter out MozSmsMessage or MozMmsMessage objects through the MozMobileMessageManager.getMessages() method."><code>MozSmsFilter</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozSmsManager" title="Provides support for sending and managing SMS messages on a device with WebSMS."><code>MozSmsManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> <span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozSmsMessage" title="The DOM MozSmsMessage object represents an SMS text message and has all the information about sender, recipient, body text and date of the message itself."><code>MozSmsMessage</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozSmsSegmentInfo" title="The DOM MozSmsSegmentInfo interface provides information about how a string of text will be automatically split into segments. Each segment represents a single SMS of a multi-part SMS message."><code>MozSmsSegmentInfo</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozTimeManager" title="The MozTimeManager interface is used to set the system time on a device."><code>MozTimeManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozVoicemail" title="The MozVoicemail interface allows access to the information regarding the voicemail features available through the RIL of a Firefox OS device."><code>MozVoicemail</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozVoicemailEvent" title="The MozVoicemailEvent API provides access to the event information when a statuschange event is triggered."><code>MozVoicemailEvent</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozVoicemailStatus" title="The MozVoicemailStatus API provides access to a voicemail status."><code>MozVoicemailStatus</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozWakeLock" title="The MozWakeLock interface of the Wake Lock API tracks a wake lock set on any resource set on the device."><code>MozWakeLock</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozWifiConnectionInfoEvent" title="The MozWifiConnectionInfoEvent interface provides developers with information regarding the state of the current Wifi connection."><code>MozWifiConnectionInfoEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozWifiP2pGroupOwner" title="The MozWifiP2pGroupOwner is an interface that represents the group owner of WiFi Direct connection."><code>MozWifiP2pGroupOwner</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozWifiP2pManager" title="The MozWifiP2pManager is an interface that allows to control Wi-Fi connection with other computers using Wi-Fi Direct."><code>MozWifiP2pManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/MozWifiStatusChangeEvent" title="The MozWifiStatusChangeEvent interface provides developers with information regarding the current status of the Wifi connection."><code>MozWifiStatusChangeEvent</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> +<span>N</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/Navigator" title="The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities. This page represents the list of properties and methods added to Navigator on Firefox OS devices. For the list of properties and methods available to any Web sites, consult Navigator."><code>Navigator</code> (Firefox OS extensions)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> + + +<span>P</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/PermissionSettings" title="The PermissionSettings interface provides ways to let the user manage all the permissions requested by all apps on a Firefox OS device."><code>PermissionSettings</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> + + + + +<span>S</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/SettingsLock" title="The SettingsLock interface represents a lock on settings. it allows a script to modify settings asynchronously, but in a safe way: ordering is guaranteed and the no other script will modify the settings until the modification are done (the next lock objects will start processing after it has been closed)."><code>SettingsLock</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/SettingsManager" title="Provides access to the device's settings."><code>SettingsManager</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> +<span>T</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/TCPServerSocket" title="The TCPServerSocket interface provides an API to handle a persistent server that will listen for incoming connections on a given port."><code>TCPServerSocket</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/TCPSocket" title="The TCPSocket interface provides access to a raw TCP socket."><code>TCPSocket</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/Telephony" title="The Telephony interface of the Web Telephony API provides support for dialing, answering, and managing phone calls on a device with telephony support."><code>Telephony</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/TelephonyCall" title="The TelephonyCall interface of the Web Telephony API represents one telephone call, providing information about the call and offering mechanisms for controlling it and detecting changes to its status."><code>TelephonyCall</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/TelephonyCallGroup" title="The TelephonyCallGroup interface of the Web Telephony API represents a multi-person/conference call, providing functions to allow callers to be added and removed from the conference call, hanging up of the entire call, and more."><code>TelephonyCallGroup</code></a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> +<span>U</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/UDPSocket" title=""><code>UDPSocket</code></a></span></span></li> +</ul> + + +<span>W</span><ul> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/WifiManager" title="The WifiManager API provides access to the wifi device capability."><code>WifiManager</code></a></span></span></li> +<li><span class="indexListRow"><span class="indexListTerm"><a href="/en-US/docs/Archive/B2G_OS/API/Window" title="The Window interface represents a window containing a DOM document. This page represents the list of properties and methods added to Window on Firefox OS devices. For the list of properties and methods available to any Web sites, consult Window."><code>Window</code> (Firefox OS extensions)</a></span><span class="indexListBadges"> <span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span></span></span></li> +</ul> + + + + + + + +</div><p></p> diff --git a/files/de/archive/b2g_os/api/navigator/index.html b/files/de/archive/b2g_os/api/navigator/index.html new file mode 100644 index 0000000000..553b9dd513 --- /dev/null +++ b/files/de/archive/b2g_os/api/navigator/index.html @@ -0,0 +1,19 @@ +--- +title: Navigator (Firefox OS extensions) +slug: Archive/B2G_OS/API/Navigator +tags: + - API + - Firefox OS + - Interface + - Navigator + - Non-standard + - Reference +translation_of: Archive/B2G_OS/API/Navigator +--- +<p>{{APIRef("Firefox OS")}}{{Draft}}{{Non-standard_Header}}</p> + +<p>The <code><strong>Navigator</strong></code> interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities. This page represents the list of properties and methods added to <code>Navigator</code> on Firefox OS devices. For the list of properties and methods available to any Web sites, consult <a href="/en-US/docs/Web/API/Navigator" title="The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities."><code>Navigator</code></a>.</p> + +<p>A <code>Navigator</code> object can be retrieved using the read-only <a href="/en-US/docs/Web/API/Window/navigator" title="The Window.navigator read-only property returns a reference to the Navigator object, which can be queried for information about the application running the script."><code>Window.navigator</code></a> property.</p> + +<p>{{SubpagesWithSummaries}}</p> diff --git a/files/de/archive/b2g_os/api/navigator/requestwakelock/index.html b/files/de/archive/b2g_os/api/navigator/requestwakelock/index.html new file mode 100644 index 0000000000..49d5275686 --- /dev/null +++ b/files/de/archive/b2g_os/api/navigator/requestwakelock/index.html @@ -0,0 +1,37 @@ +--- +title: Navigator.requestWakeLock() +slug: Archive/B2G_OS/API/Navigator/requestWakeLock +translation_of: Archive/B2G_OS/API/Navigator/requestWakeLock +--- +<p>{{APIRef("Wake Lock API")}}{{ non-standard_header() }}</p> + +<p>This <code><strong>Navigator.requestWakeLock()</strong></code> method of the <a href="/en-US/docs/Web/API/Wake_Lock_API">Wake Lock API</a> is used to request a {{ domxref("MozWakeLock") }} on any resource of the device. This means that you can prevent that resource from becoming unavailable as long as your app holds a lock for that resource. For example, a voice recording app can obtain a lock to keep the screen on during recording so that it can give prover visual feedback to the user that recording is progressing.</p> + +<div class="note"> +<p><strong>Note:</strong> When the window that requested one or more wake locks is closed or destroyed, any wake locks it acquired are implicitly released; no manual release is necessary.</p> +</div> + +<h2 id="Syntax" name="Syntax">Syntax</h2> + +<pre class="syntaxbox"><em>lock</em> = window.navigator.requestWakeLock(<em>resourceName</em>);</pre> + +<h3 id="Parameters">Parameters</h3> + +<dl> + <dt>resourceName</dt> + <dd>A string representing the name of the resource to lock. <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a> uses four basic resources names: <code>screen</code>, <code>cpu</code>, <code>wifi</code>, and <a href="/en-US/docs/Web/API/Wake_Lock_API/Keeping_the_geolocation_on_when_the_application_is_invisible">gps</a>, but any certified application can expose new resources.</dd> +</dl> + +<h3 id="Value" name="Value">Return value</h3> + +<p>Returns a {{domxref("MozWakeLock")}} object you can use to keep track of or release the lock..</p> + +<h2 id="Specification" name="Specification">Specification</h2> + +<p>W3C tracks <a href="https://www.w3.org/TR/2014/NOTE-wake-lock-use-cases-20140814">Wake Lock: Use cases</a> and is working on the Editor's traft <a href="https://w3c.github.io/wake-lock">API</a>.</p> + +<h2 id="See_also">See also</h2> + +<ul> + <li>{{domxref("Navigator.mozPower")}}</li> +</ul> diff --git a/files/de/archive/b2g_os/apps/eine_app_für_firefox_os_schreiben/index.html b/files/de/archive/b2g_os/apps/eine_app_für_firefox_os_schreiben/index.html new file mode 100644 index 0000000000..915a3be22d --- /dev/null +++ b/files/de/archive/b2g_os/apps/eine_app_für_firefox_os_schreiben/index.html @@ -0,0 +1,48 @@ +--- +title: Eine App für Firefox OS schreiben +slug: Archive/B2G_OS/Apps/eine_app_für_firefox_os_schreiben +tags: + - Apps + - Firefox OS + - Handy +translation_of: Web/Apps/Fundamentals/Quickstart +--- +<p>Firefox OS Apps sind Web-Apps, die in HTML, CSS und JavaScript geschrieben sind. Die App wird im Internet publiziert, wie Sie es mit jeder anderen Website auch tun. Um die Website als installierbare Web-App auf dem Gerät zu erstellen, müssen Sie die App mit einem <span id="cke_bm_77S" style="display: none;"> </span><em>manifest</em><span id="cke_bm_77E" style="display: none;"> </span> und einem <em>hock up</em>, einem Installations-Button, wie nachfolgend erläutert, versehen.<span id="cke_bm_78E" style="display: none;"> </span></p> +<p>Die folgenden Themen können als Ausgangspunkt genutzt werden:</p> +<ul> + <li><a href="/en-US/docs/Web/Apps/Getting_Started">Starten Web-Apps zu schreiben (en)</a></li> + <li><a href="/en-US/docs/Web/Apps/Manifest">App manifest (en)</a></li> +</ul> +<p>Natürlich können Sie auch tiefer in die Technologie von Web-Apps eintauchen.</p> +<h2 id="Die_Web-App_installieren">Die Web-App installieren</h2> +<p>Mit der App und dem <em>manifest</em> im Internet, müssen Sie es Gecko bekannt machen. Während der Installationsphase schaut Gecko nach dem <em>manifest </em>und fügt die wichtigsten Einträge dem HomeScreen u.a. hinzu.</p> +<p>Um die App zu installieren, müssen sie die <a href="/en-US/docs/Web/API/Apps.install"><code>navigator.mozApps.install</code> API</a> aufrufen. Hier finden Sie ein Beispiel für einen Installations-Button, den Sie in ihre App einbinden können, wenn Sie sie selbst hosten.</p> +<pre class="brush: html"><button id="install"> + Installieren Sie diese App auf Ihrem HomeScreen! +</button> + +<script> +(function(){ + function install(ev) { + ev.preventDefault(); + // Definierung der Manifest URL + var manifest_url = "http://my.webapp.com/manifest.webapp"; + // App installieren + var myapp = navigator.mozApps.install(manifest_url); + myapp.onsuccess = function(data) { + // App ist installiert, Entfernen-Button + this.parentNode.removeChild(this); + }; + myapp.onerror = function() { + // App war noch nicht installiert, Info ist in this.error.name definiert + console.log('Es ist ein Fehler bei der Installation aufgetreten., error: ' + this.error.name); + }; + }; + // Ein Verweis auf den Button und Aufruf von install() beim betätigen. + var button = document.getElementById('install'); + button.addEventListener('click', install, false); +})(); +</script> +</pre> +<p>Tipp: DenInstallations-Button können Sie auch in App-Stores, wie zum Beispiel dem <a href="/en-US/docs/Web/Apps/Publishing/Submitting_an_app">Firefox Marketplace</a>, einbinden, aber es ist oft sehr praktisch den Installations-Button auf der Startseite des Projekts zu haben.</p> +<p>Nun besuchen Sie Ihre Website mit der Firefox OS Browser App und benutzen Sie den Installations-Button.</p> diff --git a/files/de/archive/b2g_os/apps/index.html b/files/de/archive/b2g_os/apps/index.html new file mode 100644 index 0000000000..6846cbffe7 --- /dev/null +++ b/files/de/archive/b2g_os/apps/index.html @@ -0,0 +1,50 @@ +--- +title: Apps entwickeln für Firefox OS +slug: Archive/B2G_OS/Apps +translation_of: Web/Apps/Fundamentals +--- +<p>Applikationen für Firefox OS Geräte sind einfach offene Web Apps die komplett auf offenen Web Technologien basieren, wie etwa Javascript, HTML oder CSS. Unsere hauptsächliche Dokumentation erklärt Dir alles grundlegende was Du wissen musst und es gibt speziellere Artikel über das Entwickeln und das Testen von Apps für Firefox OS.</p> +<div class="row topicpage-table"> + <div class="section"> + <h2 class="Documentation" id="Documentation" name="Documentation">DoKumentation und Anleitungen</h2> + <dl> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Apps/Writing_a_web_app_for_Firefox_OS">Eine App für Firefox OS schreiben</a></dt> + <dd> + Anleitung wie Du deine eigene erste Web Applikation für Firefox OS entwickelst.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/UX" title="/en-US/docs/Mozilla/Firefox_OS/UX">Benutzererlebnis</a></dt> + <dd> + Leitfaden der Dir helfen soll deine Apps mit einem aufgeräumten und attraktiven Erlebnis für den Benutzer auszustatten inklusive Codebeispielen und Templates.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Apps/Tips_and_techniques">Tipps und Techniken</a></dt> + <dd> + Ein Sortiment mit Tipps und Tricks (wie auch möglichen Problemlösungen) die unsere Entwickler für Dich ausgewählt haben!</dd> + </dl> + <p><span class="alllinks"><a href="/en-US/docs/tag/Apps">Alle anzeigen...</a></span></p> + </div> + <div class="section"> + <h2 class="Community" id="Community" name="Community">Hol dir Hilfe von der Community</h2> + <p>Du brauchst Hilfe bei einem Problem mit deiner App und kannst keine Lösung in der Dokumentation finden?</p> + <ul> + <li>Konsultiere das Web Apps Forum: {{DiscussionList("dev-webapps", "mozilla.dev.webapps")}}</li> + <li>Konsultiere das Layout Forum, welches sich mit HTML und CSS beschätigt: {{ DiscussionList("dev-tech-css", "mozilla.dev.tech.layout") }} + <ul> + <li>Frage im Mozilla IRC Channel nach: <a class="link-irc" href="irc://irc.mozilla.org/openwebapps">#openwebapps</a></li> + </ul> + </li> + </ul> + <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html">Vergiss die Netiquette nicht...</a></span></p> + <h2 class="Tools" id="Tools" name="Tools">Werkzeuge</h2> + <ul> + <li><span class="external">Der Firefox <a href="/en-US/docs/Tools/Debugger">Debugger</a> liefert dir Möglichkeiten deine Firefox OS Apps aus der Ferne zu debuggen</span></li> + <li><span class="external">Andere <a href="/en-US/docs/Tools">Entwickler Werkzeuge</a></span></li> + </ul> + <p><span class="alllinks"><a href="/en-US/docs/tag/Tools">Alle anzeigen...</a></span></p> + <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Weitere Themen</h2> + <ul> + <li><a href="/en-US/docs/Apps">Apps</a></li> + </ul> + </div> +</div> +<p> </p> diff --git a/files/de/archive/b2g_os/arbeiten_mit_dem_b2g_desktop_client/index.html b/files/de/archive/b2g_os/arbeiten_mit_dem_b2g_desktop_client/index.html new file mode 100644 index 0000000000..14e53a827e --- /dev/null +++ b/files/de/archive/b2g_os/arbeiten_mit_dem_b2g_desktop_client/index.html @@ -0,0 +1,135 @@ +--- +title: Arbeiten mit dem B2G Desktop-Client +slug: Archive/B2G_OS/Arbeiten_mit_dem_B2G_Desktop_Client +translation_of: Archive/B2G_OS/Building_the_B2G_OS_simulator +--- +<p>Der Firefox OS desktop client, auch bekannt als <em>B2G desktop client</em>, bietet die Möglichkeit an Gaia and Web apps in einer Gecko-basierten Umgebung auf dem Desktop laufen zu lassen. Dabei wird die Geräte-Hardware jedoch nicht emuliert, sodass es zum Testen von Geräte-Api nicht taugt. Auch ist es kein Ersatz um auf einem Gerät zu testen. Dennoch, hat es einige aktivierte APIs, welche nicht im Firefox verfügbar sind, wie z.B. Kontakt- und Einstellungs-API. Es kann also durchaus nützlich sein, wenn man eine Anwendung entwickelt oder während man am Gaia-Inteface direkt arbeitet. Dieser Artikel behandelt das Downloaden bzw. zusammenbauen des Firefox OS Desktop Clients, jedoch auch wie man ihn benutzt.</p> +<div class="note"> + <p><strong>Note:</strong> The easiest way to use the Firefox OS desktop client is to use the <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Firefox_OS_simulator" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Firefox_OS_simulator">Firefox OS Simulator</a>. It does not require you to build the desktop client yourself.</p> +</div> +<h2 id="Download_a_nightly_build">Download a nightly build</h2> +<div class="note"> + <p><strong>Note:</strong> Firefox OS version 1.0 is based on a branch of Gecko 18. There are also nightly builds based on <code>mozilla-central</code> here:<br> + <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/</a></p> +</div> +<p>Just like <a href="http://nightly.mozilla.org" title="http://nightly.mozilla.org">Firefox Nightlies</a>, the Firefox OS desktop client is built every day from the latest source code. The latest build is <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">available from the Mozilla FTP server</a>. Be sure to pick the latest version and the right archive for your operating system. This lets you bypass having to build it yourself. In addition, you don't have to download Gaia on your own either.</p> +<p>Be sure to install the application in a writeable location; the application needs to be able to update included the Gaia profile.</p> +<p>You can now skip ahead to <a href="#Running_the_desktop_client" title="#Running_the_desktop_client">Running the desktop client</a>, unless you actually want to build it for yourself.</p> +<h2 id="Building_the_desktop_client">Building the desktop client</h2> +<p>The first thing we need to do is set up a <a href="/En/Developer_Guide/Build_Instructions#Build_prerequisites" title="En/Developer_Guide/Build_Instructions#Build_prerequisites">standard Mozilla build environment</a>. Once we have that, we can pull down the code we'll need and configure to build the Firefox OS desktop client.</p> +<h3 id="Downloading_the_code_for_the_first_time">Downloading the code for the first time</h3> +<p>In a directory where we'd like the source code to go, let's clone the <code>mozilla-central</code> repository that contains all of Gecko:</p> +<pre> hg clone http://hg.mozilla.org/mozilla-central +</pre> +<h3 id="Updating_the_code">Updating the code</h3> +<p>When we do subsequent builds later, we'll want to make sure we have the latest code. Here's how to pull the latest changes:</p> +<pre>cd mozilla-central +hg pull -u +</pre> +<h3 id="Create_a_mozconfig">Create a mozconfig</h3> +<p>Next, we need to create a <code>mozconfig</code> file in the <code>mozilla-central</code> directory to configure the build system to build the Boot to Gecko client instead of Firefox:</p> +<pre>. "$topsrcdir/b2g/config/mozconfigs/common" + +mk_add_options MOZ_OBJDIR=../build +mk_add_options MOZ_MAKE_FLAGS="-j9 -s" + +ac_add_options --enable-application=b2g +ac_add_options --disable-libjpeg-turbo + +# This option is required if you want to be able to run Gaia's tests +ac_add_options --enable-tests + +# turn on mozTelephony/mozSms interfaces +# Only turn this line on if you actually have a dev phone +# you want to forward to. If you get crashes at startup, +# make sure this line is commented. +#ac_add_options --enable-b2g-ril</pre> +<h3 id="Building">Building</h3> +<p>Now we're ready to build the desktop client with the following command issued from the <code>mozilla-central</code> directory:</p> +<pre>make -f client.mk +</pre> +<p>The built client will be placed in the <code>../build/dist</code> directory (based on the value you specify for <code>MOZ_OBJDIR</code> in the <code>mozconfig</code> file).</p> +<h2 id="Downloading_Gaia">Downloading Gaia</h2> +<p>By default the desktop client will show an empty screen because it doesn't know which Web app to load initially as the system app. The collection of system apps and default apps that come with Firefox OS is called Gaia.</p> +<p>To download Gaia for the first time, let's clone the source code repository on GitHub:</p> +<pre>git clone https://github.com/mozilla-b2g/gaia +cd gaia</pre> +<p>To update an already existing clone of Gaia, we can pull in the latest changes from GitHub:</p> +<pre>cd gaia +git pull +</pre> +<h3 id="Generating_a_profile">Generating a profile</h3> +<p>Next we need to set up Gaia's apps for the desktop client. This includes packaging the Gaia apps in the same way like they would be installed on the device, as well as setting up the permissions for the privileged system apps. We do this by generating a profile. The following command (run in the <code>gaia</code> directory) will take care of that:</p> +<pre>DEBUG=1 make +</pre> +<p>This should create a <code>profile-debug</code> directory below the <code>gaia</code> directory. The new profile contains a customized extension and other configuration needed to make B2G run properly.</p> +<h2 id="Running_the_desktop_client">Running the desktop client</h2> +<p>Once you've built the client and downloaded Gaia (or downloaded and installed the nightly desktop application), you're ready to fire up the Firefox OS desktop client.</p> +<h3 id="Running_on_Linux">Running on Linux</h3> +<p>To run the desktop client on Linux using the embedded Gaia profile, just run the <code>b2g</code> executable. If you want to specify a different Gaia profile, you need to bypass the <code>b2g</code> wrapper program and run the <code>b2g-bin</code> binary. The binary is in the archive you downloaded earlier or in the <code>../build/dist/bin</code> directory if you built the client yourself.</p> +<pre>.../b2g-bin -profile gaia/profile-debug +</pre> +<p>You may experience annoying rendering problems. To avoid them, add the following line to your <code>gaia/profile/user.js</code> file:</p> +<pre>user_pref("layers.acceleration.disabled", true); +</pre> +<h3 id="Running_on_Mac">Running on Mac</h3> +<p>If you downloaded the nightly build, you can simply launch it from the Finder as usual. Any console output is visible by running the standard Console utility program included with your Mac.</p> +<p>If you want to specify a different Gaia profile, you need to bypass the <code>b2g</code> wrapper program and run the <code>b2g-bin</code> binary. The command line is slightly more complicated due to the location of the <code>b2g-bin</code> binary and the need for absolute paths when specifying the profile directory:</p> +<pre>.../B2G.app/Contents/MacOS/b2g-bin -profile /full/path/to/gaia/profile-debug +</pre> +<h3 id="Running_on_Windows">Running on Windows</h3> +<p>Running the nightly build on Windows is as simple as launching <code>b2g.exe</code>. If you want to customize the execution, you can do so by running the <code>b2g-bin.exe</code> executable instead; this bypasses the wrapper program that automatically uses the bundled Gaia.</p> +<h2 id="Command_line_options">Command line options</h2> +<p>There are a number of command line options you can use to adjust the runtime experience while using the desktop client. You can get a list by using the <code>-help</code> option. This section covers some of the particularly interesting ones.</p> +<h3 id="option-screen" name="option-screen">Specifying the screen size</h3> +<p>You can specify the screen size of the device you want to simulate using the <code>--screen</code> option:</p> +<pre>b2g --screen=<em><width></em>x<em><height></em>[@<em><dpi></em>]</pre> +<p>Where <em><width></em>, <em><height></em>, and <em><dpi></em> are fairly self-explanatory parameters: the width and height of the device's screen in pixels and the device resolution in DPI. For example:</p> +<pre>b2g --screen=320x480 +b2g --screen=320x480@160 +</pre> +<p>Optionally, you can specify certain devices by name to simulate their screen size and resolution:</p> +<ul> + <li><code>iphone</code></li> + <li><code>ipad</code></li> + <li><code>nexus_s</code></li> + <li><code>galaxy_nexus</code></li> + <li><code>galaxy_tab</code></li> + <li><code>wildfire</code></li> + <li><code>tattoo</code></li> + <li><code>salsa</code></li> + <li><code>chacha</code></li> +</ul> +<h3 id="option-console" name="option-console">Opening the JavaScript console</h3> +<p>You can open the JavaScript console when launching the desktop B2G client by launching it from the command line with the <code>-jsconsole</code> flag. After building, just do:</p> +<pre>.../b2g -jsconsole -profile <em>/path/to/your/profile</em></pre> +<p>If you've installed the nightly build on a Mac, you can do the following:</p> +<pre>/Applications/B2G.app/Contents/MacOS/b2g-bin -jsconsole -profile <em>/path/to/your/profile-debug</em></pre> +<div class="note"> + <p><strong>Note:</strong> On production builds of Firefox OS, console logging (such as by {{domxref("console.log()")}}) is disabled by default. In order to enable it, open the Settings app and navigate down through Device Information->More Information->Developer, then toggle on the "Console Enabled" preference.</p> +</div> +<h3 id="option-runapp" name="option-runapp">Launching a specific application at startup</h3> +<p>You can now specify an application to be launched automatically when b2g starts up in the desktop client. This is done as soon as the rest of the system is done loading up. To do this, just use the <code>--runapp</code> option, which takes as a parameter the name of the application to run. For example:</p> +<pre> .../b2g-bin -profile <em>/path/to/your/gaia/profile-debug</em> --runapp email</pre> +<p>Before looking for an app to launch, the specified name is normalized by converting it to all lower case and removing all dashes and spaces. This normalized name is then compared to similarly normalized names from the manifests of available apps' manifests.</p> +<p>For example, the name of the email app is currently "E-mail", but <code>--runapp email</code> will work because of this normalization.</p> +<p>If you specify the <code>--runapp</code> option without an argument, or with an empty argument, the b2g client will output to your terminal a list of the known applications as well as a brief usage message.</p> +<div class="note"> + <p><strong>Note:</strong> Using the <code>--runapp</code> option disables the lock screen as a side effect and does not re-enable it. It's assumed that you won't use this command on a profile on which you will be testing the lock screen, or you will turn it back on manually in Settings application. Feel free to contribute a patch to change this behavior if it's a problem.</p> +</div> +<h2 id="Usage_tips">Usage tips</h2> +<p>This section provides a few helpful tips to using the B2G desktop client.</p> +<ul> + <li>ESC key performs the same function as the "back" button.</li> + <li>Home key performs the same function as the "home" button; if you're on a Mac, Home key is available as Fn+← (Fn + Left Arrow).</li> + <li>End key performs the same function as the "power" button; if you're on a Mac, End key is available as Fn+→ (Fn + Right Arrow).</li> + <li>Page Up and Page Down keys perform the same function as "Volume Up" and "Volume Down" buttons respectively; if you're on a Mac, Page Up key is available as Fn+↑ (Fn + Up Arrow) and Page Down key is available as Fn+↓ (Fn + Down Arrow).</li> + <li>Long press to Home key opens the "Card View"; if you're on Mac, Cmd+Fn+← (Cmd + Fn + Left Arrow) opens the "Card View".</li> +</ul> +<h2 id="Next_steps">Next steps</h2> +<p>Now that you have a desktop build of Boot to Gecko running, you can do testing, development, and other work in it:</p> +<ul> + <li><a href="/en/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko" title="en/Mozilla/Boot_to_Gecko/Debugging_on_Boot_to_Gecko">Debugging on Boot to Gecko</a></li> + <li><a href="/en/Mozilla/Boot_to_Gecko/Testing_Boot_to_Gecko" title="en/Mozilla/Boot_to_Gecko/Testing_Boot_to_Gecko">Testing Boot to Gecko</a></li> + <li><a href="http://blog.johnford.org/desktop-b2g-include-gaia/" title="http://blog.johnford.org/desktop-b2g-include-gaia/">Desktop B2G builds now include Gaia</a></li> +</ul> diff --git a/files/de/archive/b2g_os/benutzung_des_app_managers/index.html b/files/de/archive/b2g_os/benutzung_des_app_managers/index.html new file mode 100644 index 0000000000..5a03b1fb3b --- /dev/null +++ b/files/de/archive/b2g_os/benutzung_des_app_managers/index.html @@ -0,0 +1,264 @@ +--- +title: Benutzung des App Managers +slug: Archive/B2G_OS/Benutzung_des_App_Managers +translation_of: Archive/B2G_OS/Using_the_App_Manager +--- +<div class="summary"> +<p>Der App Manager ist ein neues Tool, das in Firefox für Desktop integriert wurde. Es stellt einige nützliche Werkzeuge zum Testen, Verteilen und Debuggen von HTML5-Webapps mit Firefox OS Smartphones und dem Firefox OS Simulator bereit, welche direkt im Browser benutzt werden können.</p> + +<p>Der App Manager ist an Entwickler, die Firefox OS Version 1.2 oder später entwickeln, gerichtet. Wenn Sie Apps für Firefox OS 1.1 entwickeln, werfen Sie stattdessen einen Blick auf die Dokumentation für den <a href="/de/docs/Tools/Firefox_OS_1.1_Simulator">Firefox OS Simulator 1.1</a>.</p> +</div> + +<p style="text-align: center;">{{EmbedYouTube("z1Bxg1UJVf0")}}</p> + +<p>Der App Manager besteht aus folgenden Komponenten:</p> + +<ul> + <li>Ein <a href="#Apps_panel"><em>Apps-Panel</em></a> zur Verwaltung von lokalen Apps (Source Code ist auf dem eigenen Computer gespeichert) und Apps, die extern gehostet sind. Diese können paketiert, auf einem Gerät oder im Simulator installiert und mit Toolboxes getestet werden.</li> + <li>Ein <a href="#Device_panel"><em>Device-Panel</em></a>, welches Informationen über das verbundene Gerät, wie installierte Firefox OS Version, benötigte Rechte für die Benutzung der APIs auf dem Gerät und installierte Apps anzeigt.</li> + <li><a href="/en-US/docs/Tools_Toolbox"><em>Toolboxes</em></a>, die sich aus Komponenten der Entwickler-Werkzeuge zusammensetzen (Web-Konsole, Inspektor, Debugger, etc.) und über das Apps-Panel mit einer laufenden App verbunden werden können, um Debugging zu betreiben.</li> +</ul> + +<h2 id="Schnelleinstieg"><a name="Configuring_device">Schnelleinstieg:</a></h2> + +<p>Dieser Abschnitt soll einen möglichst schnellen Einstieg ermöglichen. Falls genauere Erklärungen benötigt werden, überspringen Sie bitte diesen Abschnitt und lesen Sie {{ anch("Device and system configuration") }}. Bei Problemen könnte außerdem der Abschnitt {{ anch("Troubleshooting") }} weiterhelfen.</p> + +<ol> + <li>Stellen Sie sicher, dass Firefox Desktop 26+ installiert ist.</li> + <li>Öffnen Sie den App Manager (tippen Sie <code>about:app-manager</code> in die URL-Leiste).</li> + <li>Falls kein echtes Gerät mit Firefox OS zur Verfügung steht: + <ol> + <li><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">Installieren Sie den Firefox OS Simulator</a></li> + <li>Klicken Sie auf <em>Start Simulator</em> in der unteren Werkzeugleiste des App Managers und anschließend auf den Namen des installierten Simulators.</li> + </ol> + </li> + <li>Falls Sie ein echtes Gerät besitzen: + <ol> + <li>Stellen Sie sicher, dass auf dem Gerät Firefox OS 1.2+ läuft.</li> + <li>Wenn Sie unter Windows arbeiten, stellen Sie sicher, dass Sie die bereitgestellten Treiber Ihres Handys installiert haben.</li> + <li>Deaktivieren Sie die Bildschirmsperre in den Einstellungen des Geräts (<code>Settings > <code>Screen Lock) </code></code>und aktivieren Sie Remote Debugging (<code>Settings > Device information > More information > Developer</code>).</li> + <li><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">Installieren Sie das ADB Helper Add-on</a> in Firefox Desktop.</li> + <li>Verbinden Sie ihr Gerät über ein USB-Kabel mit dem Computer.</li> + <li>Der Name des Geräts sollte nun in der unteren Leiste des App Managers erscheinen. Klicken Sie den Namen an.</li> + </ol> + </li> + <li>Die untere Leiste sollte anzeigen "Connected to: xxx".</li> + <li>Klicken Sie auf das <em>Apps-Panel</em> und fügen Sie eine App hinzu (paketiert oder gehostet).</li> + <li>Der <em>Refresh</em>-Button validiert Ihre App und installiert sie auf dem Simulator/Gerät.</li> + <li>Der <em>Debug</em>-Button verbindet die Entwickler-Tools mit der laufenden App.</li> +</ol> + +<h2 id="Geräte-_und_System-Konfiguration">Geräte- und System-Konfiguration</h2> + +<p>Bei der Benutzung des App Manager sollte man zuerst sicherstellen, dass System und Gerät korrekt konfiguriert sind. Dieser Abschnitt beschreibt alle dafür nötigen Schritte.</p> + +<h3 id="Firefox_1.2_wird_benötigt">Firefox 1.2+ wird benötigt</h3> + +<p>Stellen Sie sicher, dass auf Ihrem Gerät Firefox OS 1.2/Boot2Gecko 1.2 oder höher läuft. Die Versionsnummer von Firefox OS wird unter <code>Settings > Device Information > Software</code> angezeigt.</p> + +<p>Falls die installierte Version nicht hoch genug ist, muss je nachdem welches Gerät Sie verwenden, eine der verfügbaren Nightly-Builds von Firefox 1.2+ installiert oder eine Version selbst kompiliert werden.</p> + +<p>Verfügbare Builds:</p> + +<ul> + <li><a href="http://downloads.geeksphone.com/">Geeksphone Keon/Peak Builds</a> (für mehr Informationen lesen Sie <a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Updating and Tweaking your Firefox OS Developer Preview phone/Geeksphone</a>).</li> + <li>Weitere Builds folgen später.</li> +</ul> + +<div class="note"> +<p>Hinweis: Für die Erstellung eines eigenen Builds von Firefox OS 1.2+, folgen Sie den Anweisungen unter <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Building and installing Firefox OS</a> und starten Sie mit <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">Firefox OS build prerequisites</a>.</p> +</div> + +<h3 id="Remote-Debugging">Remote-Debugging</h3> + +<p>Als nächstes muss Remote Debugging in Firefox OS aktiviert werden. Navigieren Sie zu <code>Settings > Device information > More information > Developer</code> und aktivieren Sie die Checkbox bei Remote Debugging.</p> + +<h3 id="Adb_Helper_Add-on" name="Adb_Helper_Add-on">ADB oder ADB Helper</h3> + +<p>Über die Android Debug Bridge (ADB) wird die Verbindung und Kommunikation zwischen Gerät und Computer geregelt. Es gibt zwei Möglichkeiten ADB einzusetzen:</p> + +<ul> + <li> + <p>Lassen Sie Firefox die Kontrolle über ADB übernehmen (empfohlen). <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">Installieren Sie das ADB Helper Add-on</a>, welches den Vorgang vereinfacht. Auf diese Weise brauchen Sie weder ADB installieren noch den Befehl <code>adb forward</code> ausführen - alles wird automatisch vom Add-on erledigt.</p> + <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/" style="margin-bottom: 20px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;" title="https://addons.mozilla.org">Download ADB Helper Add-on</a></li> + <li>Benutzen Sie ADB manuell. Hierfür muss ADB auf dem Computer installiert sein - downloaden und installieren Sie <code>adb</code> (genauer erläutert unter: <a href="/de/Firefox_OS/Debugging/Installing_ADB">Installieren von ADB</a>). Damit die Verbindung funktioniert, muss die Port-Weiterleitung mit folgendem Terminal-Befehl aktiviert werden: + <pre>adb forward tcp:6000 localfilesystem:/data/local/debugger-socket</pre> + Der Befehl muss nach jedem Neustart des Telefons oder Aus- und wieder Einstecken erneut ausgeführt werden.</li> +</ul> + +<div class="note"> +<p>Achtung: Es ist nicht nötig diesen Befehl auszuführen, wenn Sie das ADB Helper Add-on installiert haben.</p> +</div> + +<h2 id="Verbinden_des_Geräts_mit_dem_App_Manager">Verbinden des Geräts mit dem App Manager</h2> + +<p>Nachdem alles konfiguriert wurde, ist es nun an der Zeit, das Gerät mit dem Computer zu verbinden und den App Manager zu starten:</p> + +<ol> + <li>Verbinden Sie das Gerät via USB mit dem Computer.</li> + <li>Deaktivieren Sie Screen lock auf dem Gerät, indem Sie zu <code>Settings > Screen Lock</code> navigieren und die Checkbox bei <code>Lock Screen</code> deaktivieren. Dieses Vorgehen ist sehr ratsam, da die Verbindung abbricht, sobald sich die Bildschirmsperre aktiviert.</li> + <li>Starten Sie den App Manager — klicken Sie in der Menüleiste von Firefox Desktop <code>Extras > Web-Entwickler > App Manager</code> an oder tippen Sie <code>about:app-manager</code> in die URL-Leiste.</li> + <li>An der Unterseite des App Manager Tabs sehen Sie nun eine Anzeige für den Verbindungsstatus (siehe Screenshot unten). Es sollte nun möglich sein das Gerät durch einen Klick auf den "Connect to localhost:6000" Button zu verbinden.</li> + <li>Falls die Verbindung erfolgreich hergestellt wurde, erscheint eine Frage auf dem Gerät: "An incoming request to permit remote debugging connection was detected. Allow connection?". Bestätigen Sie mit dem OK-Button (evtl. müssen Sie den Power-Button am Gerät betätigen, damit Sie die Frage sehen können). Der Verbindungsstatus in der Leiste sollte dann "Connected to B2G" und einen Disconnect-Button zum Abbruch der Verbindung anzeigen.</li> +</ol> + +<p><img alt="" src="https://mdn.mozillademos.org/files/6263/connection-status.png" style="display: block; height: 30px; margin: 0px auto; width: 600px;"></p> + +<div class="note"> +<p>Die anderen Bedienelemente in der Verbindungstatus-Leiste ermöglichen die Verbindung eines Simulators mit dem App Manager. Dies wird im nächsten Abschnitt behandelt, wobei der Port für die Verbindung geändert wird. Wenn der Port gewechselt wird, muss auch Portweiterleitung für diesen Port aktiviert werden, wie unter {{anch("Enable port forwarding")}} beschrieben.</p> +</div> + +<h2 id="Firefox_OS_Simulator_Add-on"><a name="Simulator">Firefox OS Simulator Add-on</a></h2> + +<p>Steht kein echtes Gerät zur Verfügung, das mit dem App Manager benutzt werden kann, kann es dennoch zusammen einem Firefox OS Simulator Add-on ausprobiert werden. Installieren Sie hierzu einen Simulator, passend für Ihr Betriebssystem (mehrere Versionen verfügbar, es ist ratsam alle zu installieren, für maximale Flexibilität):</p> + +<p><a class="download-button external ignore-external" href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/" rel="noopener">Simulator installieren</a></p> + + +<p>Nach der Installation des Simulators/der Simulatoren gehen Sie auf about:app-manager und klicken Sie in der Verbindungsstatus-Leiste unten den "Start Simulator"-Button. Daraufhin erscheinen drei weitere Buttons:</p> + +<ul> + <li>"Firefox OS 1.2" ... etc (oder ähnliches): Der Button ganz links zeigt den Namen der installieten Version des Simulators an. Klicken Sie hier, um die Verbindung mit dem Simulator aufzubauen.</li> + <li>"Add": der mittlere Button verweist auf die Links zur Installation der Simulatoren in diesem Artikel zum Hinzufügen neuer Simulatoren (Firefox OS 1.2, Firefox OS 1.3, ...).</li> + <li>"Cancel": Der Button mit der rechten Hand bricht die Verbindung ab.</li> +</ul> + +<h2 id="Apps-Panel"><a name="Apps_panel">Apps-Panel</a></h2> + +<p>Da nun alles soweit funktionert, wird nun die Funktionalität des App Managers beschrieben, beginnend mit dem Apps Panel. Von hier aus können Sie eine bereits existierende App importieren, auf Ihr Gerät übertragen und debuggen:</p> + +<ul> + <li>Für die Installation einer lokalen App, klicken Sie auf das Plus neben "Add Packaged App"-Label und wählen Sie über den Datei-Auswahldialog den Ordner aus, in dem die App gespeichert ist.</li> + <li>Um eine extern gehostete App zu installieren, geben Sie die vollständige URL zur Manifest-Datei der App in das Textfeld in der "Add Hosted App" Box ein und klicken Sie den Plus-Button.</li> +</ul> + +<p>Ist dieser Schritt gelungen, sollten auf der rechten Seite des Fensters Informationen über die App angezeigt werden:</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/6261/apps-panel.png" style="display: block; height: 375px; margin: 0px auto; width: 600px;"></p> + +<h3 id="Manifest_Editor">Manifest Editor</h3> + +<p>Mit Firefox 28 und später findet sich im Apps Panel ein Editor für das App-Manifest:</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/6613/apps-panel-fx-28.png" style="display: block; margin: 0px auto; width: 600px;"></p> + +<h3 id="Debugging">Debugging</h3> + +<p>Ein Klick auf <em>"Update"</em> überträgt (installiert) die App auf das Gerät. Mit einem Klick auf <em>"Debug"</em> wird eine Toolbox mit der App verbunden, womit die App getestet werden kann:</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/6265/debug.png" style="display: block; height: 375px; margin: 0px auto; width: 600px;"></p> + +<div class="note"> +<p>Anmerkung: Es wird Ihnen gefallen mit der Toolbox herumzuspielen - ändern Sie den DOM, CSS etc. und Sie werden sehen, dass die Änderung in Echtzeit auf dem Gerät ablaufen. Die Änderungen werden im Code der installierten App gespeichert und beim nächsten Öffnen der App auf dem Gerät wieder angezeigt.</p> +</div> + +<p>Before Firefox 28, the tools are launched in a separate window. From Firefox 28 onwards, the tools are launched in a separate tab in the App Manager itself, alongside the Apps and Device tabs. The tab is given your app's icon so it's easy to find:</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/6615/toolbox-fx-28.png" style="display: block; height: 375px; margin: 0px auto; width: 600px;"></p> + +<h3 id="Fehler">Fehler</h3> + +<p>Falls eine App nicht erfolgreich hinzugefügt werden konnte - zum Beispiel weil die angegebene URL nicht korrekt ist oder ein gepackter App-Ordner ausgewählt wurde - wird dennoch ein Eintrag für die App hinzugefügt, dieser enthält jedoch Fehlermeldungen.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/6259/apps-error.png" style="display: block; height: 375px; margin: 0px auto; width: 600px;"></p> + +<p>Bei dieser Ansicht ist es auch möglich, eine installierte App zu deinstallieren. Halten Sie hierfür den Mauszeiger über den Namen oder die Beschreibung der jeweiligen App auf der linken Seite und klicken Sie den X-Button an. Die App wird dadurch jedoch nicht vom Gerät entfernt. Um dies zu tun, muss das Gerät selbst benutzt werden.</p> + +<h2 id="Device-Panel"><a name="Device_panel">Device-Panel</a></h2> + +<p>Im Tab unter <em>Device</em> werden Informationen zum verbundenen Gerät angezeigt. Von dem Fenster "Installed Apps" aus können die Apps auf dem Gerät gestartet und gedebuggt werden.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/6267/device-tab.png" style="display: block; height: 375px; margin: 0px auto; width: 600px;"></p> + +<div class="note"> +<p>Anmerkung: Zertifizierte Apps werden standardmäßig nicht aufgelistet. <a href="#Debugging_Certified_Apps">Weitere Informationen zum Debuggen von zertifizierten Apps</a>.</p> +</div> + +<p>Das Fenster "Permissions" zeigt die benötigten Rechte für verschiedene <a href="/en-US/docs/WebAPI">Web-APIs</a> des Geräts:</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/6269/permissions.png" style="display: block; height: 375px; margin: 0px auto; width: 600px;"></p> + +<p>Abschließend können Sie einen Screenshot mit dem Bildschirminhalt des Geräts erstellen, indem Sie den Screenshot-Button anklicken. Der Screenshot wird dann in einem neuen Tab in Firefox geöffnet und kann von dort aus gespeichert oder verworfen werden.</p> + +<h2 id="Debuggen_von_zertifizierten_Apps"><a name="Debugging_Certified_Apps">Debuggen von zertifizierten Apps</a></h2> + +<p>Bis dato können nur Geräte, welche mit einem Development-Build von Firefox OS 1.2 laufen, für das Debuggen von zertifizierten Apps benutzt werden. Falls auf ihrem Gerät ein Development-Build installiert ist, können Sie das Debuggen von zertifzierten Apps erlauben, indem Sie die Einstellung <code>devtools.debugger.forbid-certified-apps</code> in ihrem Firefox-Profil auf <code>false</code> setzen. Gehen sie hierfür wie folgt vor:</p> + +<ol> + <li> + <p>Geben Sie auf ihrem Computer den folgenden Befehl in ein Terminal/Konsole ein, um über die Shell auf das Dateisystem des Geräts zuzugreifen:</p> + + <pre class="brush: bash">adb shell</pre> + + <p>Daraufhin sollte sich der Prompt zu <code>root@android </code>ändern.</p> + </li> + <li> + <p>Als nächstes stoppen sie B2G mit dem Befehl:</p> + + <pre class="brush: bash">stop b2g</pre> + </li> + <li> + <p>Wechseln Sie mit folgenden Befehl zum Profilordner:</p> + + <pre>cd /data/b2g/mozilla/*.default/</pre> + </li> + <li> + <p>Und fügen Sie mit folgendem Befehl eine Zeile für die Einstellung in die Datei prefs.js ein:</p> + + <pre class="brush: js">echo 'user_pref("devtools.debugger.forbid-certified-apps", false);' >> prefs.js</pre> + </li> + <li> + <p>Nachdem die Datei bearbeitet und gespeichert wurde, starten Sie B2G erneut:</p> + + <pre class="brush: bash">start b2g</pre> + </li> + <li> + <p>Verlassen Sie das Android-Dateisystem mit der Eingabe des Befehls <code>exit</code>. Damit kehren Sie zum normalen Terminal-Prompt zurück.</p> + </li> + <li> + <p>Stellen Sie nun eine Verbindung mit dem App Manger her. Die zertifizierten Apps sollten nun angezeigt werden.</p> + </li> +</ol> + +<div class="note"> +<p>Anmerkung: Falls Sie diese Einstellung ihrem Gaia build hinzufügen möchten, sodass sie aktiv ist auch wenn ihr Telefon zurückgesetzt wird, fügen Sie die Einstellung in der Datei <code>build/custom-prefs.js</code> hinzu und führen Sie <code>make reset-gaia</code> aus.</p> +</div> + +<h2 id="Running_custom_builds_in_the_App_Manager">Running custom builds in the App Manager</h2> + +<p>You can run custom B2G Desktop and Gaia builds in the App Manager via the simulator. Read <a href="https://developer.mozilla.org/en-US/Firefox_OS/Running_custom_builds_in_the_App_Manager">Running custom Firefox OS/Gaia builds in the App Manager</a> for more details.</p> + +<h2 id="Fehlerbehandlung"><a name="Troubleshooting">Fehlerbehandlung</a></h2> + +<p id="My_device_is_not_recognized">Falls das Gerät nicht gefunden wird:</p> + +<ul> + <li>Lesen Sie den Abschnitt <a href="#Configuring_device">Device and system configuration</a> sorgfältig und überprüfen Sie, ob alle Schritte korrekt durchgeführt wurden:</li> + <li>Läuft auf dem Gerät mindestens Firefox OS 1.2?</li> + <li>Fehlen Apps? Ist <a href="https://developer.mozilla.org/de/docs/Mozilla/Firefox_OS/Benutzung_des_App_Managers#Debugging_Certified_Apps">Debuggen von zertifizierten Apps</a> aktiviert?</li> + <li>Ist "Remote Debugging" in den Einstellungen des Telefons aktiviert?</li> + <li>Falls Sie das <a href="#Adb_Helper_Add-on">ADB Helper add-on</a> nicht verwenden: + <ul> + <li>Wurde der Befehl <code>adb forward</code> erfolgreich ausgeführt?</li> + </ul> + </li> + <li>Falls Sie das <a href="#Adb_Helper_Add-on">ADB Helper add-on</a> verwenden und das Gerät in der unteren Leiste nicht angezeigt wird: + <ul> + <li>Falls Sie Linux als Betriebssystem einsetzen, vergewissern Sie sich<a href="http://developer.android.com/tools/device.html#setting-up"> dass udev korrekt konfiguriert ist.</a></li> + <li>Falls Sie Windows als Betriebssystem einsetzen, <a href="http://developer.android.com/tools/device.html#setting-up">stellen Sie sicher, dass die benötigten Treiber installiert sind.</a></li> + </ul> + </li> + <li>You can also enable verbose logging to gather diagnostics: + <ul> + <li>Use about:config to set the pref "<span class="message"><span class="content"><span class="email">extensions.adbhelper@mozilla.org.sdk</span>.console.logLevel"</span></span> to the string value "all"</li> + <li>Disable and re-enable the ADB Helper add-on from the add-ons manager, or restart Firefox</li> + <li>Open the App Manager again</li> + <li>In the <a href="https://developer.mozilla.org/docs/Tools/Browser_Console">Browser Console</a>, you should now see additional output lines that mention "adbhelper"</li> + <li>If you see them but aren't sure what they mean, stop by the <a href="https://wiki.mozilla.org/DevTools/GetInvolved#Communication">#devtools room on IRC</a> or <a href="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&assigned_to=nobody%40mozilla.org&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_ignored=0&bug_severity=normal&bug_status=NEW&cf_blocking_b2g=---&cf_crash_signature=&cf_status_b2g18=---&cf_status_b2g_1_1_hd=---&cf_status_b2g_1_2=---&cf_status_firefox24=---&cf_status_firefox25=---&cf_status_firefox26=---&cf_status_firefox27=---&cf_status_firefox_esr17=---&cf_status_firefox_esr24=---&cf_tracking_b2g18=---&cf_tracking_firefox24=---&cf_tracking_firefox25=---&cf_tracking_firefox26=---&cf_tracking_firefox27=---&cf_tracking_firefox_esr17=---&cf_tracking_firefox_esr24=---&cf_tracking_firefox_relnote=---&cf_tracking_relnote_b2g=---&comment=&component=Developer%20Tools%3A%20App%20Manager&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-203=X&flag_type-37=X&flag_type-41=X&flag_type-5=X&flag_type-607=X&flag_type-720=X&flag_type-721=X&flag_type-737=X&flag_type-748=X&flag_type-781=X&flag_type-787=X&flag_type-791=X&flag_type-799=X&flag_type-800=X&flag_type-802=X&flag_type-803=X&flag_type-809=X&flag_type-825=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=All&priority=--&product=Firefox&qa_contact=developer.tools%40firefox.bugs&rep_platform=x86&requestee_type-203=&requestee_type-41=&requestee_type-5=&requestee_type-607=&requestee_type-748=&requestee_type-781=&requestee_type-787=&requestee_type-791=&requestee_type-800=&short_desc=&status_whiteboard=&target_milestone=---&version=Trunk">file a bug</a> with the log output</li> + </ul> + </li> + <li>See <strong>"???????"</strong> instead of the device name on Linux? You have permissions issues. <a href="http://developer.android.com/tools/device.html#setting-up">Make sure to setup udev correctly</a>.</li> + <li>Ist die Bildschirmsperre deaktiviert?</li> +</ul> + +<p>Die Verbindung des Geräts mit dem App Manager funktioniert nicht oder der Simulator kann nicht gestartet werden? <a href="https://wiki.mozilla.org/DevTools/GetInvolved#Communication">Lassen Sie es uns wissen </a>oder <a href="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&assigned_to=nobody%40mozilla.org&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_ignored=0&bug_severity=normal&bug_status=NEW&cf_blocking_b2g=---&cf_crash_signature=&cf_status_b2g18=---&cf_status_b2g_1_1_hd=---&cf_status_b2g_1_2=---&cf_status_firefox24=---&cf_status_firefox25=---&cf_status_firefox26=---&cf_status_firefox27=---&cf_status_firefox_esr17=---&cf_status_firefox_esr24=---&cf_tracking_b2g18=---&cf_tracking_firefox24=---&cf_tracking_firefox25=---&cf_tracking_firefox26=---&cf_tracking_firefox27=---&cf_tracking_firefox_esr17=---&cf_tracking_firefox_esr24=---&cf_tracking_firefox_relnote=---&cf_tracking_relnote_b2g=---&comment=&component=Developer%20Tools%3A%20App%20Manager&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-203=X&flag_type-37=X&flag_type-41=X&flag_type-5=X&flag_type-607=X&flag_type-720=X&flag_type-721=X&flag_type-737=X&flag_type-748=X&flag_type-781=X&flag_type-787=X&flag_type-791=X&flag_type-799=X&flag_type-800=X&flag_type-802=X&flag_type-803=X&flag_type-809=X&flag_type-825=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=All&priority=--&product=Firefox&qa_contact=developer.tools%40firefox.bugs&rep_platform=x86&requestee_type-203=&requestee_type-41=&requestee_type-5=&requestee_type-607=&requestee_type-748=&requestee_type-781=&requestee_type-787=&requestee_type-791=&requestee_type-800=&short_desc=&status_whiteboard=&target_milestone=---&version=Trunk">schreiben Sie einen Bugreport</a>.</p> diff --git a/files/de/archive/b2g_os/building/index.html b/files/de/archive/b2g_os/building/index.html new file mode 100644 index 0000000000..3b0c91142b --- /dev/null +++ b/files/de/archive/b2g_os/building/index.html @@ -0,0 +1,268 @@ +--- +title: Building Firefox OS +slug: Archive/B2G_OS/Building +translation_of: Archive/B2G_OS/Building +--- +<div> + </div> +<div class="summary"> + <p>Once you've <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites" title="Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">set up your build system</a> and performed your <a href="/en-US/docs/Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build" title="Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build">initial pull and configure</a> of the code, you can build Boot to Gecko. This guide explains how.</p> +</div> +<h2 id="Updating_your_code">Updating your code</h2> +<p>If this isn't your very first time building B2G, you might want to pull the latest code before you start to build. To do that, you should update both the B2G tools and the dependencies, using the following two commands:</p> +<pre>git pull +./repo sync -d +</pre> +<p>The -d option switches the various projects HEAD back to their Android manifest revision (i.e the default mainstream repository version). It is helpful if you made modifications to the repos (and have associated source changes) but you want to revert back to the master version temporarily. It will indeed leave your staged or working directory changes untouched (see <a href="http://stackoverflow.com/questions/11448864/what-is-the-usage-for-repo-sync-d-in-android-source-repository">the following SO question</a> for the full explanation). If you did not touch the source code, you can use the normal command:</p> +<pre>git pull +./repo sync</pre> +<p>You can update a specific make target's repository by specifying its name:</p> +<pre>./repo sync gaia +</pre> +<p>The repo command has other options available that might be interesting; <code>repo help</code> will give you a lot of information.</p> +<h2 id="Building">Building</h2> +<div class="note"> + <p><strong>Note:</strong> Before building, you may want to set up a <code>.userconfig</code> file to customize the build. See <a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a> for details.</p> +</div> +<p>To build Boot to Gecko, simply use the <code>build.sh</code> tool:</p> +<pre>cd B2G +./build.sh +</pre> +<p>Time for another coffee break, or possibly a nap (especially if this is your first build, it takes about 30 min on a Core i7 with 8GB of RAM). As in the configure step on the previous page, if you are using a directory of previously-extracted Android system files, you should set <code>ANDROIDFS_DIR</code> before running <code>build.sh</code>.</p> +<div class="note"> + <p><strong>Note</strong>: For more instructions on flashing your new build to a phone, read <a href="/en-US/Firefox_OS/Installing_on_a_mobile_device">Installing Firefox OS on a mobile device</a>.</p> +</div> +<h3 id="Building_specific_modules">Building specific modules</h3> +<p>If you want to build just a particular module, such as Gecko, you can specify it by name:</p> +<pre>./build.sh gecko +</pre> +<p>In order to refresh only one application, you can build only <code>gaia</code> module by using the <code>BUILD_APP_NAME</code> environment variable:</p> +<pre>BUILD_APP_NAME=calendar ./build.sh gaia</pre> +<p>To get a list of the modules you can build, you can do:</p> +<pre>./build.sh modules +</pre> +<h3 id="Setting_the_number_of_processor_cores_to_use">Setting the number of processor cores to use</h3> +<p>By default, the B2G build scripts use the number of cores your system has plus two as the number of parallel tasks to run. You can change this by specifying the <code>-j</code> parameter when running <code>build.sh</code>. This can be handy if you're using your system for other things while building in the background and need to reduce CPU load a bit. It's also handy when you're having build problems, as it can make reading error output from the build process easier if you have just one task going at a time!</p> +<p>For example, to build using just two parallel tasks:</p> +<pre>./build.sh -j2 +</pre> +<p>The most common use case for this, however, is to prevent builds from running in parallel at all. This makes the output of the process much easier to read, making it easier to sort out build problems. To do this:</p> +<pre>./build.sh -j1 +</pre> +<h3 id="Building_multilocale">Building multilocale</h3> +<p>To create a multilocale build, do the following:</p> +<h4 id="Gaia">Gaia</h4> +<ol> + <li>Determine which Gaia languages file to use. We're currently using <a href="https://github.com/mozilla-b2g/gaia/blob/master/locales/languages_dev.json"><code>locales/languages_dev.json</code></a> and <a href="https://github.com/mozilla-b2g/gaia/blob/master/locales/languages_all.json"><code>locales/languages_all.json</code></a> as our Gaia languages files.</li> + <li>Clone the appropriate locales from <a href="http://hg.mozilla.org/gaia-l10n">http://hg.mozilla.org/gaia-l10n</a> into a directory; we use <code>gaia-l10n/</code>. You could use the <code>locales/</code> directory . You'll need to clone a repo for each locale listed in the languages file.</li> + <li>In your environment, set <code>LOCALE_BASEDIR</code> to the absolute path of the directory in step 2. Set <code>LOCALES_FILE</code> to the absolute path of the file in step 1.</li> + <li>Also, you can set a <code>GAIA_DEFAULT_LOCALE</code> if you want to set a default locale.</li> +</ol> +<pre style="font-size: 12px;">cd gaia/locales/ +hg clone https://hg.mozilla.org/releases/gaia-l10n/v1_2/es</pre> +<div> + Set your environment variables:</div> +<div> + </div> +<pre>export LOCALE_BASEDIR=$PWD/locales +export LOCALES_FILE=$PWD/locales/languages_dev.json +export GAIA_DEFAULT_LOCALE=es +</pre> +<p>And the <code>languages-dev.json</code> could be replaced by your own <code>languages-own.json</code> path, which could formed like this. <span style="line-height: 1.5;">You would need to add an entry per each repo cloned in your locales directory.</span><span style="line-height: 1.5;">:</span></p> +<pre>{ + "en-US" : "English (US)", + "es" : "Español" +} +</pre> +<div> + <p>Since bug 884752 landed (November 2013), to add keyboard layouts (if available in Gaia), you can use parameter GAIA_KEYBOARD_LAYOUTS. </p> + <p>Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=884752</p> + <p>Layouts: https://github.com/mozilla-b2g/gaia/tree/v1.2/keyboard/layouts</p> + <p>For example, to add Spanish and Italian keyboard layout, run the previous command adding</p> + <pre> GAIA_KEYBOARD_LAYOUTS=en,es,it</pre> + <p><span style="line-height: 1.5;">At this point you're ready to flash Gaia to the phone for the first time. Connect the phone and make sure Remote Debugging is checked in Settings > Device Information > More Information > Developer. You only need to do this once, for your own build of Gaia will have that pref turned on thanks to REMOTE_DEBUGGER=1:</span></p> + <pre> make clean && make production LOCALES_FILE=locales/languages-own.json</pre> + <div class="note"> + <p>If you want to clone and/or update all supported locales for a particular branch, you can use <a href="https://gist.github.com/TheoChevalier/254461892d8bf118e1bc">this script</a></p> + </div> + <h4 id="Gecko">Gecko</h4> + <ol> + <li>Determine which Gecko languages file to use. We're currently using <a href="http://hg.mozilla.org/releases/mozilla-b2g18/file/default/b2g/locales/all-locales">b2g/locales/all-locales</a> as our Gecko languages file.</li> + <li>Clone the appropriate locales into a directory; this can be <code>gecko-l10n/</code> . + <ul> + <li>For mozilla-central, use <a href="http://hg.mozilla.org/l10n-central/">http://hg.mozilla.org/l10n-central/</a></li> + <li>For mozilla-aurora, use <a href="http://hg.mozilla.org/releases/l10n/mozilla-aurora/">http://hg.mozilla.org/releases/l10n/mozilla-aurora/</a></li> + <li>For mozilla-beta or mozilla-b2g18 or mozilla-b2g26_v1_2, use <a href="http://hg.mozilla.org/releases/l10n/mozilla-beta/">http://hg.mozilla.org/releases/l10n/mozilla-beta/</a></li> + </ul> + </li> + <li>Clone <a href="http://hg.mozilla.org/build/compare-locales">compare-locales</a>.</li> + <li> + <p>In your environment, set <code>L10NBASEDIR</code> to the absolute path of the directory in step 2. Set <code>MOZ_CHROME_MULTILOCALE</code> to a string of space-delimited locales from step 1.</p> + <p>Add the <code>compare-locales/scripts</code> dir to your <code>PATH</code>, and <code>compare-locales/lib</code> to your <code>PYTHONPATH</code>.</p> + For instance, + <pre>export L10NBASEDIR=$PWD/gecko-l10n +export MOZ_CHROME_MULTILOCALE="ja zh-TW" +export PATH="$PATH:$PWD/compare-locales/scripts" +export PYTHONPATH="$PWD/compare-locales/lib" +</pre> + <p>Once you have the above set up, you can run build.sh.</p> + <p>You can <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=818560#c9/">use .userconfig</a> as well:</p> + <pre>## Gaia +export GAIA_DEFAULT_LOCALE=es +export LOCALE_BASEDIR=/b2g/gaia-l10n-transifex-v1.2/ +export LOCALES_FILE=/b2g/languages_propio.json + +## Gecko +export L10NBASEDIR='/b2g/gecko-l10n-v1.2' +export MOZ_CHROME_MULTILOCALE="es-ES eu ca gl pt-BR" +export PATH="$PATH:/b2g/compare-locales/scripts" +export PYTHONPATH="/b2g/compare-locales/lib" + </pre> + </li> + </ol> + <div class="note"> + <p>There are some mappings between Gaia languages and Gecko ones. For example, in Gaia, Spanish is "es", but on Gecko is tranlated to "Spanish of Spain" (es-ES)</p> + </div> + <p>These instructions may change as we smooth things out.</p> + <h2 id="Known_errors">Known errors</h2> + <h3 id="Build_failed!">"Build failed!"</h3> + <p><span id="cke_bm_81S" style="display: none;"> </span>If you get a general "Build failed" message, you should always try reconnecting your phone to your computer; sometimes the phone can become unmounted for a variety of reasons.</p> + <div class="note"> + <p><strong>Note that configuring and building B2G for Keon DOESN'T WORK on Mac</strong>. You'll need to use Linux to build for this device.<span id="cke_bm_81E" style="display: none;"> </span></p> + </div> + <h3 id="Mountain_Lion-specific_build_errors">Mountain Lion-specific build errors</h3> + <div> + <p>1. If you are building on OS X 10.8 "Mountain Lion" (Xcode 4.4.1 or later) and encounter the following error:</p> + <pre style="font-size: 14px;">external/qemu/android/skin/trackball.c:130:25: error: 'M_PI' undeclared (first use in this function)</pre> + Edit the file: <code style="font-size: 14px;">B2G/external/qemu/Makefile.android</code> and add in line 78:<br> + <pre style="font-size: 14px;">MY_CFLAGS += -DM_PI=3.14159265358979323846264338327950288 #/* B2G_fix: not finding M_PI constant */ +</pre> + </div> + <div> + 2. If you are on Mountain Lion and you receive an error during ./build.sh like:</div> + <div> + <pre>/System/Library/Frameworks/IOKit.framework/Headers/usb/USB.h:797:9: error: too many #pragma options align=reset</pre> + <p>Replace all instances of '#pragma options align=reset' with '#pragma pack()' inside /System/Library/Frameworks/IOKit.framework/Headers/usb/USB.h</p> + </div> + <h3 id="Undefined_symbols__sqlite3_androidopt_handle_pragma_and__sqlite3_androidopt_open">Undefined symbols "_sqlite3_androidopt_handle_pragma" and "_sqlite3_androidopt_open"</h3> + <p>This error appears if you are building on OS X 10.7 or newer with Xcode 4.5 or newer. To fix this, apply the patch at <a href="https://groups.google.com/forum/#!msg/android-building/yAfPyUqCsiQ/7zvICk4GWjYJ">https://groups.google.com/forum/#!msg/android-building/yAfPyUqCsiQ/7zvICk4GWjYJ</a> to the external/sqlite/dist/Android.mk file.</p> + <h3 id="KeyedVector.h19331_error_indexOfKey_was_not_declared_in_this_scope">KeyedVector.h:193:31: error: indexOfKey was not declared in this scope</h3> + <p>This error appears when your gcc version is too recent. Install gcc/g++/g++-multilib 4.6.x versions. See <a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customizing with the .userconfig file</a> for more information.</p> + <div class="note"> + <p><strong>Community Note:</strong> It is possible to use gcc 4.7.x with slight modifications to the B2G code (gcc will guide you) but you won't get any help! Neither with modifying the code nor with bugs you encounter.</p> + </div> + <h3 id="arm-linux-androideabi-g_Internal_error_Killed_program_cc1plus">arm-linux-androideabi-g++: Internal error: Killed (program cc1plus)</h3> + <p>If you see this message, it most likely means that free memory is lacking. Ensure there is enough free memory before running <code>./build.sh</code>. It should run fine if your system has 4GB of RAM.</p> + <h3 id="...is_referenced_by_DSO_error">"...is referenced by DSO" error</h3> + <p>While building the emulator, if you get /usr/bin/ld: out/host/linux-x86/obj/EXECUTABLES/triangleCM_intermediates/triangleCM: hidden symbol `_XGetRequest' in out/host/linux-x86/obj/STATIC_LIBRARIES/libSDL_intermediates/libSDL.a(SDL_x11dyn.o) is referenced by DSO.</p> + <p>You can get this with some versions in binutils. If you run Debian Stable, you can use the <em>gold</em> linker by installing the package <code>binutils-gold</code>. Note that the <em>gold</em> linker is already installed by <code>binutils</code>, but it's not used by default; <code>binutils-gold</code> does just that.</p> + <h3 id="If_you_get_build_errors_while_the_build_system_is_running_tests">If you get build errors while the build system is running tests</h3> + <p>Sometimes (especially after build tool or operating system updates) you'll get weird errors like this when the build system runs its post-build tests:</p> + <pre>Generating permissions.sqlite... +test -d profile || mkdir -p profile +run-js-command permissions +WARNING: permission unknown:offline-app +WARNING: permission unknown:indexedDB-unlimited +build/permissions.js:122: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPermissionManager.add] +make[1]: *** [permissions] Error 3 +make: *** [gaia/profile.tar.gz] Error 2</pre> + <p>In this situation, try deleting the <code>gaia/xulrunner-sdk</code> directory and re-pulling the code:</p> + <pre>rm -r gaia/xulrunner-sdk +</pre> + <p>This deletes the downloaded, precompiled copy of <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a> that the build system retrieves automatically; on your next build, a new copy of XULRunner will be automatically retrieved.</p> + <h3 id="Cannot_fetch_platformlibcore">Cannot fetch platform/libcore</h3> + <p>If you tried to configure your B2G build for Nexus S (<code>./config.sh nexus-s</code>) and got an error related to libcore, it is because of a problem with the linaro git that feeds into this. To fix this, checkout the B2G manifest like so:</p> + <pre class="brush: bash">git clone https://github.com/mozilla-b2g/b2g-manifest.git</pre> + <p>Edit the <code>nexus-s.xml</code> file in this repo, replacing the linaro git entry with a reference to the aosp entry, which should read like so:</p> + <pre class="brush: xml"><default revision="refs/tags/android-4.0.4_r1.2" + remote="aosp" + sync-j="4" /></pre> + <p>Commit these changes (<code>git commit -a</code>) and then change the <code>config.sh</code> file in the master branch of the main B2G repo that you checked out to point to your modified local manifest instead of the Mozilla one:</p> + <pre class="brush: bash">GITREPO=${GITREPO:-"file:///home/path/to/my/b2g-manifest"}</pre> + <h3 id="clang_errors_when_building_with_Xcode_5_on_Mac">clang errors when building with Xcode 5 on Mac</h3> + <p>If you are building on Mac OS X 10.8 with Xcode 5, you will likely see errors like the following:</p> + <pre class="brush: bash">clang: error: argument unused during compilation: '-include system/core/include/arch/darwin-x86/AndroidConfig.h' +clang: error: argument unused during compilation: '-U DEBUG' +clang: error: argument unused during compilation: '-U DEBUG' +clang: error: argument unused during compilation: '-MF out/host/darwin-x86/obj/EXECUTABLES/obbtool_intermediates/Main.d' +make: *** [out/host/darwin-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1</pre> + <p>This is because Xcode 5 changes the g++ compiler in <code>/usr/bin</code>, which breaks the build process if you try to use it to compile. In order to work around the problem, edit the following line in <code>build/core/combo/HOST_darwin-x86.mk:</code></p> + <pre class="brush: bash">HOST_CXX := g++</pre> + <p>to</p> + <pre class="brush: bash">HOST_CXX := g++-4.6 +ifeq (,$(wildcard /usr/local/bin/g++-4.6)) + HOST_CXX := g++ +endif</pre> + <p>Next, you'll want to uninstall gcc, using brew (this assumes you've run the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Run_Firefox_OS_Mac_Bootstrap">Mac OS bootstrap script</a> — if not, you'll need to complete that step before continuing):</p> + <pre class="brush: bash">brew uninstall gcc-4.6</pre> + <p>Now reinstall gcc with multilib and c++ support:</p> + <pre class="brush: bash">brew install --enable-cxx https://gist.github.com/artlogic/6988658/raw/aeb9d1ea098274ad3f3fe2637b9df7f308a8a120/gcc-4.6.rb</pre> + <p>Make sure /usr/local/bin is on your PATH. You can do this temporarily by typing the following into the command prompt:</p> + <pre class="brush: bash">export PATH=/usr/local/bin:$PATH</pre> + <p>You can make the above change permanent by adding it to the <code>.bash_profile</code> file in your home directory.</p> + <p>After you've set your PATH, make sure you can run both of the following commands:</p> + <pre class="brush: bash">gcc-4.6 -v + +g++-4.6 -v</pre> + <p>If either of these commands fail, you may need to relink your gcc using brew with the following command:</p> + <pre class="brush: bash">brew link --overwrite gcc-4.6</pre> + <p>It's also possible that <code>/usr/bin/c++</code> is not pointing at clang++ as it should be with Xcode 5 installed. You can determine if it is by typing the following:</p> + <pre class="brush: bash">ls -l /usr/bin/c++</pre> + <p>It should return something that looks like this:</p> + <pre class="brush: bash">lrwxr-xr-x 1 root admin 7 Sep 19 11:40 /usr/bin/c++ -> clang++ +</pre> + <p>If c++ is pointing at something other than clang++, update it with the following commands:</p> + <pre class="brush: bash">sudo rm /usr/bin/c++ + +sudo ln -s /usr/bin/clang++ /usr/bin/c++</pre> + <h3 id="Cannot_pull_files_from_backup_directory">Cannot pull files from backup directory</h3> + <p>This could happen when the USB connection is broken while the script pulls data from device to computer.</p> + <p>When you run the script again, you'll probably get the following (the example is for the Peak device):</p> + <pre class="brush: bash"><code>Pulling files from ../../../backup-peak +cat: ../../../backup-peak/system/build.prop: No such file or directory +Found firmware with build ID +Pulling "libaudioeq.so" +cp: cannot stat `../../../backup-peak/system/lib/libaudioeq.so': No such file or directory +Failed to pull libaudioeq.so. Giving up. + +> Build failed! < + +Build with |./build.sh -j1| for better messages +If all else fails, use |rm -rf objdir-gecko| to clobber gecko and |rm -rf out| to clobber everything else.</code></pre> + <p>To solve this, it is not necessary to remove the whole objdir-gecko or out directories. Just remove the backup directory, like this (for the example above):</p> + <pre class="brush: bash"><code class="brush: bash">$rm -rf backup-peak</code></pre> + <h3 id="Emulator_build_issues"><strong>Emulator build issues</strong></h3> + <p>If you are making an <strong>emulator</strong> build, you need to pay attention to these issues:</p> + <div class="note"> + <p><strong>First, note that you shouldn't use the x86 emulator — it is hard to install and not well supported.</strong></p> + </div> + <p>Next, the build-system for the emulator builds both 32bit and 64bit versions of the emulator. As the emulator depends on OpenGL, this means that you need to have both 32bit and 64bit versions of OpenGL libraries installed on your system. See the discussion in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=897727" title="https://bugzilla.mozilla.org/show_bug.cgi?id=897727">bug 897727</a>.</p> + <p>There are two ways that you can solve this problem:</p> + <h4 id="Solution_1_have_both_32bit_and_64bit_OpenGL_libs_installed_with_the_right_symlinks">Solution #1: have both 32bit and 64bit OpenGL libs installed, with the right symlinks</h4> + <p>If your linux distro has multilib packages for OpenGL libraries, you can attempt installing them. You might then have to manually create some symlinks.</p> + <p>For example, here is the situation on Ubuntu 12.04 LTS x86-64. On this distribution, the <code>libgl1-mesa-dev</code> package cannot be installed simultaneously in x86-64 and i386 versions, but you can have the following combination of packages simultaneously installed:</p> + <pre class="bz_comment_text" id="comment_text_12">sudo apt-get install libgl1-mesa-dev libglapi-mesa:i386 libgl1-mesa-glx:i386</pre> + <p>After having run this command, you will still have to manually create some symlinks for the emulator build to succeed:</p> + <pre class="note">sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so +sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so</pre> + <h4 id="Solution_2_just_patch_the_emulator_so_it_only_builds_64bit">Solution #2: just patch the emulator so it only builds 64bit</h4> + <p>Just apply <a href="https://bug897727.bugzilla.mozilla.org/attachment.cgi?id=786280" title="https://bug897727.bugzilla.mozilla.org/attachment.cgi?id=786280">this patch</a> to the sdk/ git repository under the B2G repo. This will cause the B2G emulator to only attempt to build the 64bit emulator if you're on a 64bit system, thus avoiding any multilib issues. The 32bit emulator is unused anyway on a 64bit system. This is the simplest solution, until this patch eventually bit-rots.</p> + <h2 id="Next_steps">Next steps</h2> + <p>After building, your next step depends on whether you built Boot to Gecko for the emulator or for a real mobile device; see the following articles for details:</p> + <ul> + <li><a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators" title="Mozilla/Firefox_OS/Using_the_B2G_emulators">Using the B2G emulators</a></li> + <li><a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client" title="Mozilla/Firefox_OS/Using_the_B2G_desktop_client">Using the B2G desktop client</a></li> + <li><a href="/en-US/docs/Mozilla/Firefox_OS/Installing_on_a_mobile_device" title="Mozilla/Firefox_OS/Installing_on_a_mobile_device">Installing Boot to Gecko on a mobile device</a></li> + <li><a href="/en-US/docs/Mozilla/Firefox_OS/Pandaboard" title="Mozilla/Firefox_OS/Pandaboard">Installing Boot to Gecko on a pandaboard</a></li> + </ul> +</div> +<h3 id="Submitting_bugs_on_B2GFirefox_OSGaia">Submitting bugs on B2G/Firefox OS/Gaia</h3> +<p>Once you've got a B2G/Firefox OS build running, you'll probably want to start to file bugs against this specific version, so the Firefox OS community can improve things as effectively as possible. You'll want to <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20OS">file the bug on Bugzilla</a>, under the "Firefox OS" project, but you should include version specifics:</p> +<ol> + <li>To start with, tell us the major version number, e.g. <em>1.4.0.0-prerelease</em>. This can be found on the device under <em>Settings > Device Information</em>.</li> + <li>You can provide more specific version identifiers by returning the current hashes from the gaia and gecko repositories. This can be done like so: + <pre class="brush: bash">#!/bin/bash +(cd gaia; echo "gaia $(git rev-parse HEAD)") +(cd gecko; echo "gecko $(git rev-parse HEAD)")</pre> + </li> +</ol> diff --git a/files/de/archive/b2g_os/building_and_installing_firefox_os/compatible_devices/index.html b/files/de/archive/b2g_os/building_and_installing_firefox_os/compatible_devices/index.html new file mode 100644 index 0000000000..ea95805479 --- /dev/null +++ b/files/de/archive/b2g_os/building_and_installing_firefox_os/compatible_devices/index.html @@ -0,0 +1,357 @@ +--- +title: Kompatible Geräte +slug: Archive/B2G_OS/Building_and_installing_Firefox_OS/Compatible_Devices +translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices +--- +<div class="note"> +<p><strong>Install B2G OS in you device easily</strong> with <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS/B2G_installer_add-on">B2G installer </a>- a Firefox Add-on.</p> +</div> + +<div class="note"> +<p><strong>Note</strong>: All devices have the <strong>recommended build target below its name</strong> (see <strong>nickname or codenames</strong>). For example to build for Nexus 6 do <code>./build.sh nexus-6-l</code>.<span class="rendered_qtext"> Device codenames where given directly by manufacturers. You can find it in <code>build.prop</code> file of a stock ROM.</span></p> +</div> + +<h2 id="Development_Devices">Development Devices</h2> + +<p>These devices are official reference devices for developing B2G OS.</p> + +<table class="standard-table" style="height: 380px; width: 680px;"> + <tbody> + <tr> + <td style="text-align: center;"><strong>Image</strong></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/13384/Z3C_B2G.png" style="height: 154px; width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12039/generic.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12039/generic.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Name<br> + (Android version)</strong></td> + <td style="text-align: center;"><strong>Z3 Compact (Kitkat)</strong><br> + Sony Shinano platform</td> + <td style="text-align: center;"><strong>Z3</strong> <strong>(Kitkat)</strong><br> + Sony Shinano platform</td> + <td style="text-align: center;"><strong>Flame (Kitkat)</strong></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Nickname</strong></td> + <td style="text-align: center;">aries-kk</td> + <td style="text-align: center;">leo-kk</td> + <td style="text-align: center;">flame-kk</td> + </tr> + <tr> + <td style="text-align: center;"><strong>Build and installation information</strong></td> + <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/building-b2g-os-for-aries-z3c/8082">https://discourse.mozilla-community.org/t/building-b2g-os-for-aries-z3c/8082</a></td> + <td style="text-align: center;"> </td> + <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/flame-builds/8548">https://discourse.mozilla-community.org/t/flame-builds/8548</a></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Available in B2G Installer</strong></td> + <td style="text-align: center;">Yes</td> + <td style="text-align: center;">No</td> + <td style="text-align: center;">Yes</td> + </tr> + </tbody> +</table> + +<h2 id="Community_Supported_Devices">Community Supported Devices</h2> + +<p>Those devices are supported by community efforts. Feel free to help them !</p> + +<div class="note"> +<p><strong>Builds distribution frequency may vary</strong> depending of maintainers number and time available.</p> +</div> + +<h3 id="Working_devices">Working devices</h3> + +<p>These devices have builds available running B2G OS :</p> + +<table class="standard-table" style="height: 380px; width: 355px;"> + <tbody> + <tr> + <td style="text-align: center;"><strong>Image</strong></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12039/generic.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12035/nexus5.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/13665/WileyFoxSwift_B2G.png" style="height: 157px; width: 79px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12039/generic.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Name<br> + (Android version)</strong></td> + <td style="text-align: center;"><strong>ZTE Open C</strong></td> + <td style="text-align: center;"><strong>Nexus 5</strong></td> + <td style="text-align: center;"><strong>WileyFox Swift</strong></td> + <td style="text-align: center;"><strong>Fairphone 2</strong></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Nickname</strong></td> + <td style="text-align: center;">openc-fr / openc-ebay</td> + <td style="text-align: center;"> </td> + <td style="text-align: center;"> </td> + <td style="text-align: center;"> </td> + </tr> + <tr> + <td style="text-align: center;"><strong>Build and installation information</strong></td> + <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/zte-open-c/8402/">https://discourse.mozilla-community.org/t/zte-open-c/8402/</a></td> + <td style="text-align: center;"> + <p><a href="https://discourse.mozilla-community.org/t/test-b2gos-on-nexus-5/9405/1">https://discourse.mozilla-community.org/t/test-b2gos-on-nexus-5/9405/1</a></p> + </td> + <td style="text-align: center;"> </td> + <td style="text-align: center;"> + <p><a href="https://discourse.mozilla-community.org/t/fairphone-2-build/8641/">https://discourse.mozilla-community.org/t/fairphone-2-build/8641/</a><br> + <a href="https://discourse.mozilla-community.org/t/fairphone-2-support-for-b2g-installer-landed/8334">https://discourse.mozilla-community.org/t/fairphone-2-support-for-b2g-installer-landed/8334</a></p> + </td> + </tr> + <tr> + <td style="text-align: center;"><strong>Available in B2G Installer</strong></td> + <td style="text-align: center;"> + <p>No</p> + + <p>(but a buildbot is available)</p> + </td> + <td style="text-align: center;">Yes</td> + <td style="text-align: center;">Yes</td> + <td style="text-align: center;">Not yet, but almost done. Blobfull build working.</td> + </tr> + </tbody> +</table> + +<h3 id="Work_in_progress">Work in progress</h3> + +<p>Work is going on to support these devices :</p> + +<table class="standard-table" style="height: 380px; width: 680px;"> + <tbody> + <tr> + <td style="text-align: center;"><strong>Image</strong></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12025/flamingo.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12017/amami.png" style="max-width: 133px;"></td> + <td style="text-align: center;"> </td> + </tr> + <tr> + <td style="text-align: center;"><strong>Name<br> + (Android version)</strong></td> + <td style="text-align: center;"><strong>E3</strong><br> + Sony Yukon platform</td> + <td style="text-align: center;"><strong>Z1 Compact (Lollipop)</strong><br> + Sony Rhine platform</td> + <td style="text-align: center;"><strong>Xiaomi Redmi 1S</strong></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Nickname</strong></td> + <td style="text-align: center;">flamingo-l</td> + <td style="text-align: center;">amami-l</td> + <td style="text-align: center;">armani</td> + </tr> + <tr> + <td style="text-align: center;"><strong>Build and installation information</strong></td> + <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/b2g-os-flamingo-sony-xperia-e3-builds/8361">https://discourse.mozilla-community.org/t/b2g-os-flamingo-sony-xperia-e3-builds/8361</a></td> + <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/support-for-amami-xperia-z1c-building-debugging-providing-builds/8348">https://discourse.mozilla-community.org/t/support-for-amami-xperia-z1c-building-debugging-providing-builds/8348</a></td> + <td style="text-align: center;"><a href="https://discourse.mozilla-community.org/t/wip-xiaomi-redmi-1s-hongmi-1s/10273">https://discourse.mozilla-community.org/t/wip-xiaomi-redmi-1s-hongmi-1s/10273</a></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Support status</strong></td> + <td style="text-align: center;">Blocked, problem with flashing tools</td> + <td style="text-align: center;">Early building tests</td> + <td style="text-align: center;">Early building tests</td> + </tr> + </tbody> +</table> + +<h2 id="Devices_with_porting_possibilities">Devices with porting possibilities</h2> + +<p>This is a (<em>non-exhaustive</em>) list of devices with porting <em>potential</em>, thanks to available AOSP or Cyanogen Mod version, or because they supported Firefox OS until version 2.6.</p> + +<div class="note"> +<p><strong>Note:</strong> There aren't currently any ports for these phones, but it is possible to build B2G OS. See<a href="/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS"> how to build</a> section for more info. You are welcome to maintain these builds.</p> +</div> + +<h3 id="Nexus_Devices">Nexus Devices</h3> + +<p>These devices are (almost) automatically supported by B2G OS because they are Google's reference devices for AOSP.</p> + +<table class="standard-table" style="height: 282px; line-height: 1.5; width: 451px;"> + <tbody> + <tr> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12037/nexus6.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12033/nexus4.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Nexus 6</strong></td> + <td style="text-align: center;"><strong>Nexus 4</strong></td> + </tr> + <tr> + <td style="text-align: center;"> </td> + <td style="text-align: center;"> </td> + </tr> + </tbody> +</table> + +<h3 id="Sony_Devices">Sony Devices</h3> + +<p>These devices use Sony Mobile's Open Devices initiative, which aims to support all modern Xperia devices in AOSP.</p> + +<p>These devices are built on a Lollipop AOSP base.</p> + +<div class="note"> +<p>Right now most of the Sony devices are missing camera support. This depends on work in progress by Sony developers.<br> + Also, we need contributors to maintain these ports.</p> +</div> + +<p>Devices where support for B2G OS is ongoing are not listed here.</p> + +<h4 id="Sony_Shinano_Platform">Sony Shinano Platform</h4> + +<table class="standard-table"> + <tbody> + <tr> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12007/leo.png" style="max-width: 133px;"></td> + <td style="text-align: center;"> </td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12011/scorpion.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12013/sirius.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Z3</strong></td> + <td style="text-align: center;"> </td> + <td style="text-align: center;"><strong>Z3 Tablet Compact</strong></td> + <td style="text-align: center;"><strong>Z2</strong></td> + </tr> + <tr> + <td style="text-align: center;">leo-l</td> + <td style="text-align: center;"> </td> + <td style="text-align: center;">scorpion-l</td> + <td style="text-align: center;">sirius-l</td> + </tr> + </tbody> +</table> + +<dl> +</dl> + +<h4 id="Sony_Rhine_Platform">Sony Rhine Platform</h4> + +<div class="note"> +<p>Rhine devices use a legacy NFC chip so this feature is currently missing. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1226720">bug 1226720 </a>We need contributors to maintain these ports.</p> +</div> + +<table class="standard-table"> + <tbody> + <tr> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12015/honami.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Z1</strong></td> + </tr> + <tr> + <td style="text-align: center;">honami-l</td> + </tr> + </tbody> +</table> + +<h4 id="Sony_Yukon_Platform">Sony Yukon Platform</h4> + +<table class="standard-table"> + <tbody> + <tr> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12019/tianchi.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12021/seagull.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12023/eagle.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>T2 Ultra</strong></td> + <td style="text-align: center;"><strong>T3</strong></td> + <td style="text-align: center;"><strong>M2</strong></td> + </tr> + <tr> + <td style="text-align: center;">tianchi-l</td> + <td style="text-align: center;">seagull-l</td> + <td style="text-align: center;">eagle-l</td> + </tr> + </tbody> +</table> + +<h3 id="CyanogenMod_Supported_Devices"><strong>CyanogenMod Supported Devices</strong></h3> + +<p>Here be dragons! (To be completed)</p> + +<h2 id="Legacy_Devices">Legacy Devices</h2> + +<p>Some old devices are no longer maintained by the community, but it is still possible for volunteers to keep them alive (Yay Open-Source!). Feel free to contact the team previously working on these devices to get some help.</p> + +<p>No device here right now.</p> + +<h2 id="Obsolete_Devices">Obsolete Devices</h2> + +<div class="warning"> +<p>Forget about these device's support if you have one.</p> +</div> + +<p>Several old devices are no longer maintained for B2G OS , and we do not have a community to keep them alive. The current status of these devices is unknown, which probably means they cannot be built on B2G OS master branches.</p> + +<table class="standard-table"> + <tbody> + <tr> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12069/peak.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12067/keon.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12071/inari.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12077/hamachi.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Geeksphone Peak</strong></td> + <td style="text-align: center;"><strong>Geeksphone Keon</strong></td> + <td style="text-align: center;"><strong>ZTE Open</strong></td> + <td style="text-align: center;"><strong>TCL Fire</strong></td> + </tr> + <tr> + <td style="text-align: center;">peak</td> + <td style="text-align: center;">keon</td> + <td style="text-align: center;">inari</td> + <td style="text-align: center;">hamachi</td> + </tr> + </tbody> +</table> + +<table class="standard-table"> + <tbody> + <tr> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12083/galaxy-s2.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12085/galaxy-nexus.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12087/nexus-s.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12087/nexus-s.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Samsung Galaxy S2</strong></td> + <td style="text-align: center;"><strong>Galaxy Nexus</strong></td> + <td style="text-align: center;"><strong><a href="/en-US/docs/Mozilla/Firefox_OS/Samsung_Nexus_S">Nexus S</a></strong></td> + <td style="text-align: center;"><strong><a href="/en-US/docs/Mozilla/Firefox_OS/Samsung_Nexus_S">Nexus S 4G</a></strong></td> + </tr> + <tr> + <td style="text-align: center;">galaxy-s2</td> + <td style="text-align: center;">galaxy-nexus</td> + <td style="text-align: center;">nexus-s</td> + <td style="text-align: center;">nexus-s-4g</td> + </tr> + </tbody> +</table> + +<table class="standard-table"> + <tbody> + <tr> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12073/flatfish.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12075/vixen.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12079/pandaboard.png" style="max-width: 133px;"></td> + <td style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/12081/rpi.png" style="max-width: 133px;"></td> + </tr> + <tr> + <td style="text-align: center;"><strong>Foxconn InFocus</strong></td> + <td style="text-align: center;"><strong>Via Vixen</strong></td> + <td style="text-align: center;"><strong><a href="/en-US/Firefox_OS/Pandaboard">Pandaboard</a></strong></td> + <td style="text-align: center;"><strong>Raspberry Pi</strong></td> + </tr> + <tr> + <td style="text-align: center;">flatfish</td> + <td style="text-align: center;">vixen</td> + <td style="text-align: center;">pandaboard</td> + <td style="text-align: center;">rpi</td> + </tr> + </tbody> +</table> diff --git a/files/de/archive/b2g_os/building_and_installing_firefox_os/firefox_os_build_overview/index.html b/files/de/archive/b2g_os/building_and_installing_firefox_os/firefox_os_build_overview/index.html new file mode 100644 index 0000000000..56422c4cf6 --- /dev/null +++ b/files/de/archive/b2g_os/building_and_installing_firefox_os/firefox_os_build_overview/index.html @@ -0,0 +1,155 @@ +--- +title: 'Firefox OS Build Prozess: Übersicht' +slug: Archive/B2G_OS/Building_and_installing_Firefox_OS/Firefox_OS_build_overview +tags: + - Firefox OS + - build + - install +translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary +--- +<div class="summary"> +<p>Firefox OS zu kompilieren und zu installieren erfordert eine erhebliche Menge Zeit, Netzwerkbandbreite und Rechenleistung. Leider können auch Dinge schiefgehen. Dieser Artikel beschreibt die Ziele und Schritte des Build-Prozesses, um Benutzern während der Firefox OS Installation zu helfen. Details der einzelnen Schritte werden in den verlinkten Seiten erläutert.</p> +</div> + +<div class="note"> +<p><strong style="font-weight: bold;">Anmerkung:</strong> Der Firefox OS Build Prozess ist voll von Bezügen zu 'B2G' oder 'Boot2Gecko'. 'Boot2Gecko' war der ursprüngliche Codename des Firefox OS Projekts.</p> +</div> + +<h2 id="Das_Ziel_vier_'image'-Dateien">Das Ziel: vier 'image'-Dateien</h2> + +<p>Der grundsätzliche Zweck des Build Prozesses ist es vier Dateien zu erzeugen, die auf das Firefox OS-Gerät kopiert werden können.</p> + +<table style="margin: 4px auto; vertical-align: top; width: 90%;"> + <tbody> + <tr> + <td><strong>boot.img</strong></td> + <td>Der Linux-Kernel und ein Image des root-Dateisystems, wobei letzteres ein Set von grundlegenden UNIX-Tools zur Verfügung stellt.</td> + </tr> + <tr> + <td><strong>system.img</strong></td> + <td>Der Kern von Firefox OS inklusive einiger Teile von Gonk, der Portierung von Gecko, und dem ausführbaren Programm b2g.</td> + </tr> + <tr> + <td><strong>userdata.img</strong></td> + <td>Das Gecko-Profil des Benutzers und die Gaia Web-Anwendungen für das Gerät.</td> + </tr> + <tr> + <td><strong>recovery.img</strong></td> + <td>Ein Linux-Kernel und ein Image des root-Dateisystems zusammen mit einem einfachen Werkzeug, um eine defekte Installation zu reparieren.</td> + </tr> + </tbody> +</table> + + +<p>Wenn diese 4 Images erzeugt wurden, können sie auf das Gerät übertragen werden.</p> + +<p>Firefox OS setzt auf dem Android Open Source Project (AOSP) auf. Die AOSP-Werkzeuge <code>adb</code> und <code>fastboot</code> bieten Möglichkeiten auf ein Gerät zuzugreifen und es zu verändern. Insbesondere kann das Kommando <code>adb reboot-bootloader</code> ein angeschlossenes Gerät dazu bringen, neu zu starten und in einem frühen Bootloaderstadium zu pausieren, während das Kommando <code>fastboot flash $partition $image</code> dazu benutzt werden kann, ein Image auf das Gerät zu kopieren.</p> + +<h3 id="Das_Boot-Image">Das Boot-Image</h3> + +<p>Das Boot-Image (<code>boot.img</code>) ist eine Kombination aus dem Linux-Kernel und einer initialen root Partition, die die grundlegenden Werkzeuge und Initialisierungs-Skripte bereit stellt. Letzteres wird für eine effektive Nutzung durch das Gerät in den Gerätespeicher kopiert und wird deshalb als "ramdisk" (RAM-Disk) bezeichnet. Das Boot-Image wird in die boot Partition des Gerätes kopiert und die Inhalte der RAM-Disk erscheinen unter dem root-Verzeichnis, wenn zur Laufzeit auf das Geräte-Dateisystem zugegriffen wird; zum Beispiel beim Ausführen von <code>adb shell</code>.</p> + +<p>Das Boot-Image richtet auch die Berechtigungen des root-Benutzers in der Datei <code>default.prop</code> im root-Verzeichnis ein.</p> + +<p>Es ist auch möglich vorhandene Boot-Images zu verändern, indem man die Datei untersucht, sie in Kernel und RAM-Disk trennt, die Inhalte der RAM-Disk extrahiert, diese ändert, das RAM-Disk-Image neu zusammenstetzt und daraus eine funktionierende boot.img-Datei erzeugt. Ein Beispiel findet man auf der <a href="http://k.japko.eu/alcatel-otf-hackers-guide-1.html">Alcatel One Touch Fire Hacking (Mini) Guide</a>-Seite.</p> + +<p>Boot-Images können vor der Installation getestet werden, indem man sie dem Gerät "unterschiebt" (sideload). Der Geräte-Start kann im Bootloader angehalten werden. Im Bootloader-Modus kann man dann mit <code>fastboot</code> von einem eigenen Boot-Image booten, indem man das Kommando <code>fastboot boot /some/path/to/boot.img</code> verwendet.</p> + +<h3 id="Das_System-Image">Das System-Image</h3> + +<p>Das System-image (<code>system.img</code>) stellt die Grundfunktionen von Firefox OS bereit:</p> + +<ul> + <li><strong>Gonk</strong>: systemnahe Komponenten des Betriebssystems</li> + <li><strong>Gecko</strong>: Laufzeitumgebung für HTML, CSS und JavaScript</li> + <li><strong>B2G</strong>: Laufzeitkomponenten des Betriebssystems</li> + <li><strong>Gaia</strong>: User Interface (UI) für Apps</li> +</ul> + +<div class="note"> +<p>Siehe <a href="https://developer.mozilla.org/de/Firefox_OS/Platform">Firefox OS platform guide</a> für nähere Informationen zur System-Architektur.</p> +</div> + +<p>Das System-Image wird in die <code>system</code> Partition des Geräts kopiert und ist im laufenden Betrieb im Verzeichnis <code>/system/</code> zu sehen wenn das Dateisystem gemountet wurde.</p> + +<div class="note"> +<p><strong>Hinweis</strong>: Das System-Image stellt zudem vom Gerät genutze Binär-Programme zur Verfügung, insbesondere den RIL (Radio Interface Layer) für die Funk-Verbindungen.</p> +</div> + +<h3 id="Das_User_Data_Image">Das User Data Image</h3> + +<p>Das User Data Image (<code>userdata.img</code>) enthält die Gaia Apps des Anwenders.</p> + +<p>Das User Data Image wird in die <code>userdata</code> Partition des Gerätes kopiert. Der Inhalt ist im laufenden Betrieb im Verzeichnis <code>/data/</code> zu sehen wenn das Dateisystem gemountet wurde. Das Verzeichnis <code>/data/b2g/</code> enthält das Mozilla Gecko Profil des Anwenders, das Verzeichnis <code>/data/local/webapps/</code> enthält die verfügbaren Apps.</p> + +<h3 id="Das_Recovery_Image">Das Recovery Image</h3> + +<p>Das Recovery Image (<code>recovery.img</code>) enthält denselben Kernel und eine vergleichbare RAM-Disk wie die Boot Image Partition. Das Recovery Image verwendet allerdings ein anderes Initialisierungs-Skript, welches dem Anwender verschiedene Recovery-Funktionen zur Verfügung stellt die mit den Tasten des Gerätes bedient werden können.</p> + +<p>Das Recovery Image wird in die <code>recovery</code> Partition des Gerätes kopiert, welche im Normalbetrieb nicht ins Dateisystem gemountet wird.</p> + +<h2 id="Der_Build_Prozess_setup_configure_build_install">Der Build Prozess: setup, configure, build, install</h2> + +<p>Build Prozess und Installation von Firefox OS bestehen aus 4 Schritten:</p> + +<table style="margin: 4px auto; vertical-align: top; width: 90%;"> + <tbody> + <tr> + <td><strong>Setup</strong></td> + <td>Bereitstellen aller für den Build Prozess benötigten Programme wie z.B. Compiler und Bibliotheken.</td> + </tr> + <tr> + <td><strong>Configure</strong></td> + <td>Download des Quellcodes und Erzeugen einer <code>configure</code> Datei welche Umgebungsvariablen definiert in denen die benötigten Pfade und Parameter gespeichert werden.</td> + </tr> + <tr> + <td><strong>Build</strong></td> + <td>Erzeugen des Gecko Anwender-Profils und der Gaia Anwendungen des Gerätes.</td> + </tr> + <tr> + <td><strong>Install</strong></td> + <td>Installieren der Dateien auf dem Gerät.</td> + </tr> + </tbody> +</table> + + +<p> </p> + +<h3 id="Setup">Setup</h3> + +<p>Die Setup-Phase ist notwendig um sicher zu stellen dass sämtliche für den Build Prozess benötigte Software zur Verfügung steht, z.B. Compiler und Build Tools.</p> + +<p>Dieser Schritt kann manuell oder per Skript durchgeführt werden. Details hierzu findest Du auf <a href="/de/Firefox_OS/Firefox_OS_build_prerequisites" title="Firefox OS build prerequisites">Firefox OS build prerequisites</a>.</p> + +<div class="note"> +<p><strong>Hinweis</strong>: Auf UNIX und UNIX-artigen Computern kann man mit dem Kommando which prüfen, ob ein für den Build Prozess benötigtes Programm vorhanden ist. Als Parameter erwartet which den Namen des benötigten Programms.</p> +</div> + +<h3 id="Configuration">Configuration</h3> + +<p>Der eigentliche Build Prozess startet mit dem Erstellen einer Kopie der Firefox OS (bzw. B2G) Software, gewöhnlich wird ein Git Clone des <code>B2G</code> Projekts erstellt. Der Schritt Configuration kopiert den gesamten benötigten Quellcode und erzeugt eine <code>config</code> Datei, welche die benötigten Installations-Parameter enthält.</p> + +<p>Ausgeführt wird dieser Schritt mit dem <code>config.sh</code> Skript. Details findest Du auf der <a href="/en-US/Firefox_OS/Preparing_for_your_first_B2G_build" title="Preparing for your first B2G build">Preparing for your first B2G build</a> Seite.</p> + +<p>Das Configure Skript benötigt einen Parameter mit dem der Gerätetyp spezifiziert wird. Diese sogenannten Code Names fliessen in den Build Namen ein und stehen für eine bestimmte CPU Architektur und nicht für ein spezielles Gerät. Momentan kann man also nicht anhand des Build Names bestimmen ob ein Build auf einem bestimmten Gerät lauffähig ist. Eine Liste der verfügbaren Code Names findest Du <a href="/de/Firefox_OS/Phone_guide/Phone_specs">hier</a>.</p> + +<p>Der Schritt Configure nutzt <code>repo</code>, ein Tool des Android Open Source Projekts, für den Download der für den Build benötigten Software. Die Software wird gespeichert im Verzeichnis <code>repo/projects</code>. Aufgrund der herunter zu ladenden Datenmenge und der durchzuführenden Schritte kann der Schritt Configure länger dauern.</p> + +<h3 id="Build">Build</h3> + +<p>Im Schritt Build wird der Quellcode kompiliert und die Image-Dateien werden erzeugt.</p> + +<p>Hierzu wurd das <code>build.sh</code> Skript ausgeführt. Details hierzu findest Du in <a href="/de/Firefox_OS/Building" title="Building">Building Firefox OS</a>.</p> + +<p>Das Skript versucht alle Quellcodes in einem Schritt zu kompilieren: Die Android Open Source Project Tools, den Linux Kernel und die Gaia Web Anwendungen. Wenn dieser Schritt fehl schlägt ist nicht immer klar, an welcher Stelle der Build ein Problem hatte.</p> + +<p>Es ist möglich, nur einzelne Komponenten des Gesamtpakets zu kompilieren. Z.B. kann Gecko einzeln kompiliert werden, indem das Build Skript mit dem <code>gecko</code> Parameter aufgerufen wird. Das gleiche gilt für Gaia, wo das Build Skript mit dem <code>gaia</code> Parameter gestartet wird. Diese Pakete können einzeln installiert werden,wie im folgenden beschrieben Abschnitt wird.</p> + +<p>Ebenso ist es möglich die oben beschriebenen Image-Dateien zu erzeugen. Z.B. kann man das System-Image mit <code>./build.sh out/platform/$target/system.img</code> erzeugen, wobei der Parameter <code>$target</code> derselbe ist wie im Schritt Configuration.</p> + +<h3 id="Install">Install</h3> + +<p>Im Schritt Install wird der neu kompilierte Code auf das Gerät kopiert. Hierzu wird das Skript <code>flash.sh</code> ausgeführt.</p> + +<p>Es können auch gezielt einzelne Komponenten des neu erstellten Build-Pakets installiert werden, indem das Flash Skript mit den entsprechenden Parametern gestartet wird . Zum Beispiel können die Gaia Web Anwendungen durch <code>./flash.sh gaia</code> installiert werden.</p> diff --git a/files/de/archive/b2g_os/building_and_installing_firefox_os/index.html b/files/de/archive/b2g_os/building_and_installing_firefox_os/index.html new file mode 100644 index 0000000000..51b1e0f6d4 --- /dev/null +++ b/files/de/archive/b2g_os/building_and_installing_firefox_os/index.html @@ -0,0 +1,45 @@ +--- +title: Erstellen und Installieren von Firefox OS +slug: Archive/B2G_OS/Building_and_installing_Firefox_OS +translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS +--- +<p>B2GOS befindet sich derzeit in aktiver Entwicklung und ist daher im Status einer Vorveröffentlichung. Um sicher die aktuellste Version zu benutzen empfiehlt es sich B2GOS selbst zu erstellen und zu installieren. Die Artikel auf dieser Seite führen dich durch die Prozesse um B2GOS für den Emulator, ein kompatibles Endgerät, oder das <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Introduction_to_Gaia" title="Mozilla/Firefox_OS/Platform/Gaia/Introduction to Gaia">Gaia</a> Benutzer Interface im Firefox Browser, zu erstellen.</p> + +<table class="topicpage-table"> + <tbody> + <tr> + <td> + <h2 class="Documentation" id="Beschaffen_und_Erstellen_von_B2GOS">Beschaffen und Erstellen von B2GOS</h2> + + <dl> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites" title="Mozilla/Firefox_OS/Firefox OS build prerequisites">Voraussetzungen zum Erstellen von B2GOS</a></dt> + <dd>Was du vor der Ersterstellung von B2GOS brauchst und tun musst.</dd> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build" title="Mozilla/Firefox_OS/Preparing for your first B2G build">Vorbereitungen zum Erstellen von B2GOS</a></dt> + <dd>Um B2GOS zu erstellen müssen zuerst die Quelldaten heruntergeladen werden. Was du dazu tun musst und wie es funktioniert wird in diesem Artikel erklärt. </dd> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Building" title="Mozilla/Firefox_OS/Building">Erstellen von B2GOS</a></dt> + <dd>Erstellen von B2GOS für die Zielplattform.</dd> + </dl> + + <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="tag/B2G">View All...</a></span></p> + </td> + <td> + <h2 class="Community" id="Installieren_von_B2GOS_undoder_Gaia">Installieren von B2GOS und/oder Gaia</h2> + + <dl> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Choosing_how_to_run_Gaia_or_B2G" title="Mozilla/Firefox_OS/Choosing how to run Gaia or B2G">Möglichkeiten B2GOS zu testen</a></dt> + <dd>Hier wird erklärt welche verschiedenen Möglichkeiten es gibt B2GOS zu testen. Ob direkt im Browser mittels Gaia, auf dem Mobiltelefon oder im Emulator? Hier kannst du dir einen Überblick über die Möglichkeiten verschaffen.</dd> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Using_Gaia_in_Firefox" title="Mozilla/Firefox_OS/Using Gaia in Firefox">Gaia im Browser</a></dt> + <dd>Wie man Gaia im Webbrowser testet.</dd> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client" title="Mozilla/Firefox_OS/Using the B2G desktop client">B2GOS als Desktop Anwendung</a></dt> + <dd>Firefox OS kannst du in einer Desktop Anwendung die die Gaia Umgebung simuliert testen. Damit erzielst du bessere Ergebnisse als im Browser, es ist aber noch nicht so akkurat wie im Emulator.</dd> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators" title="Mozilla/Firefox_OS/Using the B2G emulators">B2GOS im Emulator</a></dt> + <dd>Eine Anleitung zur Benutzung von B2GOS im Emulator, und eine Einführung in die Auswahl des richtigen Emulators zur entsprechenden Aufgabe.</dd> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Installing_on_a_mobile_device" title="Mozilla/Firefox_OS/Installing on a mobile device">B2GOS auf deinem Gerät</a></dt> + <dd>Anleitung zur Installation von B2GOS auf Mobiltelefonen.</dd> + </dl> + </td> + </tr> + </tbody> +</table> + +<p> </p> diff --git a/files/de/archive/b2g_os/debugging/developer_settings/index.html b/files/de/archive/b2g_os/debugging/developer_settings/index.html new file mode 100644 index 0000000000..1a614927b3 --- /dev/null +++ b/files/de/archive/b2g_os/debugging/developer_settings/index.html @@ -0,0 +1,197 @@ +--- +title: Developer settings for Firefox OS +slug: Archive/B2G_OS/Debugging/Developer_settings +translation_of: Archive/B2G_OS/Debugging/Developer_settings +--- +<div class="summary"> + <p><span class="seoSummary">Die Entwicklereistellungen befinden sich in den Firefox OS Einstellungen. Dieses Panel bietet eine Vielzahl an Optionen, die das Debugging deiner Open Web Anwendung für Firefox OS erleichtern.</span> Dieser Artikel beschreibt die verfügbaren Optionen und erklärt wie diese benutzt werden können.</p> +</div> +<p>Der Einstellungsbereich für die Entwickler-Optionen wurde bewusst in einem Untermenüpunkt versteckt, um ein versehentliches Aktivieren durch unerfahrene Benutzer zu vermeiden, was eine Beeinträchtigung der Performance oder Auswirkungen auf die visuelle Darstellung von Firefox haben kann. Das Entwicklermenü sieht ähnlich aus wie auf der folgenden Darstellung gezeigt (dieses Bild wurde mit einem Geeksphone Keon mit einer im April 2014 erzeugten Version von Firefox OS 2.0 erstellt):</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/7801/developermenu-short.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p> +<p>Das Entwicklermenü kann folgendermaßen erreicht werden:</p> +<ul> + <li>In Firefox OS < 1.4 befindet sich das Entwicklermenü unter <em>Settings > Device information > More Information > Developer</em>.</li> + <li>In Firefox > 1.4 befindet sich das Entwicklermenü unter <em>Settings > Device information > More Information > Check the Developer Menu checkbox</em>. Sobald das Menü aktiviert wurde, kann es direkt unter <em>Settings > Developer</em> aufgerufen werden.</li> +</ul> +<p>Im folgenden Abschnitt werden alle Optionen einzeln vorgestellt und erklärt wie diese verwendet werden können.</p> +<div class="warning"> + <p><strong>Wichtig</strong>: Diese Tools sind hilfreich, aber können Probleme im normalen Gebrauch des Telefons versursachen. Einstellungen, die dafür bekannt sind, dass sie Probleme verursachen können, sind per default abgeschaltet. Falls du Probleme mit den Funktionen feststellen solltes, versuche die entsprechenden Funktionen wieder zu deaktivieren.</p> +</div> +<h2 id="Einstellungen_der_Developer_Tools">Einstellungen der Developer Tools</h2> +<h3 id="Debugging_via_USB">Debugging via USB</h3> +<p>Die "Remote debugging" Option aktiviert das <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">ferngesteuerte debugging</a> deines Firefox OS Gerätes. Außerdem wird die <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> Kommando-Eingabe aktiviert.<strong> </strong>In Firefox < 1.4 gibt es dafür nur ein aktivierbares Kontrollkästchen; ab Firefox 1.4 sind es drei Optionen:</p> +<ul> + <li>Inaktiv: ferngesteuertes debugging ist ausgeschaltet (default.)</li> + <li>ADB only: Erlaubt Zugriff zum Gerät durch ADB.</li> + <li>ADB and Devtools: Erlaubt Zugriff zum Gerät durch ADB und Firefox Devtools, wie den <a href="/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a>.</li> +</ul> +<h3 id="Developer_HUD">Developer HUD</h3> +<p>Ab Firefox OS 1.4, öffnet ein Berühren des Menüeintrages <strong>Developer HUD </strong>folgendes Auswahlmenü:</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/8361/Firefox%20OS%202.1%20Developer%20HUD.png" style="width: 320px; display: block; margin: 0px auto; height: 569px;"></p> +<p>Die beiden ersten Kontrollboxen (immer aktiv) sind:</p> +<ul> + <li><strong>Frames per second</strong>: Zeigt die frames pro Sekunde, wie im späteren Abschnitt <em>Frames per second</em> erklärt.</li> + <li><strong>Time to load</strong>: Zeigt die Zeit zum Laden von Information an, wie im späteren Abschnitt <em>Time to load</em> erklärt.</li> +</ul> +<p>Anschließend folgt ein Slider, mit dem weitere Entwickler-Optionen ('Developer Tools') aktiviert werden können , auch weitere Checkboxen sind verfügbar:</p> +<ul> + <li><strong>Log changes in adb</strong>: Enables logging of device changes to adb logcat.</li> + <li><strong>Show system HUD</strong>: When checked, enables the display of several different pieces of information overlaid on top of the device display.</li> + <li><strong>Warnings</strong>: Displays console warnings.</li> + <li><strong>Errors</strong>: Displays console errors.</li> + <li><strong>Security issues</strong>: Displays potential security issues.</li> + <li><strong>Reflows</strong>: Displays reflows as they occur.</li> + <li><strong><a href="/en-US/Firefox_OS/Platform/Architecture#Jank">Jank</a>/Jank threshold</strong>: Notify the phone user about occurrences of unacceptably high jank, the threshold for which can be customised.</li> + <li><strong>Unique set size</strong>: This is a measure of the memory used by an application that is unique to that application. This is the most important measurement to inform memory usage optimizations (trying to reduce the memory apps are using), but there are others. See this <a href="/en-US/Firefox_OS/Developing_Gaia/Testing_Gaia_code_changes#Performance_tests">Performance tests</a> section for more information.</li> + <li><strong>App memory</strong>: Displays information on how much memory the app is using, and allows you to enable or disable the different memory usage factors. See {{ anch("App_memory") }} below for more details.</li> +</ul> +<h4 id="Frames_per_second">Frames per second</h4> +<p>Enabling this option reports three numbers in the top left of the Firefox OS display; the values reported are an average of recent results within a sliding window, meant to be "instantaneous" but fairly accurate. As such, all numbers are "guesses":</p> +<ul> + <li>The left number is the <strong>composition rate</strong>: the estimated number of times per second Firefox OS is drawing frames to the hardware framebuffer. This is an estimate of the user-perceived framerate, and only an estimate. For example, the counter may report 60 compositions per second even if the screen is not changing. In that case the user-perceived framerate would be 0. However, when used with this caveat in mind and corroborated with other measurements, the monitor can be a useful and simple tool.</li> + <li>The middle number is the <strong>layer transaction rate</strong>, the estimated number of times per second processes are repainting and notifying the compositor. This number is mostly useful for Gecko platform engineers, but it should be less than or equal to the composition rate number on the left.</li> + <li>The right hand number is a measure of the number of pixels drawn as a percentage of the screen size. A number of 273 means the screen was painted 2.73 times. Ideally this number should be as close to 100 as possible.</li> +</ul> +<p><img alt="A screenshot of Firefox OS, showing three numbers in the top left hand corner that are measurements of app framerate." src="https://mdn.mozillademos.org/files/6889/framerate-fxos.jpg" style="width: 357px; height: 640px; display: block; margin: 0px auto;"></p> +<h4 id="Time_to_load">Time to load</h4> +<p>Firefox OS also has a tool that can help measure startup time, specifically the "first paint" time. The value shown by the tool — in the top right of the Firefox OS display — is the elapsed time between when the most recent application was launched, and an estimate of the first time that application painted its UI, in milliseconds. This number only approximates the real "first paint" time, and in particular underestimates it. However, lowering this number almost always correlates to improvements in real startup time, so it can be useful to quickly measure optimization ideas.</p> +<p><img alt="A screenshot of Firefox OS, showing a number in the top right hand corner that is a measurement of the current app startup time, in milliseconds." src="https://mdn.mozillademos.org/files/6891/startup-time-fxos.jpg" style="width: 378px; height: 640px; display: block; margin: 0px auto;"></p> +<h4 id="App_memory">App memory</h4> +<p>Displays information on how much memory the app is using, and allows you to enable or disable the different items that use memory to show much each one is using in the current app. For example, the screen shot below only has <em>App memory</em> and <em>JS objects</em> checked, and the indicator on the bottom right is showing that the Settings app is using 414.77KB for JS objects.</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/7731/memory-usage.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p> +<h3 id="Pseudo-localization">Pseudo-localization</h3> +<p>When enabled, pseudo-languages like <em>Accented English</em> and <em>Mirrored English</em> are available for selection in <em>Settings > Languages</em>. With pseudo-localizations, you can test the localizability of your code in regular Gaia builds without having to add real language resources nor having to speak a foreign language. For instance, you can make sure the layout scales well with longer strings, you can preview the app in a fake RTL language, or spot HTML elements wihout the <code>data-l10n-id</code> attribute (they will be displayed in regular English).</p> +<p><img alt="Screenshot of pseudolocales" src="http://informationisart.com/images/qps.png" style="width: 600px; height: 440px; display: block; margin: 0px auto;"></p> +<p>You can turn pseudo-localizations on by default when you build Gaia by adding the following line into <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/common-settings.json">gaia/build/config/common-settings.json</a>:</p> +<pre class="brush: json"> "devtools.qps.enabled": true</pre> +<p><strong>Note:</strong> Pseudo-localizations are generated completely dynamically, each time an app is launched. The performance and memory characteristics may be different than those of regular localizations. If you specifically want to test performance of non-English languages, <a href="/en-US/Firefox_OS/Building#Building_multilocale">build multilocale Gaia</a> with real locales.</p> +<h2 id="Graphics_settings">Graphics settings</h2> +<h3 id="Flash_repainted_area">Flash repainted area</h3> +<p>In this mode, every time a region of the screen is painted by Gecko, Gecko blits a random translucent color over the painted region. Ideally, only parts of the screen that visually change between frames will "flash" with a new color. But sometimes more area than is needed is repainted, causing large areas to "flash". This symptom may indicate that application code is forcing too much of its scene to update. It may also indicate bugs in Gecko itself.</p> +<p><img alt="A screenshot of Firefox OS with a number of transparent overlays, showing the parts of the screen repainted with each new animation frame." src="https://mdn.mozillademos.org/files/6893/paint-update-fxos.jpg" style="width: 378px; height: 640px; display: block; margin: 0px auto;"></p> +<h3 id="Enable_APZ_for_all_content_(Async_PanZoom)">Enable APZ for all content (Async Pan/Zoom)</h3> +<p>When enabled, the Async Pan/Zoom module allows panning and zooming to be performed on asynchronously, on another thread, with some noticeable differences to rendering behaviour. To find out more, read the <a href="https://wiki.mozilla.org/Platform/GFX/APZ">MozillaWiki APZ</a> article.</p> +<h3 id="Overscrolling">Overscrolling</h3> +<p>This enables and disables the behaviour in Firefox 2.1+ where the display stretches in an elastic manner when you scroll past the end of a page, then shrinks back again when you stop dragging the display. The behaviour's full name is <em>elastic overscroll</em>.</p> +<h3 id="Tiling_(was_Layers_Enable_tiles)">Tiling (was Layers: Enable tiles)</h3> +<p>Introduced in Firefox OS 1.4, this feature enables the painting of content to the screen in smaller chunks ("tiles") rather than painting the whole screen at once. This is mainly useful for platform QA work involving reducing checkerboarding and finding regression windows.</p> +<h3 id="Simple_tiling_(was_Layers_Simple_tiles)">Simple tiling (was Layers: Simple tiles)</h3> +<p>This flips between the two different content painting implementations described in the section above.</p> +<h3 id="Low-precision_painting">Low-precision painting</h3> +<p>Enabling this option makes Gecko paint a low-precision (blurry) version of the content when scrolling really fast. This is useful because it's quicker to paint, and so helps us avoid displaying blank areas (i.e. checkerboarding) while scrolling quickly. It should only be visible to the user temporarily; once the user stops scrolling we fill in the low-precision areas with high-precision content.</p> +<h3 id="Low-precision_transparency">Low-precision transparency</h3> +<p>This is an additional flag for low-precision painting, which makes the low-precision content half transparent. This makes it a little more subtle and less jarring for the user.</p> +<h3 id="Hardware_composer_(was_Enable_hardware_compositing)">Hardware composer (was Enable hardware compositing)</h3> +<p>When enabled, this setting causes the device to use its <a href="https://source.android.com/devices/graphics.html#hwc">Hardware Composer</a> to composite visual elements (surfaces) to the screen.</p> +<h3 id="Draw_tile_borders_(was_Layers_Draw_tile_borders)">Draw tile borders (was Layers: Draw tile borders)</h3> +<p>This is very similar to the {{ anch("Draw layer borders") }} option, the difference being that it also draws the borders for individual tiles as well as the borders around layers.</p> +<h3 id="Draw_layer_borders">Draw layer borders</h3> +<p>When this setting is enabled, a brightly colored border is added around all the different layers painted to the display — great for diagnosing layout issues.</p> +<p><img alt="A screenshot from Firefox OS showing an opened select form with the draw layers borders option enabled, resulting in colored borders being drawn on all the different rendered layers." src="https://mdn.mozillademos.org/files/6897/paint-layers-borders.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p> +<h3 id="Dump_layers_tree">Dump layers tree</h3> +<p>This option enables <code>layers.dump</code>, which causes a copy of the compositor's layer tree to be dumped to logcat on every frame composited to the screen; this is mainly useful for platform graphics performance work, rather than regular web development.</p> +<h3 id="Cards_View_Screenshots">Cards View: Screenshots</h3> +<p>When enabled, this specifies that app screenshots will be taken when the open apps are displayed in card view. If disabled, app icons are shown in the center of blank cards for the card view instead.</p> +<h2 id="Window_management_settings">Window management settings</h2> +<h3 id="Software_home_button">Software home button</h3> +<p>Enabling this option creates a software home button that can provide the same functionality as the equivalent hardware button if it is not available. This is intended for future use on devices that are likely to not have hardware home buttons, like tablets.</p> +<h3 id="Home_gesture">Home gesture</h3> +<p>Enabling this option allows you to swipe upwards towards the center from outside the screen to bring up the homescreen. Again, this can provide the same functionality as the equivalent hardware button if it is not available, and is intended for future use on devices that are likely to not have hardware home buttons, like tablets.</p> +<h3 id="Continuous_transition">Continuous transition</h3> +<p>This setting allows you to decide whether app keyboards open immediately or continuously (with a transition). Disabling such transition effects are useful on low end devices, when they cause performance to suffer.</p> +<h3 id="App_transition">App transition</h3> +<p>Turn this on and then off again and you will disable all app closing/opening transitions: all apps will now just show immediately, without the smooth animation, and keyboards will also open/close without animation. Like "Continuous transition enabled", this is meant for improving performance on low end devices, but it has more of an effect.</p> +<h3 id="App_suspending">App suspending</h3> +<p>If enabled, this specifies that when an app is killed in the background, it will be kept in history and reopened when you open it from homescreen/card view. If disabled, such apps are not kept in history/card view.</p> +<h2 id="Debug_settings">Debug settings</h2> +<h3 id="Log_slow_animations">Log slow animations</h3> +<p>This tool tries to help developers understand why animations are not offloaded to the compositor to be run efficiently as possible. It reports "bugs" like trying to animate elements that are too large, or trying to animate CSS properties that can't be offloaded. The messages you'll get on the device will look like the following:</p> +<pre>I/Gecko ( 5644): Performance warning: Async animation disabled because frame size (1280, 410) is bigger than the viewport (360, 518) [div with id 'views'] +</pre> +<h3 id="Geolocation_output_in_ADB">Geolocation output in ADB</h3> +<p>Enables logging of geolocation data to adb logcat. This helps with debugging both the GPS stack (namely we get NMEA callback) and MLS use.</p> +<h3 id="Wi-Fi_output_in_adb">Wi-Fi output in adb</h3> +<p>Enabling this option adds information about Wi-Fi to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p> +<h3 id="Bluetooth_output_in_adb">Bluetooth output in adb</h3> +<p>Enabling this option adds information about Bluetooth to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p> +<h3 id="Console_enabled">Console enabled</h3> +<p>When enabled, this option lets you use the <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Using_the_Remote_Web_Console" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Using_the_Remote_Web_Console">Web Console</a> in Firefox to remotely access the console output on the device; without this option enabled, the {{domxref("console.log()")}} function does nothing.</p> +<h3 id="Gaia_debug_traces">Gaia debug traces</h3> +<p>Enabling this directly enables DEBUG traces in Gaia; see {{ bug("881672") }} for more details.</p> +<div class="note"> + <p><strong>Note</strong>: Unfortunately, not every app supports this mechanism to print their debug log. Instead, they control a "DEBUG" flag in code directly, so enabling this flag does NOT ensure that you'll see all debug logs.</p> +</div> +<h3 id="Show_accessibility_settings">Show accessibility settings</h3> +<p>This enables the accessibility settings menu, subsequently found at <em>Settings > Accessibility</em>. The options contained within the accessibility settings are as follows:</p> +<h4 id="Screen_reader">Screen reader</h4> +<p>Enabling this option turns on Firefox OS's screen reader. This is technology that allows a blind person to use a Firefox OS device. Currently at a very early stage, it changes the way the standard touch events work. When the screen reader is on, you must interact with the screen as follows:</p> +<ul> + <li>Touch somewhere to focus that app (or whatever) and be alerted as to what it is. This is indicated both by audible speech output and a rectangle around the selected item. Double tap anywhere on the screen (two taps in rapid succession) to activate the item that has the rectangle around it.</li> + <li>Swipe from left to right to move sequentially through items on the screen. Items are moved through from left to right, then top to bottom, including scrolling the screen vertically if there are more items to display, and you will be alerted as to each one's name via speech output and a rectangle. Swiping right to left moves through the items in reverse order. Again, double-tap the screen to execute the currently highlighted item.</li> + <li>Do a swipe with two fingers — left, right, up or down — to scroll the screen in that direction. This is equivalent to swiping one finger across the screen in the given direction when the screen reader is not running. For example, a two-finger swipe left on the first home screen will flip to the second one, and a two-finger swipe upwards on a home screen or browser would cause the screne to scroll downwards to show more content.</li> +</ul> +<div class="note"> + <p><strong>Note</strong>: If you have turned the screen reader on and wish to disable it again, you must navigate back to the setting via these new gestures and double-tap the checkbox once it is highlighted to turn it off again. That will restore the touch screen functionality to its default behaviour.</p> +</div> +<p><strong>Note</strong>: In Firefox 1.4 and above, there is a quick toggle for the screen reader. Press volume up, then down, three times (up, down, up, down, up, down). The screen reader will instruct you to perform this same action again (volume up, down, up, down, up, down) to turn it on if it is not running, or to turn it off if it is already running. If you do not want to change the current toggle state, simply do something else. That way, you can turn it on and off at will to test your web application for accessibility without having to navigate the accessibility settings menu each time.</p> +<h4 id="Speech_volume">Speech volume</h4> +<p>A slider that controls how loud the speech is delivered.</p> +<h4 id="Speech_rate">Speech rate</h4> +<p>A slider that controls how fast the speech is delivered.</p> +<h3 id="Use_Marketplace_reviewer_certs">Use Marketplace reviewer certs</h3> +<p>TBD</p> +<h3 id="Shake_to_save_system_log">Shake to save system log</h3> +<p>TBD</p> +<h3 id="Verbose_app_permissions">Verbose app permissions</h3> +<div class="note"> + <p><strong>Note</strong>: Introduced with Firefox 2.1</p> +</div> +<p>When this is enabled, developers (and privacy enthusiasts) may modify all permissions granted to installed privileged apps, using The "App Permission" pane in the Settings app. The app sub-pages under here are updated upon enabling the setting to provide a list of each API permission is requested for in the app's manifest file, along with choices to set that permission to. For example, "Schedule Alarms" appears with choices of <em>Ask</em>, <em>Deny</em> and <em>Grant</em>. Note that some apps may be unable to deal with changed permissions. If you experience any odd behavior, consider resetting the permission or re-installing the app.</p> +<h3 id="Launch_first_time_use">Launch first time use</h3> +<p>The "Launch first time use" button runs the "First-Time Use" (FTU) program; this lets you go through the initial setup and tutorial process, and is useful when trying to debug that process, or if you want to re-configure your device from scratch.</p> +<h2 id="Software_updates">Software updates</h2> +<h3 id="Update_channel">Update channel</h3> +<p>Enables you to specify different update channels to get software updates from when your device receives OTA updates. Options are <code>nightly</code>, <code>aurora</code> ... (others?)</p> +<h3 id="Update_URL">Update URL</h3> +<p>Enables you to specify different URLs from which to receive your updates.</p> +<h2 id="Obsolete_settings">Obsolete settings</h2> +<p>This section lists settings that are no longer provided, or no longer exist in the same state, but might still be interesting if you are running an older version of Firefox OS.</p> +<h3 id="Accessibility">Accessibility</h3> +<p>In versions of Firefox earlier than newer 1.4 versions, this controls the accessibility settings, as explained in the {{ anch("Show_accessibility_settings") }} section above.</p> +<h3 id="Grid">Grid</h3> +<p>The "Grid" option, when enabled, causes the Firefox OS display to be overlaid with a grid pattern to help you gauge positioning and alignment of items. For example, below we see the Browser app running with the Grid option enabled:</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/5071/Grid.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p> +<p>The grid's heavier lines are 32 pixels apart, both horizontally and vertically.</p> +<h3 id="Show_frames_per_second">Show frames per second</h3> +<p>In Firefox OS versions older than newer 1.4, enabling this displays frames per second, as explained in the {{ anch("Frames_per_second") }} section above.</p> +<h3 id="Show_time_to_load">Show time to load</h3> +<p>In Firefox OS versions older than newer 1.4, enabling this displays time to load information, as explained in the {{ anch("Time_to_load") }} section above.</p> +<h3 id="Rocketbar_enabled">Rocketbar enabled</h3> +<p>In Firefox OS versions older than newer 1.4, this option enables the new <a href="https://groups.google.com/forum/#!topic/mozilla.dev.gaia/Nlfbrq1KMP0">Firefox Rocketbar</a> on your device, which provides a useful new way to switch between apps, search, and more. When enabled, you'll find a search icon at the top left of the device, and the RocketBar can be brought up by swiping from the top left of the device towards the bottom left.</p> +<div class="note"> + <p><strong>Note</strong>: In newer versions of Firefox OS, Rocketbar is enabled automatically and cannot be turned off.</p> +</div> +<h3 id="Contacts_debugging_output_in_adb">Contacts debugging output in adb</h3> +<p>Enabling this option adds debugging information about contacts to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p> +<h3 id="Progressive_paint_(was_Layers_Progressive_paint)">Progressive paint (was Layers: Progressive paint)</h3> +<p>This was introduced to help with debugging of the <a href="https://wiki.mozilla.org/Platform/GFX/APZ">Async Panning/Zoom module</a> (APZ) during its implementation. Now APZ implementation is complete, this option is deprecated, and will be removed from future versions (see {{ Bug("1003228") }}).</p> +<h3 id="Displayport_Heuristics">Displayport Heuristics</h3> +<ul> + <li>Default</li> + <li>Center displayport</li> + <li>Assume perfect paints</li> + <li>Taller displayport</li> + <li>Faster paints</li> + <li>No checkerboarding</li> +</ul> +<p>These options were introduced to help with debugging of the <a href="https://wiki.mozilla.org/Platform/GFX/APZ">Async Panning/Zoom module</a> (APZ) during its implementation, specifically to allow QA to experiment with different repainting heuristics to see which resulted in the least amount of checkboarding.. Now APZ implementation is complete, these options are deprecated, and will be removed from future versions (see {{ Bug("1003228") }}).</p> +<h3 id="Edges_gesture">Edges gesture</h3> +<p>Enabling this option allows you to swipe left and right from outside the screen towards the center, to navigate to the next and previous sheets (either web pages in the browser, or views inside another app.) This basically works like the browser navigator bar in Firefox, but is enabled by default in Firefox 2.1+.</p> +<h2 id="Keyboard_layouts">Keyboard layouts</h2> +<p>In addition to the developer-specific options listed above, Firefox OS < 1.4's developer settings featured keyboard layout options. These let you toggle on and off the then-experimental Chinese input methods:</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/5079/InputMethods.png"></p> +<p>As of Firefox 1.4, these options have been removed. This is because the Chinese keyboard layout implementations (zhuyin and pinyin) have now been completed.</p> +<div class="note"> + <p><strong>Note</strong>: For other keyboard layouts still under development, such as Japanese, we now have a build-time config to opt them in.</p> +</div> +<p> </p> diff --git a/files/de/archive/b2g_os/debugging/index.html b/files/de/archive/b2g_os/debugging/index.html new file mode 100644 index 0000000000..a83bb6ae67 --- /dev/null +++ b/files/de/archive/b2g_os/debugging/index.html @@ -0,0 +1,80 @@ +--- +title: Debugging on Firefox OS +slug: Archive/B2G_OS/Debugging +tags: + - B2G + - Debugging + - Firefox OS + - NeedsTranslation + - QA + - Testing + - TopicStub +translation_of: Archive/B2G_OS/Debugging +--- +<div class="summary"> + <p><span class="seoSummary">There are two main types of debugging you'll want to with Firefox OS: debugging apps, and debugging other aspects of the system.</span> This section of the site provides articles covering the different tools at your disposal to debug your Firefox OS code.</p> +</div> +<h2 id="Debugging_apps">Debugging apps</h2> +<p>When debugging your web apps, the best tool at your disposal is Mozilla's powerful <a href="/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a>, which allows you to run your apps directly on a real device or simulator, update any changes instantly, and debug them directly on the device using Mozilla's excellent <a href="https://developer.mozilla.org/en-US/docs/Tools" title="en-US/docs/Tools">developer tools</a>. This should be your first choice, especially for app/Gaia debugging.</p> +<dl> + <dt> + <a href="/en-US/Firefox_OS/Using_the_App_Manager">Using the App Manager</a></dt> + <dd> + The App Manager is a new tool available in Firefox for Desktop, which provides a number of useful tools to help you test, deploy and debug HTML5 web apps on Firefox OS phones and the Firefox OS Simulator, directly from your browser.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_OOMs">Debugging out of memory errors on Firefox OS</a></dt> + <dd> + This article describes how B2G's multiprocess architecture affects what the phone does when we run out of memory, and how to understand and debug OOM crashes.</dd> +</dl> +<h2 id="Debugging_GaiaB2G">Debugging Gaia/B2G</h2> +<p>If you want to debug code from the Gaia apps suite or B2G itself, the following tools will be of use to you.</p> +<dl> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_using_the_desktop_B2G_client" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_using_the_desktop_B2G_client">Debugging using the desktop B2G client</a></dt> + <dd> + You can use the dedicated B2G desktop application (and associated tools) to debug multiple aspects of B2G and Gaia.</dd> + <dt> + <a href="/en-US/Firefox_OS/Hacking_Firefox_OS/Quickstart_guide_to_Gaia_development">Quickstart guide to Gaia development</a></dt> + <dd> + This guide provides a very quick easy guide to developing and debugging Gaia apps, including running Gaia inside desktop Firefox, and debugging Gaia with App Manager.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb">Debugging B2G using gdb</a></dt> + <dd> + The popular gdb debugger can be used to debug Firefox OS and web apps running on a device, or on an emulator. This guide will show you how it's done.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_valgrind" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb">Debugging B2G using Valgrind</a></dt> + <dd> + Valgrind gives developers access to information about memory allocations, threads, and other information important to performance. This guide shows how to run Valgrind either on desktop B2G or select phone hardware.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Debugging/HTTP_logging#Firefox_OS_phones" title="/en-US/docs/Mozilla/Debugging/HTTP_logging#Firefox_OS_phones">Getting NSPR logs in B2G</a></dt> + <dd> + You can use NSPR logs to record HTTP and other networking.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL" title="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL">Debugging OpenGL</a></dt> + <dd> + How to debug OpenGL code on Firefox OS.</dd> +</dl> +<h2 id="General_setup_and_information"><strong>General setup and information</strong></h2> +<p>The following articles provide information on individual aspects of setup for Firefox OS development. The chances are that you won't need these, especially if you are just debugging apps using the App Manager. But we have made them available here in case you do.</p> +<dl> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings">Developer settings for Firefox OS</a></dt> + <dd> + There are a number of settings options available for developers on Firefox OS. This guide explains what they do and how to take advantage of them.</dd> + <dt> + <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">Installing and using ADB</a></dt> + <dd> + Many aspects of Firefox OS development require installation of <code>adb</code>, the Android Debug Bridge. This article explains how to do that, and shares some common useful ADB commands.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/On-device_console_logging" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/On-device_console_logging">On-device console logging</a></dt> + <dd> + How to log to console on a Firefox OS device, and how to access the resulting logs for review on your computer.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_Firefox_OS_apps_in_desktop_Firefox">Connecting a Firefox OS device to the desktop</a></dt> + <dd> + This short guide explains how to set up your Firefox OS device and your desktop so that the desktop can communicate with the device over USB.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Setting_up" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Setting_up">Setting up to debug Firefox OS code</a></dt> + <dd> + Before you can begin using most of the tools integrated into Firefox for debugging code running under Firefox OS, you need to do a little configuration work. This article explains what you need to do.</dd> +</dl> diff --git a/files/de/archive/b2g_os/debugging/installing_adb/index.html b/files/de/archive/b2g_os/debugging/installing_adb/index.html new file mode 100644 index 0000000000..9e49cc786b --- /dev/null +++ b/files/de/archive/b2g_os/debugging/installing_adb/index.html @@ -0,0 +1,70 @@ +--- +title: ADB installieren und benutzen +slug: Archive/B2G_OS/Debugging/Installing_ADB +tags: + - ADB + - B2G + - Debugging + - Firefox OS + - Installation + - mobil +translation_of: Archive/B2G_OS/Debugging/Installing_ADB +--- +<div class="summary"> + <p>Viele Aspekte der Firefox OS Entwicklung erfordern die Installation von ADB, der Android Debug Bridge. Dieser Artikel erklärt, wie das geht und zeigt einige häufig verwendete und nützliche ADB Befehle.</p> +</div> +<h2 id="ADB_Installieren">ADB Installieren</h2> +<p>ADB kann als Bestandteil des Android SDK Pakets für Mac, Linux oder Windows heruntergeladen und installiert werden - besuchen Sie dazu die <a href="http://developer.android.com/sdk/index.html">Get the Android SDK</a> Seite.</p> +<p>Bei neueren Linux Distributionen ist <code>adb </code>bereits in den Repositories verfügbar. Für Ubuntu 12.10 und neuere, führen Sie folgenden Befehl aus:</p> +<pre>sudo apt-get install android-tools-adb</pre> +<p>Oder für Fedora 18/19:</p> +<pre>sudo yum install android-tools</pre> +<p>Oder auf OSX mit <a href="http://brew.sh/">Homebrew</a>:</p> +<pre>brew install android-platform-tools</pre> +<p>Falls ihre Distribution kein Paket für <code>adb </code>zur Verfügung stellt (z.B. Ubuntu 12.04 oder Fedora 17), müssen Sie das <a class="external" href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK starter package</a> für ihre Plattform installieren (wählen Sie die Option<em> ADT Bundle</em>, nicht <em>SDK Tools Only</em>). Führen Sie dann deren Paketmanager, <code>$SDK_HOME/tools/android </code>aus und nutzen Sie dann die GUI zum Installieren von "Android SDK Platform-tools".</p> +<p>Finden Sie heraus, wo <code>adb</code> installiert wurde (üblicherweise in <code>usr/bin</code>, unter Umständen zusätzlich in <code>adt/platform-tools</code>, je nach Installationsart). Stellen Sie sicher, dieses Verzeichnis zu ihrem <code>PATH</code> hinzuzufügen. Dies erreichen Sie durch Hinzufügen der Zeile</p> +<pre>PATH=$SDK_HOME:$PATH</pre> +<p>in der Sie <code>$SDK_HOME</code> durch den Pfad ihres android sdk ersetzen, zu ihrer <code>~/.bashrc</code> oder vergleichbarem.</p> +<h2 id="Fehlerbehebung">Fehlerbehebung</h2> +<p>Wenn Sie eine 64-bit Installation verwenden, und Sie den Fehler "File not found" bei der Ausführung von 'adb' bekommen, obwohl diese Datei vorhanden ist, müssen Sie 32-bit Kompatibilitätsbibliotheken installieren. Um das mit apt zu tun:</p> +<pre>sudo apt-get install ia32-libs</pre> +<h2 id="Häufig_verwendete_ADB_Befehle">Häufig verwendete ADB Befehle</h2> +<p>Der folgende Abschnitt erklärt einige häufig verwendete, nützliche <code>adb</code> Befehle.</p> +<h2 id="Den_b2g_Prozess_neu_starten">Den b2g Prozess neu starten</h2> +<p>b2g ist das Äquivalent einer <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner </a>Anwendung die auf einem Smartphone auf einem Android-basierten Kernel ausgeführt wird. Manchmal kann ein Neustart dieser Anwendung nützlich sein; so können Sie die Anwendungsumgebung zurücksetzen ohne das Gerät neu zu starten. Sie können dies tun indem Sie folgendes in ihr Terminal eingeben, während ihr Gerät mit ihrem Computer verbunden ist (oder während der Ausführung des Debuggers):</p> +<pre>adb shell killall b2g</pre> +<h2 id="Portweiterleitung_zum_Debuggen_aktivieren">Portweiterleitung zum Debuggen aktivieren</h2> +<p>Um einfach eine Portweiterleitung zu aktivieren (zum Beispiel wenn Sie den App Manager nutzen um Apps auf ihrem Firefox OS Gerät zu debuggen), geben Sie folgenden Befehl in Ihrem Terminal ein:</p> +<pre class="language-html">adb forward tcp:6000 localfilesystem:/data/local/debugger-socket</pre> +<p>Dies müssen Sie jedesmal beim neu Starten oder Aus- und wieder Einstecken des Smartphones tun. Sie können die Socket Nummer ändern, wenn gewünscht.</p> +<h2 id="Portweiterleitung_zu_einem_lokalen_Rechner">Portweiterleitung zu einem lokalen Rechner</h2> +<p>Um Ports zu einem lokalen Rechner weiterzuleiten, müssen Sie die <a href="http://people.mozilla.org/~jmuizelaar/forward/">netcat and ssh binaries </a>herunterladen und folgende Befehle ausführen:</p> +<pre class="brush: bash"># this is an awful hack but does in fact work... +host$ adb forward tcp:7979 tcp:6969 + +# make some named pipes so that we can make a bidirectional netcat +phone$ mknod readback p +host$ mknod readback p + +# this sets up a one time use connection to back to the host +# listen on ports 6969 and 5959 and forward all the information between them +phone$ ./netcat -l -p 6969 < readback | ./netcat -l -p 5959 > readback +# connect to port 7979 (port 6969 on the device) and the local ssh server and forward all information between them +host$ ./netcat localhost 7979 < readback | ./netcat localhost 22 > readback + +# now when we connect to port 5959 on the phone it will be like connecting to ssh server on the host + +# use the netcat reversal to set up an ssh connection back to the host and forward port 9999 on the device to 'localhost:8000' (this could be anything like 'google.com:80') +phone$ ./ssh localhost -p 5959 -L 9999:localhost:8000</pre> +<p>Das wird Port 9999 auf dem Gerät zu Port 8000 des Hosts weiterleiten.</p> +<p>Alternativ können Sie einen SSH-Server (<a href="http://people.mozilla.org/~jmuizelaar/forward/dropbear">dropbear</a> und <a href="http://people.mozilla.org/~jmuizelaar/forward/host_key">host_key</a>) mit folgenden Befehlen direkt auf dem Gerät verwenden:</p> +<pre class="brush: bash">phone$ DROPBEAR_PASSWORD=root ./dropbear -p 9000 -F -v -a -r host_key ./dropbear +host$ adb forward tcp:8888 tcp:9000 +# public key authentication has been hard coded to succeed (make sure you have a public key for ssh to use) +host$ ssh -vvv root@localhost -p 8888 -R 9999:people.mozilla.org:80 +</pre> +<p>Weitere Anleitungen:</p> +<ul> + <li><a href="http://k.japko.eu/android-dropbear.html">Instructions for building dropbear</a></li> + <li><a href="http://people.mozilla.org/~jmuizelaar/forward/dropbear-b2g.patch">dropbear patch</a> to disable the crash from missing environment variables and hard code authetication sucess.</li> +</ul> diff --git a/files/de/archive/b2g_os/debugging/verbinden_eines_firefox_os_geräts_mit_dem_rechner/index.html b/files/de/archive/b2g_os/debugging/verbinden_eines_firefox_os_geräts_mit_dem_rechner/index.html new file mode 100644 index 0000000000..d82f69789d --- /dev/null +++ b/files/de/archive/b2g_os/debugging/verbinden_eines_firefox_os_geräts_mit_dem_rechner/index.html @@ -0,0 +1,41 @@ +--- +title: Connecting a Firefox OS device to the desktop +slug: Archive/B2G_OS/Debugging/Verbinden_eines_Firefox_OS_Geräts_mit_dem_Rechner +tags: + - ADB + - Firefox OS +translation_of: Archive/B2G_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop +--- +<div class="summary"> + <p><span class="seoSummary">Diese Anleitung erklärt, wie man ein Firefox OS Gerät mit dem Rechner über USB verbindet.</span></p> +</div> +<div class="note"> + <p><strong>Achtung</strong>: Um Apps auf einem Firefox OS Gerät zu debuggen und wenn auf dem Gerät Firefox 1.2+ läuft, ist der beste Weg den App Manager zu benutzen. Details können unter <a href="/en-US/Firefox_OS/Using_the_App_Manager">Benutzung des App Mangers</a> nachgelesen werden. Wird eine Version von Firefox OS kleiner 1.2 benutzt, kann man unter <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Setting_up">Einrichtung des Firefox OS Debugging Modus unter Verwendung der Entwickler Tools</a> mehr über das Standard Remote Debugging erfahren.</p> +</div> +<h2 id="Einrichtung_des_Geräts">Einrichtung des Geräts</h2> +<p>Auf deinem Firefox OS Gerät (<a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings#The_Developer_panel">see the layout</a>):</p> +<ol> + <li>öffnen der App Einstellungen, dann <code>Geräteinformationen</code> > <code>Weitere Informationen</code> > Entwickler.</li> + <li>Im Entwickler Menü "Debugging über USB" aktivieren.</li> +</ol> +<h2 id="Einrichtung_des_Rechners">Einrichtung des Rechners</h2> +<p>Um ein Gerät mit dem Rechner zu verbinden muss die <a class="external" href="http://developer.android.com/tools/help/adb.html" title="http://developer.android.com/tools/help/adb.html">Android Debug Bridge (adb)</a> installiert sein. Beachte dass das <a href="/en-US/docs/Tools/Firefox_OS_Simulator" title="/en-US/docs/Tools/Firefox_OS_Simulator">Firefox OS Simulator</a> add-on eine adb mitbringt.</p> +<p>Instructions for setting up your desktop are specific to your operating system and are detailed in point 3 of <a class="external" href="https://developer.android.com/tools/device.html" title="https://developer.android.com/tools/device.html">"Setting up a Device for Development"</a> on the Android developer site. We've listed some additional instructions below.</p> +<h3 id="Spezielle_Anweisungen_für_Mac_OS_X">Spezielle Anweisungen für Mac OS X</h3> +<p>If you're running Mac OS X, you have downloaded a package which has a name along <code>adt-bundle-mac-x86_64-20130522</code>. Put that folder into the Applications folder, so that you get <code>/Applications/adt-bundle-mac-x86_64-20130522/</code> which contains two directories: <code>eclipse</code> and <code>sdk</code>. Then you can edit your <code>~/.bashrc</code> and add</p> +<pre>export PATH="/Applications/adt-bundle-mac-x86_64-20130522/sdk/platform-tools:$PATH"</pre> +<p>(It will be ready for the next time you start your shell). You can now type on the CLI of the shell:</p> +<pre>adb devices +</pre> +<p>and it will return a list of connected devices such as:</p> +<pre>List of devices attached +AA:BB:A5:B5:AA:BB device</pre> +<h3 id="Spezielle_Anweisungen_für_Linux">Spezielle Anweisungen für Linux</h3> +<p>If you're running Linux, the vendor ID to use for Firefox OS Geeksphone devices is <code>05c6</code>, so your <code>/etc/udev/rules.d/51-android.rules</code> file should contain an entry similar to:</p> +<pre class="bash" style="font-family: monospace;"><span style="color: #007800;">SUBSYSTEM</span>=="usb", ATTR<span style="color: #7a0874; font-weight: bold;">{</span>idVendor<span style="color: #7a0874; font-weight: bold;">}</span>=="05c6", <span style="color: #007800;">MODE</span>="0666", <span style="color: #007800;">GROUP</span>="plugdev"</pre> +<h3 id="Spezielle_Anweisungen_für_Windows">Spezielle Anweisungen für Windows</h3> +<p>You can download Windows drivers for the Geeksphone from the <a href="http://www.geeksphone.com/downloads/fos/fos_usb_driver.zip" title="http://www.geeksphone.com/downloads/fos/fos_usb_driver.zip">Geeksphone website</a>.</p> +<p>Windows 8 by default will not let you install unsigned drivers. See this tutorial on <a href="http://www.craftedge.com/tutorials/driver_install_windows8/driver_install_win8.html" title="http://www.craftedge.com/tutorials/driver_install_windows8/driver_install_win8.html">"How to install an unsigned driver on Windows 8"</a>.</p> +<p>Since Windows XP Home Edition doesn't include <code>tasklist.exe</code>, Simulator won't detect the device. This can be solved downloading that file from <a href="http://www.computerhope.com/download/winxp.htm">ComputerHope website</a> and putting it in <code>Windows\System32</code> folder.</p> +<h2 id="Einrichtung_überprüfen">Einrichtung überprüfen</h2> +<p>Once you've followed these instructions, attach the device to the desktop using a USB cable, open a command prompt and type "<code>adb devices</code>" (ensuring that adb is in your path). You should see your Firefox OS device listed in the output.</p> diff --git a/files/de/archive/b2g_os/developing_firefox_os/filing_bugs_against_firefox_os/index.html b/files/de/archive/b2g_os/developing_firefox_os/filing_bugs_against_firefox_os/index.html new file mode 100644 index 0000000000..6a269b17bc --- /dev/null +++ b/files/de/archive/b2g_os/developing_firefox_os/filing_bugs_against_firefox_os/index.html @@ -0,0 +1,183 @@ +--- +title: Firefox OS Fehler melden +slug: Archive/B2G_OS/Developing_Firefox_OS/Filing_bugs_against_Firefox_OS +tags: + - Abbruch + - Bugs + - Bugzilla + - Fehler + - Firefox OS +translation_of: Archive/B2G_OS/Developing_Firefox_OS/Filing_bugs_against_Firefox_OS +--- +<div class="summary"> +<p>Dieser Artikel enthält eine Anleitung zum Melden von Fehlern zum Firefox OS Projekt, zu Gaia und zu B2G (Boot to Gecko).</p> +</div> + +<h2 id="Bugzilla">Bugzilla</h2> + +<p>Wie die meisten Mozilla-Projekte nutzen wir <a href="https://developer.mozilla.org/de/docs/Mozilla/Bugzilla">Bugzilla</a> für die Fehler- und Problemverfolgung. Du kannst Fehler an <a href="https://bugzilla.mozilla.org/">Bugzilla</a> melden, wenn Du Fehler entdeckt hast — wir haben eine <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20OS">eigene Bugzilla Kategorie (Product) für Firefox OS</a> mit Unter-Kategorien (Components) für <a href="https://developer.mozilla.org/de/Firefox_OS/Platform/Gaia">Gaia</a>, <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gonk">Gonk</a> und <a href="https://developer.mozilla.org/de/docs/Mozilla/Gecko">Gecko</a>. Du solltest diese Kategorien verwenden, um Fehler und Probleme bezüglich Firefox OS, Gaia etc. zu melden.</p> + +<h3 id="Fehler_melden">Fehler melden</h3> + +<p>Zum effektiven Melden von Fehlern und Problemen kannst Du dieses <a href="http://mzl.la/1KL4ktp">Bugzilla Template</a> verwenden. Hinweise zum Ausfüllen des Templates findest Du weiter unten.</p> + +<h3 id="Pflichtfelder_und_optionale_Felder">Pflichtfelder und optionale Felder</h3> + +<p>Die folgenden Felder in Bugzilla sind immer auszufüllen:</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col"><strong>Feld</strong></th> + <th scope="col"><strong>Beschreibung</strong></th> + </tr> + </thead> + <tbody> + <tr> + <td>Component</td> + <td>Kategorie, in die der Fehler gehört. Wenn der Fehler in keine der vorhandenen Kategorien passt kannst Du "General" verwenden.</td> + </tr> + <tr> + <td>Summary</td> + <td>Zusammenfassung, die den Fehler kurz und treffend beschreibt.</td> + </tr> + <tr> + <td>Description</td> + <td>Aussagefähige Beschreibung des Fehlers. Eine gute Fehlermeldung sollte die Schritte zum Reproduzieren (steps to reproduce, STR) des Fehlers, die erwarteten und die tatsächlichen Ergebnisse enthalten. Bitte gib auch an, wie oft dieser Fehler auftritt (z.B. wenn Du die Schritte öfter wiederholst).</td> + </tr> + <tr> + <td>Build Information</td> + <td>Gehe zu Einstellungen > Geräteinformationen > Weitere Informationen und füge folgende Informationen in die Fehlermeldung ein: Betriebssystemversion, Plattform-Version, Build-ID, Updatekanal und die Informationen zum Commit auf Git. Falls Du einen Mac oder Linux Computer mit adb hast und dort git installiert ist, dann kannst Du <a href="https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/check_versions.py">dieses Skript</a> ausführen und dessen Ergebnis in die Meldung kopieren.</td> + </tr> + <tr> + <td>Screenshots</td> + <td>Bitte füge Bildschirmfotos ein. Das kann uns helfen, den Fehler zu analysieren. Auf dem Flame Smartphone drückst Du dafür 2 Sekunden lang gleichzeitig den Ein-/Aus Schalter und die "Lautstärke runter/leiser" Taste bis auf dem Display eine Bestätigung des Bildschirmfotos angezeigt wird. Anschließend überträgst Du dieses Foto via USB auf Deinen Computer.</td> + </tr> + <tr> + <td>Video</td> + <td>Falls sich Dein Fehler auf ungewöhnliche Veränderungen des Displays bezieht die mit einem Bildschirmfoto nicht dargestellt werden können, dann mach bitte ein Video davon. Dieses Video kannst Du dann als Anhang zur Fehlermeldung hinzufügen. Du kannst das Video auch nach YouTube hochladen und die URL in die Fehlermeldung einfügen.</td> + </tr> + <tr> + <td>ADB logs</td> + <td>Falls adb auf Deinem Computer installiert ist: Schließe bitte Dein Smartphone an den Computer an und führe das Kommando |adb logcat| aus. Bitte füge das Ergebnis dieses Kommandos in eine Text-Datei ein und füge diese als Anhang zur Fehlermeldung hinzu.</td> + </tr> + </tbody> +</table> + +<p>Die folgenden Felder sind optional:</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col"><strong>Feld</strong></th> + <th scope="col"><strong>Beschreibung</strong></th> + </tr> + </thead> + <tbody> + <tr> + <td>Depends/Block</td> + <td>Zeige uns Abhängigkeiten zu anderen Fehlermeldungen.</td> + </tr> + <tr> + <td>Keywords</td> + <td>Schlüsselwörter für Bugzilla. Bestimmte Support-Abteilungen nutzen diese zur Statusverfolgung von Fehlern.</td> + </tr> + <tr> + <td>Whiteboard</td> + <td>Beinhaltet Tags. Füge beliebige Tags zur Statusverfolgung hinzu. Du solltest keine vorhandenen Tags ohne Erlaubnis löschen.</td> + </tr> + <tr> + <td>See Also</td> + <td>Hin und wieder haben Fehler Bezug zu einem anderen Fehler. Das kannst Du hier angeben.</td> + </tr> + <tr> + <td>Flags</td> + <td>Kennzeichen für die Statusverfolgung; das am häufigsten verwendete Kennzeichen in Firefox OS Fehlern ist blocking-b2g. Wenn eine Meldung als blocking-b2g gekennzeichnet ist, dann kann der Fehler die Veröffentlichung eines Releases gefährden und ist somit besonders zu beachten.</td> + </tr> + <tr> + <td>Security</td> + <td>Wenn ein Fehler die Sicherheit der persönlichen Daten gefährdet, monetäre Verluste oder ähnliches verursacht, dann solltest Du dieses Feld ankreuzen. Somit ist die Fehlermeldung nur noch für ausgewählte Mitarbeiter sichtbar.</td> + </tr> + </tbody> +</table> + +<p>Nähere Informationen zu den Bugzilla-Feldern findest Du auf <a href="https://bugzilla.mozilla.org/page.cgi?id=fields.html">Bugzilla Fields</a>.</p> + +<h3 id="Lokalisierungs-Probleme_melden">Lokalisierungs-Probleme melden</h3> + +<p>Wenn Du eine nicht übersetzte Zeichenkette siehst, dann kann das zwei Gründe haben:</p> + +<ul> + <li>Der Übersetzer hat dies bewußt nicht übersetzt. In diesem Fall melde bitte keinen Fehler!</li> + <li>Der Übersetzer konnte dies wegen eines Problems mit der Lokalisierungs-Funktion nicht übersetzen (l12y). In diesem Fall melde bitte einen Fehler.</li> +</ul> + +<h4 id="Wie_Lokalisierungs-Probleme_(l12y)_gemeldet_werden">Wie Lokalisierungs-Probleme (l12y) gemeldet werden</h4> + +<ol> + <li>Lege eine Meldung in Bugzilla an, als "Product" wählst Du 'Firefox OS'. Wähle unter "Component" die Firefox OS Komponente, in der das Lokalisierungsproblem auftritt. Trage bitte 'l12y' als Schlüsselwort in das Feld "Keyword" ein.</li> + <li>Fülle alle anderen Pflichtfelder aus.</li> +</ol> + +<h3 id="Besondere_Schlüsselwörter_(Keywords)">Besondere Schlüsselwörter (Keywords)</h3> + +<p>Die folgende Tabelle enthält Informationen zu speziellen Schlüsselwörten, die Du in Firefox OX Fehlermeldungen häufiger finden wirst.</p> + +<p><br> + Du solltest immer die Kombination Build-Version/Betriebssystem/Plattform, unter der der Fehler behoben ist, ins Kommentarfeld der Fehlermeldung eintragen bevor Du den <em>Status</em> auf <em>Verified </em>setzt. Wenn der Fehler auf allen Plattformen gemeldet ist und Du die Behebung des Fehlers nur auf einer bestimmten Plattform verifizieren kannst, dann gebe dies bitte in der Fehlermeldung an. Bitte setze den <em>Status</em> der Meldung in einem solchen Fall nicht auf <em>Verified</em>. Es müssen erst alle Plattformen erfolgreich getestet worden sein, bevor der <em>Status</em> auf <em>Verified</em> gesetzt wird.<br> + <br> + Zu guter Letzt: Falls andere Meldungen als Duplikat Deiner Meldung markiert wurden und Du Deine Meldung auf <em>Verified</em> setzt, dann prüfe diese Duplikate bitte ebenfalls und kommentiere diese Meldungen entsprechend. Oftmals markieren Entwickler eine Meldung als Duplikat obwohl der Fehler nur ähnlich, aber nicht identisch ist. Solche Fehlermeldungen können übersehen werden, wenn der Status ungeprüft auf <em>Verified</em> gesetzt wird.</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col"><strong>Keyword</strong></th> + <th scope="col"><strong>Beschreibung</strong></th> + </tr> + </thead> + <tbody> + <tr> + <td>meta</td> + <td>Zeigt an, dass eine Meldung nur zur Statusverfolgung genutzt wird. Mozilla benutz dies, um die Stati mehrerer Meldungen einer komplexeren Entwicklung in einer einzigen Meldung zu verfolgen. Meldungen mit diesem Keyword sollten von Entwicklern nicht in die Patch-Planung einbezogen werden. Bitte denk daran, dass Projektleiter und Tester dieses Keyword für die Statusverfolgung nutzen.</td> + </tr> + <tr> + <td>qablocker</td> + <td>Dieses Keyword wird benutzt, wenn eine Meldung das Testen in der Qualitätssicherung blockiert (manueller oder automatisierter Test eine neuen Entwicklung) und der Fehler daher im nächsten Projekt-Meilenstein der Beta-Phase bzw. Release-Veröffentlichung behoben sein muss.</td> + </tr> + <tr> + <td>qawanted</td> + <td>Nutze dieses Keyword für Meldungen die mehr Informationen, mehr Testfälle oder weitere Informationen zur Reproduzierbarkeit benötigen oder als Duplikat gekennzeichnet sind, ohne dass Du die duplizierte Original-Meldung finden kannst. Der über dieses Keyword angeforderte Qualitätssicherungs-Prozess wird im sogenannten Whiteboard aufgezeichnet. Wenn die Qualitätssicherung ihre Arbeit erledigt hat, sollte dieses Keyword entfernt werden.</td> + </tr> + <tr> + <td>regression</td> + <td>Dieses Keyword bedeutet, dass das Problem gelöst war und wieder aufgetreten ist (regressed). Um dieses Wiederauftreten des Problems zu verfolgen wird eine neue Meldung mit Keyword "regression" angelegt. Es wird ebenso für Fehler verwendet, die in früheren Releases behoben waren und im aktuellen Release wieder auftreten. Das Nachverfolgen dieser Probleme hilft uns fehleranfällige und instabile Bereiche zu identifizieren, die beim Testen besonders beachtet werden sollten.</td> + </tr> + <tr> + <td>regressionwindow-wanted</td> + <td>Kennzeichnet eine Meldung als "regression" Meldung bei der es sehr hilfreich wäre zu wissen, wann genau der Fehler aufgetreten ist (Zeitpunkt oder Zeitraum).</td> + </tr> + <tr> + <td>steps-wanted</td> + <td>Bei Meldungen mit diesem Keyword wäre es sehr hilfreich zu wissen, wie der Fehler reproduziert werden kann.</td> + </tr> + <tr> + <td>verifyme</td> + <td>So gekennzeichnete Probleme sollten von einem Dritten zusätzlich verifiziert werden, auch wenn der Fehler für den Melder und die Qualitätssicherung behoben zu sein scheint. Die Meldung enthält dann spezielle Angaben zur Hardware und zur Konfiguration, für die die Lösung zusätzlich noch verifiziert werden soll. Du solltest versuchen, diesen Fehler zu reproduzieren. Wenn Du dann bestätigen kannst, dass der Fehler bei Dir ebenfalls behoben ist, dann kann der <em>Status</em> von <em>Fixed</em> auf <em>Verified</em> geändert werden.<br> + </td> + </tr> + <tr> + <td>crash</td> + <td>Nutze dieses Keyword, wenn Du Abbrüche in Firefox OS bekommst.</td> + </tr> + </tbody> +</table> + +<div class="note"> +<p><strong>Hinweis</strong>: Weitere Informationen erhälst Du auf der Seite <a href="/de/docs/Mozilla/QA/Bug_writing_guidelines">Bug writing guidelines</a>. Das Mozilla <a href="https://wiki.mozilla.org/B2G/QA">B2G QA Wiki</a> enthält zudem nützliche Informationen zum Melden von Firefox OS Fehlern; die hilfreichsten Seiten sind <a href="https://wiki.mozilla.org/B2G/QA/Bugzilla">Bugzilla Usage</a> und <a href="https://wiki.mozilla.org/Bugmasters/Projects/FirefoxOS">Incoming bug triage for Firefox OS</a>.</p> +</div> + +<div class="note"> +<p><strong>Hinweis</strong>: Nähere Informationen zum Umgang mit Fehlern in der Gaia-Entwicklung findes Du auf <a href="/en-US/Firefox_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a>.</p> +</div> + +<p> </p> diff --git a/files/de/archive/b2g_os/developing_firefox_os/index.html b/files/de/archive/b2g_os/developing_firefox_os/index.html new file mode 100644 index 0000000000..29f0a9c290 --- /dev/null +++ b/files/de/archive/b2g_os/developing_firefox_os/index.html @@ -0,0 +1,26 @@ +--- +title: Hacking Firefox OS +slug: Archive/B2G_OS/Developing_Firefox_OS +translation_of: Archive/B2G_OS/Developing_Firefox_OS +--- +<div class="summary"> + <p>This section provides some useful articles covering different ways in which the Firefox OS experience can be modified/customized during the build or app writing process.</p> +</div> +<dl> + <dt> + <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Tips_and_tricks/modifying_hosts_file" title="/en-US/docs/Mozilla/Firefox_OS/Tips_and_tricks/modifying_hosts_file">Modifying the hosts file</a></dt> + <dd> + A guide to what can be achieved by modifying the Firefox OS hosts file.</dd> + <dt> + <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a></dt> + <dd> + How to customize the build and execution of Firefox OS by changing the <code>.userconfig</code> file.</dd> + <dt> + <a href="/en-US/docs/Firefox_OS/Hacking_Firefox_OS/Localizing_Firefox_OS" title="/en-US/docs/Firefox_OS/Hacking_Firefox_OS/Localizing_Firefox_OS">Localizing Firefox OS</a></dt> + <dd> + A guide to localising the Firefox OS platform, making it available in your preferred languages.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Hacking_Firefox_OS/Customizing_the_keyboard">Customizing the keyboard in Firefox OS apps</a></dt> + <dd> + This guide shows how to customize the keyboard in your Firefox OS apps.</dd> +</dl> diff --git a/files/de/archive/b2g_os/firefox_os_build_prerequisites/index.html b/files/de/archive/b2g_os/firefox_os_build_prerequisites/index.html new file mode 100644 index 0000000000..0c2f90d39c --- /dev/null +++ b/files/de/archive/b2g_os/firefox_os_build_prerequisites/index.html @@ -0,0 +1,446 @@ +--- +title: Firefox OS build prerequisites +slug: Archive/B2G_OS/Firefox_OS_build_prerequisites +translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites +--- +<p>Vor dem Holen des Codes zum Bauen von Firefox OS benötigt man ein geeignet konfiguriertes <a href="https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions" title="https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions">Build-System</a>. Im folgenden wird dieser Vorgang beschrieben. Zur Zeit eignen sich 64-bit-Linux-Distributionen und Mac OS X.</p> +<div class="note"> + <p><strong>Anmerkung:</strong> Wenn man Firefox OS auf ein Telefon installieren will, beginnt man, ohne das Telefon an den Computer angeschlossen zu haben. Im Text wird dann später erklärt, wann man das Telefon anschließen muß.</p> +</div> +<h2 id="Kompatibles_Gerät_oder_Emulator_besorgen">Kompatibles Gerät oder Emulator besorgen</h2> +<p><span id="answer_long0" style="display: block;">Das System kann nur für ein kompatibles Gerät (i.a. ein Smartphone) oder einen Emulator gebaut werden. Obwohl wir diverse Geräte unterstützen, gibt es für einige von diesen unterschiedliche Ausführungen. Von diesen Ausführungen unterstützen wir zur Zeit nur bestimmte, und außerdem werden einige Geräte besser unterstützt als andere.</span></p> +<div class="note"> + <p><span style="display: block;"><strong>Anmerkung:</strong> Mozillas <a href="https://github.com/mozilla-b2g/B2G">B2G-Quellcode</a> ist die Referenzimplementation von B2G, aber Telefonherstellern ist es freigestellt, Fehlerkorrekturen ("Patches") hinzuzufügen oder andere Änderungen vorzunehmen. Wenn man zum Beispiel ein Alcatel One Touch kauft, läuft darauf eine herstellerspezifische Version. Das ist für die installierten Apps irrelevant, aber unter Umständen kann es auf Plattform-Ebene Unterschiede geben. Die Version für das Nexus-4 ("Nexus 4 Port") wird direkt von Mozilla gepflegt, also ist es viel wahrscheinlicher, dass dieses Telefon mit unserer Gecko-Version auf Anhieb funktioniert, als zum Beispiel bei Rang-3-Geräten.</span></p> +</div> +<h3 id="Rang_1_(Tier_1)">Rang 1 (Tier 1)</h3> +<p>Tier-1-Geräte werden bei der Entwicklung bevorzugt und sind typischerweise die ersten, die Fehlerkorrekturen ("bugfixes") und Erweiterungen ("feature updates") erhalten.</p> +<dl> + <dt> + Keon</dt> + <dd> + Keon ist ein Gerät der FIrma <a href="http://www.geeksphone.com/" title="http://www.geeksphone.com/">Geeksphone</a> und eines der ersten Entwicklertelefone. Beachte, dass Binärpakete ("builds") für diese Geräte von Geeksphone bereitgestellt werden.</dd> + <dt> + Inari</dt> + <dd> + Inari ist ein weiteres Testgerät. Benutze diese Konfiguration, um FirefoxOS für die ZTE-Open-Geräte zu bauen. <strong>Warnung:</strong> Neuere Firefox-OS-Builds könnten auf ZTE Open Probleme beim Booten von der Standard-Boot-Partition machen.</dd> + <dt> + Flame</dt> + <dd> + Flame is Mozillas neues Standard-Referenztelefon für Firefox OS. Die Konfiguration für Flame sollte auch verwendet werden, wenn man für das Gerät ZTE Open C baut, weil beide Geräte auf der Android-Jellybean-Basis aufbauen.</dd> + <dt> + </dt> + <dt> + <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators" title="en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators">Emulatoren (ARM und x86)</a></dt> + <dd> + Zur Zeit gibt es zwei Emulatoren, einen für die Emulation eines ARM-Prozessors und einen für die Emulation eines x86-Prozessors. <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators" title="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators">Hier erfährt man mehr über die Installation und die Verwendung der Emulatoren</a>.</dd> + <dd> + <strong>Achtung: Der x86-Emulator ist derzeit nicht praxistauglich, sowohl was die Installation angeht als auch die Unterstützung.</strong></dd> + <dt> + </dt> + <dt> + <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client">Desktop</a></dt> + <dd> + Man kann auch eine Version von Firefox OS für Desktop-Rechner bauen; diese führt <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Gecko" title="/en-US/docs/Mozilla/Gecko">Gecko</a> in einer <a href="https://developer.mozilla.org/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a>-Anwendung aus und darin Benutzerumgebung <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Introduction_to_Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Introduction_to_Gaia">Gaia</a>.</dd> + <dt> + Flatfish</dt> + <dd> + Flatfish ist das erste für Firefox OS entwickelte Tablet, auf dem jedoch einige Telefoniefunktionen fehlen. Es werden ein paar <a href="https://github.com/flatfish-fox/flatfish-kernel">spezielle Einstellungen</a> benötigt, um den Code zu bauen.</dd> +</dl> +<p>Natürlich kann man den <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client" title="en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client">Desktop-Client</a> und die <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators" title="en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators">Emulatoren</a> auch bauen, ohne ein Telefon zu benutzen.</p> +<h3 id="Rang_2_(Tier_2)">Rang 2 (Tier 2)</h3> +<p><span id="answer_long1" style="display: block;">Bei den Tier-2-Geräten ist die Grundfunktionalität gegeben, und viele Entwickler, insbesondere App-Entwickler, arbeiten damit, daher sind es üblicherweise die nächsten Geräte (nach Tier-1), für die Änderungen bereitgestellt werden.</span></p> +<dl> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Samsung_Nexus_S" title="/en-US/docs/Mozilla/Firefox_OS/Samsung_Nexus_S"><span class="link-https">Samsung Nexus S</span></a></dt> + <dd> + Die einzigen Varianten dieses Smartphones, von denen bekannt ist, daß sie mit Firefox OS funktionieren, sind GT-I9020A (mit Amoled-Bildschirm) and GT-I9023 (Billigmodell mit LCD). Möglicherweise funktionieren aber auch weitere.</dd> + <dt> + Samsung Nexus S 4G</dt> + <dd> + The SPH-D720 is supported as a tier 2 device.</dd> +</dl> +<h3 id="Rang_3_(Tier_3)">Rang 3 (Tier 3)</h3> +<p><span id="answer_long1" style="display: block;">Man kann Firefox OS für diese Geräte bauen, aber die Hauptentwickler verwenden sie nicht regelmäßig. Bezüglich Stabilität, Zuverlässigkeit und Funktionsvielfalt stehen sie daher den Tier-1- und Tier-2- Geräten möglicherweise nach.</span></p> +<dl> + <dt> + Samsung Galaxy S2</dt> + <dd> + Nur die Variante i9100 funktioniert, keine andere, zumindest nicht offiziell (i9100P könnte auch funktionieren, da sie sie sich nur durch einen zusätzlichen NFC-Baustein unterscheidet.)</dd> + <dt> + Samsung Galaxy Nexus</dt> + <dd> + Zur Zeit ist keine Variante bekannt, die nicht funktioniert.</dd> + <dt> + Nexus 4</dt> + <dd> + Einige Anwender haben laut IRC dieses Gerät mit Erfolg getestet. Möglicherweise muß man für den Fall, daß man Android 4.4 installiert hat, vorher auf 4.3 zurückgehen (Android- <a href="https://developers.google.com/android/nexus/images#occamjwr66y">Betriebssystem-Images sind bei Google erhältlich</a>)</dd> + <dt> + Nexus 5</dt> + <dd> + Einige Anwender haben laut IRC dieses Gerät mit Erfolg getestet.</dd> + <dt> + Tara</dt> + <dd> + Tara ist ebenfalls ein Testgerät. Das "Manifest" für Tara existiert nur im "master branch". Um den Tara-Code zu erhalten, ruft man folgendes Script auf: "BRANCH=master ./config.sh tara".</dd> + <dt> + Unagi</dt> + <dd> + Unagi ist ein Telefon, das als Test- und Entwicklungsplattform für einfache bis Mittelklasse- Smartphones verwendet wird. Viele Core-Firefox-OS-Entwickler arbeiten auf Unagi.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Pandaboard" title="/en-US/docs/Mozilla/Firefox_OS/Pandaboard">Pandaboard</a></dt> + <dd> + Das Pandaboard ist eine Entwicklungsplatine ("Board"), die auf der OMAP-4-Architektur basiert, und wird verwendet, um auf mobilen Plattformen zu entwickeln.</dd> +</dl> +<div class="warning"> + <strong>Wichtig</strong>: Nur solche Geräte werden unterstützt, auf denen mindestens <strong>Android 4</strong> (alias <strong>Ice Cream Sandwich</strong>) lauffähig ist. Für den Fall, daß ein Gerät oben aufgeführt ist, aber ein älteres Android-System installiert ist, muß man erst eine neuere Android-Version installieren.</div> +<div class="note"> + <p>Bemerkung: Tier-2 und Tier-3-Geräte haben einen virtuellen, d.h durch Software dargestellten, Home-Button anstelle eines physikalischen.</p> + <p>Alle Tier-1-Geräte haben dagegen einen physikalischen "Home"-Button, mit dem man bei Betätigen stets auf den Startbildschirm zurückkehrt. Die meisten Android-Geräte für Version 4 oder später haben einen auf dem Bildschirm dargestellten "Home"-Button. Auch Firefox OS kann solch eine Schaltfläche darstellen; sie wird automatisch bei entsprechenden Geräten aktiviert. Wenn dies versagen sollte, muß man die Einstellungen öffnen und zu den Geräteinformationen navigieren, dort dann "<span style="line-height: 1.5em; font-size: 14px;">Weitere Informationen" öffnen und "Entwicklermenü" einschalten (falls noch nicht geschehen). Dann wieder zurück zu den Einstellungen navigieren und das Entwickler-Menü öffnen, dort "Software-Startschaltfläche" einschalten.</span></p> +</div> +<h2 id="Anforderungen_für_Linux">Anforderungen für Linux</h2> +<p>Um auf Linux bauen zu können, benötigt man:</p> +<ul> + <li>eine installierte <strong>64bit GNU/Linux</strong>-Distribution (wir empfehlen Ubuntu 12.04).</li> + <li>mindestens <strong>4 GB</strong> RAM/swap</li> + <li>mindestens <strong>20 GB</strong> verfügbaren Massenspeicher</li> +</ul> +<p>Das ist zwar etwas mehr, als tatsächlich benötigt wird, aber mitunter kommt es vor, daß der Erstellungsprozeß gerade deswegen fehlschlägt, weil ein wenig Speicher fehlt.</p> +<p>Außerdem werden folgende Dienstprogramme benötigt und müssen ggf. nachinstalliert werden:</p> +<ul> + <li><strong>autoconf 2.13</strong></li> + <li><strong>bison</strong></li> + <li><strong>bzip2</strong></li> + <li><strong>ccache</strong></li> + <li><strong>curl</strong></li> + <li><strong>flex</strong></li> + <li><strong>gawk</strong></li> + <li><strong>git</strong></li> + <li><strong>gcc / g++ / g++-multilib</strong></li> + <li><strong>make</strong></li> + <li><strong>OpenGL shared libraries</strong></li> + <li><strong>patch</strong></li> + <li><strong>X11 headers</strong></li> + <li><strong>32-bit ncurses</strong></li> + <li><strong>32-bit zlib</strong></li> +</ul> +<h3 id="Installation_im_Falle_eines_64-Bit-Linux">Installation im Falle eines 64-Bit-Linux</h3> +<p>Im folgenden werden die Kommandos aufgeführt, mit denen man die notwendigen Programmpakete für das Bauen von Firefox OS installieren kann.</p> +<h4 id="Ubuntu_12.04_Linux_Mint_13_Debian_6">Ubuntu 12.04 / Linux Mint 13 / Debian 6</h4> +<p>Diese Kommandos in einem Terminal-Fenster ausführen:</p> +<pre class="language-html"><code class="language-html">sudo apt-get update +sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip</code></pre> +<p>Für den Fall, daß Firefox OS für das Referenzgerät <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/Flame">"Flame"</a> oder Nexus 5 gebaut wird, diese Kommandos auführen:</p> +<p><code class="language-html">sudo apt-get install libxml2-utils</code></p> +<p>Ein Java-Entwicklungspaket ("JDK") kann von <a href="http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html">dieser Paketquelle (ppa</a>) installiert werden.</p> +<p>Bitte auch die obigen Anmerkungen berücksichtigen, die die Probleme beschreiben, die auftreten, wenn man für einen Emulator baut!</p> +<h4 id="Ubuntu_12.10_Debian_7">Ubuntu 12.10 / Debian 7</h4> +<p>Das folgende Kommando im Terminal-Fenster ausführen:</p> +<pre>$ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip</pre> +<p>Zusätzlich zu den oben erwähnte Schwierigkeiten beim Bauen für einen Emlator tritt hier noch das Problem auf, daß standardmäßig der Compiler in der Version gcc-4.7 verwendet wird, welcher den Compiliervorgang mit folgender Fehlermeldung abbricht:</p> +<p>"<code>KeyedVector.h:193:31: error: indexOfKey was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"</code></p> +<p>Um diesen Fehler zu beheben, muß man auf die ältere Version gcc-4.6 als Standard-Compiler zurückgehen, und zwar am besten unmittelbar, nachdem man die Quellen für B2G heruntergeladen hat. Der Vorgang wird in der Anleitung "<a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">Changing the default host compiler</a>" (engl.) beschrieben.</p> +<p class="note">Bei einer unveränderten Ubuntu-12.10-Version gibt es eine Fehlermeldung wegen nicht erfüllter Abhängigkeiten der Systembibliotheken "ia32-libs". Dies wird mit diesen Befehlen behoben:</p> +<pre>sudo dpkg --add-architecture i386 +sudo apt-get update +sudo apt-get install ia32-libs</pre> +<h4 id="Ubuntu_13.04">Ubuntu 13.04</h4> +<p>Die folgenden Kommandos sind im Terminal-Fenster auszuführen:</p> +<pre>$ sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip</pre> +<p>Auch hier muß von gcc-4.7 auf gcc-4.6 zurückgegangen werden, wie oben für Ubuntu 12.10 beschrieben.</p> +<h4 id="Ubuntu_13.10">Ubuntu 13.10</h4> +<p>With Ubuntu 13.10, multi-arch packages are now the main way to support multiple architectures (e.g. 32-bit on a 64-bit install). You must tell your Ubuntu system that you want to support 32-bit packages as well:<br> + </p> +<pre class="language-html"><code class="language-html">sudo dpkg --add-architecture i386 +sudo apt-get update</code></pre> +<p>Once you've completed that, then you can install the necessary packages:</p> +<pre class="language-html" style="font-family: 'Open Sans', sans-serif; line-height: 21px;"><code class="language-html">sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip libxml2-utils + +sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 1 + +sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 2 + +sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 1 + +sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 2 + +sudo update-alternatives --set gcc "/usr/bin/gcc-4.6" + +sudo update-alternatives --set g++ "/usr/bin/g++-4.6"</code></pre> +<p>you can install the jdk via <a href="http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html">this ppa</a>.</p> +<h4 id="Ubuntu_14.04">Ubuntu 14.04</h4> +<p>Follow the instructions given for Ubuntu 13.10.</p> +<h4 id="Fedora_1920">Fedora 19/20</h4> +<p>Run the following command in Terminal:</p> +<pre class="note language-html"><code class="language-html">sudo yum install autoconf213 bison bzip2 ccache curl flex gawk gcc-c++ git glibc-devel glibc-static libstdc++-static libX11-devel make mesa-libGL-devel ncurses-devel patch zlib-devel ncurses-devel.i686 readline-devel.i686 zlib-devel.i686 libX11-devel.i686 mesa-libGL-devel.i686 glibc-devel.i686 libstdc++.i686 libXrandr.i686 zip perl-Digest-SHA wget</code></pre> +<p>The project should build correctly using the default compiler shipped with Fedora but if you encounter compilation errors you might need to install GCC 4.6.x:</p> +<ul> + <li><a href="http://people.mozilla.org/%7Egsvelto/gcc-4.6.4-fc19.tar.xz">Pre-compiled GCC 4.6.x for Fedora 19/20</a></li> +</ul> +<p>Download the tarball then install it to <code>/opt,</code> with the following command on Fedora 19/20:</p> +<pre class="note language-html"><code class="language-html">curl -O http://people.mozilla.org/~gsvelto/gcc-4.6.4-fc19.tar.xz +sudo tar -x -a -C /opt -f gcc-4.6.4-fc19.tar.xz</code></pre> +<p>To use GCC 4.6.x as the default host compiler you will have to set it explicitly after having retrieved the B2G sources: read <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">Changing the default host compiler</a> to find out how to do it.</p> +<h4 id="Arch_Linux"><strong>Arch Linux</strong></h4> +<p>Run the following command in Terminal:</p> +<pre class="note language-html"><code class="language-html">sudo pacman -S --needed alsa-lib autoconf2.13 bison ccache curl firefox flex gcc-multilib git gperf libnotify libxt libx11 mesa multilib-devel wget wireless_tools yasm zip lib32-mesa lib32-mesa-libgl lib32-ncurses lib32-readline lib32-zlib</code></pre> +<p>To install the lib32-* packages you need to have the multilib repository enabled.</p> +<p>B2G <a href="https://developer.mozilla.org/en-US/Firefox_OS/Building#KeyedVector.h.3A193.3A31.3A_error.3A_indexOfKey_was_not_declared_in_this_scope">can only be compiled with gcc4.6.4</a>, and because Arch Linux always has bleeding edge software you will need to install <a href="https://aur.archlinux.org/packages/gcc46-multilib">gcc46-multilib from AUR</a>. Note that you will have to edit the PKGBUILD and add <code>staticlibs</code> to the <code>options</code> array, or gcc will be unable to compile B2G and give you a <code>cannot find -lgcc</code> error when compiling. You will also need to add the following to your <code>.userconfig</code> file:</p> +<pre class="language-html"><code class="language-html">export CC=gcc-4.6.4 +export CXX=g++-4.6.4</code></pre> +<p>By default, Arch Linux uses Python3. You'll have to force it to use the old python2. You can do that by linking the python2 executable to python but this is discouraged and considered error-prone. This will also break python 3 if it is installed on your system. A better way is to use <code>virtualenv</code>/<code>virtualenvwrapper</code>:</p> +<pre class="language-html"><code class="language-html">sudo pacman -S python-virtualenvwrapper +source /usr/bin/virtualenvwrapper.sh +mkvirtualenv -p `which python2` firefoxos +workon firefoxos</code></pre> +<p>Android will complain that you need make 3.81 or make 3.82 instead of 4.0. You can download <a href="https://aur.archlinux.org/packages/make-3.81/">make 3.81 from AUR</a>. This will install the make-3.81 binary on your path, you need to create a symlink named make to a location earlier in the PATH variable for the build to use the correct version.</p> +<pre class="language-html"><code class="language-html">mkdir -p ~/bin +ln -s `which make-3.81` ~/bin/make +export PATH=~/bin:$PATH</code></pre> +<p>Android also needs the Java6 SDK and Arch only has Java7. Unfortunately the aur build is broken, but you can still download the <a href="http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR">Java 6 SDK</a> and install it manually. You will then need to put it in your path.</p> +<pre class="language-html"><code class="language-html">cp ~/Downloads/jdk-6u45-linux-x64.bin /opt +su +cd /opt +chmod +x jdk-6u45-linux-x64.bin +./jdk-6u45-linux-x64.bin +exit +ln -s /opt/jdk1.6.0_45/bin/java ~/bin/java</code></pre> +<h4 id="Gentoo_Linux"><strong>Gentoo Linux</strong></h4> +<h5 id="Installing_ccache">Installing ccache</h5> +<p>You will need to install <strong><a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=3#doc_chap3">ccache</a></strong>, a tool for caching partial builds.</p> +<pre class="language-html"><code class="language-html"># emerge -av ccache</code></pre> +<p>Because ccache is known to frequently cause support issues, Gentoo encourages you to use it <em>explicitly</em> and <em>sparingly</em>.</p> +<p>To enable the required use of ccache, on <em>the subsequent step</em> of this guide where the <code>./build.sh</code> script is called, Gentoo users should instead run the command with an explicitly extended path, ie.</p> +<pre class="language-html"><code class="language-html">PATH=/usr/lib64/ccache/bin:$PATH ./build.sh</code></pre> +<h5 id="Generating_Partition_Images">Generating Partition Images</h5> +<p>If you are building B2G for actual physical hardware, then you may at some point also wish to generate some partition images for upload to your device. (For example, to restore backed up files to the device via the <strong><em>fastboot</em></strong> utility)</p> +<p>The filesystem image format used in this case is YAFFS2 (Yet Another Filesystem 2). Gentoo has support for the very latest (ie. git HEAD) <code>yaffs2-utils</code> userland package in portage. (Note: You will also need kernel patches if you want to mount YAFFS2 images, but this is not really required since you can deconstruct and rebuild them instead.)</p> +<pre class="language-html"><code class="language-html"># emerge --autounmask-write yaffs2-utils; etc-update; emerge -av yaffs2-utils</code></pre> +<p>In order to generate such an image, simply change to the parent directory of the partition filesystem tree you wish to package, and issue a command like this:</p> +<pre class="language-html"><code class="language-html">mkyaffs2image system/ system.img</code></pre> +<h2 id="sect1"> </h2> +<h2 id="Anforderungen_für_Mac_OS_X">Anforderungen für Mac OS X</h2> +<p>Um Firefox OS unter Mac OS X zu bauen, benötigt man etwas Vorarbeit, die unten detailiert beschrieben ist. Außerdem werden typische Irrtümer und Fehler und ihre Lösungen erläutert.</p> +<div class="note"> + <p><strong>Anmerkung: Das Bauen (und Konfigurieren der Quellen) von B2G für das Gerät Keon funktioniert nicht auf einem Mac OS-Rechner</strong>. Stattdessen muß man unter Linux bauen, ggf. auf demselben Rechner, auf dem auch Mac OS läuft.</p> +</div> +<h3 id="Passende_XCode-Versionen_für_Mac_OS_10.9"><strong>Passende XCode-Versionen</strong> für Mac OS 10.9</h3> +<p>XCode 4.2 oder älter sind nicht kompatibel mit OS X 10.9 ("Mavericks") und fallen daher ganz aus. Ansonsten gilt, daß man den ICS-Emulator nicht mit OS X 10.9 oder neuer bauen kann, und für das Gerät "flatfish" scheitert das Bauen mit allen Entwicklungsumgebungen der Versionen XCode 5.x.</p> +<table class="standard-table"> + <caption> + Version compatibility of OS X 10.9.x</caption> + <tbody> + <tr> + <td> </td> + <td>emulator (ICS)</td> + <td>flatfish/vixen (JB-4.2)</td> + <td>emulator-jb (JB-4.3)</td> + <td>emulator-kk (KitKat-4.4)</td> + </tr> + <tr> + <td>XCode 4.3.3</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + </tr> + <tr> + <td>XCode 4.4.1</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">O[1]</td> + <td style="text-align: center;">O</td> + <td style="text-align: center;">O</td> + </tr> + <tr> + <td>XCode 4.5.2</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">O[1]</td> + <td style="text-align: center;">O</td> + <td style="text-align: center;">O</td> + </tr> + <tr> + <td>XCode 4.6.3</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">O[1]</td> + <td style="text-align: center;">O</td> + <td style="text-align: center;">O</td> + </tr> + <tr> + <td>XCode 5.0.2</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">O</td> + <td style="text-align: center;">O</td> + </tr> + <tr> + <td>XCode 5.1.1</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">O</td> + <td style="text-align: center;">O</td> + </tr> + <tr> + <td>XCode 6.0.1</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + </tr> + <tr> + <td>XCode 6.1beta2</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + <td style="text-align: center;">X</td> + </tr> + </tbody> +</table> +<ol> + <li>You must have environment variable <strong>BUILD_MAC_SDK_EXPERIMENTAL=1</strong> exported to build flatfish/vixen.</li> +</ol> +<h3 id="Install_XCode_Command_Line_Utilities"><strong>Install XCode Command Line Utilities</strong></h3> +<p>You need to install Xcode's Command Line Utilities. You can download <em>just</em> the Command Line Utilities from <a href="https://developer.apple.com/downloads/" title="https://developer.apple.com/downloads/">Apple's developer downloads page</a> for your particular version of OS X, however if you would like the entire Xcode suite of applications, you can <a class="external" href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" style="line-height: 1.572;" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">install Xcode</a><span style="line-height: 1.572;"> through the Mac App Store. </span></p> +<p>Xcode 4.3.1 (OS X 10.7 "Lion") and other newer versions such as 4.4.1+ (that is, Mac OS X10.8 "Mountain Lion"), won't necessarily include the required Command Line Utilities. When you install Xcode, make sure to go into Preferences, then the Downloads panel, and install the Command Line Utilities. In addition, make sure you have at least 20 GB of free disk space.</p> +<p><img alt="Screenshot of Xcode Downloads Command Line Tools" src="/files/4557/xcode_downloads_command_line_tools.png" style="width: 750px; height: 528px;"></p> +<div class="note"> + <strong>Note:</strong> The Firefox OS emulator requires a Core 2 Duo processor or later; that is, a system that is compatible with Mac OS X 10.7 "Lion." You do not actually have to be running Lion, you just have to be compatible with it. You can, however, build any Firefox OS build on many older Macs.</div> +<h3 id="Run_Firefox_OS_Mac_Bootstrap">Run Firefox OS Mac Bootstrap</h3> +<p>Next, open a terminal and run the following command:</p> +<pre class="brush: bash">curl -fsSL https://raw.github.com/mozilla-b2g/B2G/master/scripts/bootstrap-mac.sh | bash</pre> +<p>This will pull and run a bootstrap script that makes sure you have all the prerequisites met to build the emulator. It will also prompt you for permission to install anything you're missing, and provide warnings and suggested fixes to problems. The script will check for and install the following items:</p> +<ul> + <li><code>git</code></li> + <li><code>gpg</code></li> + <li><code>ccache</code></li> + <li><code>yasm</code></li> + <li><code>autoconf-213</code></li> + <li><code>gcc-4.6</code></li> + <li><code>homebrew</code></li> +</ul> +<h4 id="Xcode_wrangling">Xcode wrangling</h4> +<p>If you have already upgraded to Xcode 4.4+ and get the message that Xcode is outdated, check the Xcode path with:</p> +<pre>xcode-select -print-path</pre> +<p>If it still points to <code>/Developer</code> you can update the path with:</p> +<pre>sudo xcode-select -switch /Applications/Xcode.app</pre> +<h4 id="Making_the_Mac_OS_X_10.6_SDK_available">Making the Mac OS X 10.6 SDK available</h4> +<p>You also need to have the Mac OS X 10.6 SDK available. The SDK needs to be available at</p> +<pre>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre> +<p>If it cannot be found there you will need to extract and copy it from Xcode 4.3. To do this:</p> +<ol> + <li>Download the XCode 4.3 .dmg file from the <a class="external" href="https://developer.apple.com/downloads/index.action">Apple Developer</a> portal (you'll need an <a href="https://developer.apple.com/register/index.action" title="https://developer.apple.com/register/index.action">Apple Developer account</a>).</li> + <li>Download the utility <a href="http://www.charlessoft.com/" title="http://www.charlessoft.com/">Pacifist</a> and use it to extract the 10.6 SDK from the XCode 4.3 .dmg file. Click on the "Extract Package" button, find the SDK by searching for 10.6 in the search box, then <em>Ctrl + click</em> on the MacOSX10.6.sdk directory and Extract it to a suitable location.</li> + <li>Add a symlink from the 10.6 SDK location to the <code>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</code> directory. For example, if you put the 10.6 SDK on your desktop, the comment would be</li> +</ol> +<pre>ln -s /Users/<em><yourusername></em>/Desktop/MacOSX10.6.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre> +<div class="note"> + <p><strong>Note</strong>: We can drop the 10.6 SDK requirement after <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=784227" title="https://bugzilla.mozilla.org/show_bug.cgi?id=784227">bug 784227</a> has been fixed, and our version of <a href="https://github.com/mozilla-b2g/B2G/issues/189" title="https://github.com/mozilla-b2g/B2G/issues/189">platform_build has been updated</a>.</p> +</div> +<h3 id="Be_aware_of_Mac_file_system_case_sensitivity">Be aware of Mac file system case sensitivity</h3> +<p>By default, Mac OS X ships with a case-insensitive file system. This is problematic because the Linux kernel has a number of files with the same name, but different case. For example, see the header files <code>xt_CONNMARK.h</code> and <code>xt_connmark.h</code>. This results in a number of files appearing to be modified in <code>/kernel</code> after a fresh <code>./config.sh</code>.</p> +<p>In many cases you can run the build just fine; for some platforms, however, you may encounter the following error:</p> +<pre><span class="quote">ERROR: You have uncommited changes in kernel +You may force overwriting these changes +with |source build/envsetup.sh force| + +ERROR: Patching of kernel/ failed.</span></pre> +<p><span class="quote">Please see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=867259" title="https://bugzilla.mozilla.org/show_bug.cgi?id=867259">bug 867259</a></span> for more discussion and possible fixes for this problem.</p> +<p>Alternatively, it will always be safest to build on a case sensitive file system. The easiest way to do this is to create a separate, mountable disk image with case-sensitivity enabled. You can do this using Apple's Disk Utility application or from the command line:</p> +<pre>hdiutil create -volname 'firefoxos' -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.sparseimage</pre> +<p>Mount the drive with:</p> +<pre>open ~/firefoxos.sparseimage</pre> +<p>Change into the mounted drive with:</p> +<pre>cd /Volumes/firefoxos/</pre> +<p>You can then check out the code and compile from this location without worrying about case-sensitivity problems.</p> +<h3 id="Mountain_Lion_homebrew_gotcha">Mountain Lion homebrew gotcha</h3> +<div> + <div> + If you are on Mountain Lion and you receive an error during the installation of the dependencies via homebrew, such as:</div> +</div> +<div> + <pre>clang: error: unable to execute command: Segmentation fault: 11</pre> + ... try reinstalling the dependency manually adding the --use-gcc flag, for example: + <pre>brew install mpfr --use-gcc</pre> +</div> +<h3 id="Follow_Samsung_Galaxy_S2_extra_steps">Follow Samsung Galaxy S2 extra steps</h3> +<p>If you plan to build for the Samsung Galaxy S2, you will also need to install heimdall. See {{ anch("Installing heimdall") }} for details. This is <strong>not</strong> done for you by the bootstrap script!</p> +<div class="note"> + <strong>Note:</strong> If you have installed the <a class="external" href="http://www.samsung.com/us/kies/" title="http://www.samsung.com/us/kies/">Samsung Kies</a> tool, which is used to manage the contents of many Samsung phones, you will have to remove it before you can flash Firefox OS onto your device. You can use the standard application removal process on Windows; on Mac, the Kies install disk image has a utility to fully remove Kies from your system. Flashing <strong>will not work</strong> if you have Kies installed. If you forget to remove Kies, the build system will detect it and remind you to uninstall it. Note also that the uninstall tool does not correctly remove the folder <code>~/Library/Application Support/.FUS</code>, and leaves a reference to a utility there in your user startup items list. You will want to remove these manually.</div> +<h3 class="note" id="Fix_libmpc_dependency_if_broken">Fix libmpc dependency if broken</h3> +<p>gcc 4.6 was built with libmpc 0.9; if you then use homebrew to update packages, libmpc gets updated to version 1.0, but homebrew doesn't rebuild gcc 4.6 after the library version changes. So you need to create a symlink to make things work again, like this:</p> +<pre>cd /usr/local/lib/ +ln -s libmpc.3.dylib libmpc.2.dylib</pre> +<h3 id="Optional_Install_HAX">Optional: Install HAX</h3> +<p>Intel provides a special driver that lets the B2G emulator run its code natively on your Mac instead of being emulated, when you're using the x86 emulator. If you wish to use this, you can <a class="external" href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" title="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/">download and install</a> it. It's not required, but it can improve emulation performance and stability. </p> +<p>Before you install HAX you will need to install the <a href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK</a>.</p> +<h2 class="note" id="Install_adb">Install adb</h2> +<p>The build process needs to pull binary blobs from the Android installation on the phone before building B2G (unless you're building the emulator, of course). For this, you will need <code>adb</code>, the Android Debug Bridge.</p> +<p>You can download and install <code>adb</code> as part of the Android SDK package, for Mac, Linux or Windows - visit the <a href="http://developer.android.com/sdk/index.html">Get the Android SDK</a> page.</p> +<p>Newer Linux distributions have <code>adb</code> already in their repositories. For Ubuntu 12.10 and later, run the following command:</p> +<pre>sudo apt-get install android-tools-adb</pre> +<p>Or for Fedora 18/19:</p> +<pre>sudo yum install android-tools</pre> +<p>If your distribution does not have packages for <code>adb </code>available (i.e. Ubuntu 12.04 or Fedora 17), you'll need to install the <a class="external" href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK starter package</a> for your platform (you'll want the <em>ADT Bundle</em>, not the <em>SDK Tools Only</em> option). Then run their package manager, <code>$SDK_HOME/tools/android</code>, and use the GUI to install "Android SDK Platform-tools".</p> +<p>Find out where <code>adb</code> is installed (usually in <code>usr/bin</code>, possibly additionally inside <code>adt/platform-tools</code>, depending on how you installed it). Be sure to add this directory to your <code>PATH</code>. This can be done by adding the line</p> +<pre>PATH=$SDK_HOME:$PATH</pre> +<p>replacing <code>$SDK_HOME</code> with the location of the android sdk, to your <code>~/.bashrc</code> or equivalent.</p> +<h2 class="note" id="Install_heimdall">Install heimdall</h2> +<p>Heimdall is a utility for flashing the Samsung Galaxy S2. It's used by the Boot to Gecko flash utility to replace the contents of the phone with Firefox OS, as well as to flash updated versions of B2G and Gaia onto the device. You'll need it if you want to install Firefox OS on a Galaxy S2; it is <strong>not</strong> needed for any other device. For other devices, we build and use the fastboot utility instead.</p> +<div class="note"> + <strong>Note:</strong> Again, it's important to note that this is <strong>only required for installing Firefox OS on the Samsung Galaxy S2</strong>.</div> +<p>There are two ways to install heimdall:</p> +<ul> + <li>You can <a class="link-https" href="https://github.com/Benjamin-Dobell/Heimdall" title="https://github.com/Benjamin-Dobell/Heimdall">download the code</a> GitHub and build it yourself.</li> + <li>Use a package manager to install it. + <ul> + <li>On Linux: <code>sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev</code></li> + <li>On Mac, you can <a class="link-https" href="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg" title="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg">download an installer package</a> and use that.</li> + </ul> + </li> +</ul> +<h2 id="Configure_ccache">Configure ccache</h2> +<p>The B2G build process uses ccache. The default cache size for ccache is 1GB, but the B2G build easily saturates this; around 3GB is recommended. You can configure your cache by running the following command inside terminal:</p> +<pre><code>$ ccache --max-size 3GB</code></pre> +<h2 id="For_Linux_configure_the_udev_rule_for_your_phone">For Linux: configure the udev rule for your phone</h2> +<div class="note"> + <p>Note: This section is specific to Linux; Mac OSX has the necessary device permissions set up already.</p> +</div> +<p>Next, you need to confingure the udev rule for your phone,</p> +<p>You can get the USB vendor ID by running <code>lsusb</code> with your phone plugged in, but typically it's Google <code>18d1,</code> Samsung <code>04e8</code>, ZTE <code>19d2</code>, Geeksphone/Qualcomm <code>05c6</code>. Add this line in your <code>/etc/udev/rules.d/android.rules</code> file (replacing <code>XXXX</code> with the ID for your device):</p> +<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", MODE="0666", GROUP="plugdev"</pre> +<p>Take ZTE for example, the content in android.rules will be</p> +<pre style="font-size: 14px;">SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"</pre> +<div class="note"> + <p><span style="line-height: 1.572;">If the file doesn't exist, create it. The <code>rules.d</code> directory is usually read only by default, so you may have to use <code>chmod</code> to make the directory writeable, or the file, or both.</span></p> +</div> +<p><span style="line-height: 1.572;">Once you've saved the file, and closed it, make the file readable:</span></p> +<pre>$ sudo chmod a+r /etc/udev/rules.d/android.rules +</pre> +<p>Now that the udev rules have been updated, restart the udev daemon. For ubuntu:</p> +<pre>sudo service udev restart</pre> +<p>Finally, unplug and the USB cable but don't replug it in because we need to enable remote debugging on the phone first.</p> +<h2 id="Enable_remote_debugging">Enable remote debugging</h2> +<p>Before you plug your phone back into your USB port, put it USB developer mode. This allows you to debug and flash the phone. To enable developer mode, on your phone select <code>Settings app</code> -> <code>Device information</code> -> <code>More Information</code> -> <code>Developer</code> -> <code>Remote debugging</code> (this was called Developer mode on older versions.) Once the option is checked, remote debugging is enabled, and you are ready to go.</p> +<p>At this point, connect your phone to your computer via a USB cable (if you created the udev rule before, this will trigger udev to detect the phone and create the device node with the right permissions). Now you can check if you can list your device via the <code>adb devices</code> command. If everything has worked ok, you should see an output similar to this (the following is for a Geeksphone Keon):</p> +<pre style="font-size: 14px;">$ adb devices +List of devices attached +full_keon device</pre> +<p>If the device did not list as expect, check the file name and the script are all correct (see previous section), then restart the computer and retype the command again. Note also that if your device uses fastboot, the bootloader may identify itself with a different vendor ID than the one you see when the device boots normally.</p> +<h2 id="Backup_the_phone_system_partition">Backup the phone system partition</h2> +<div class="warning"> + <p><strong>Note:</strong> You have to do this before you build your device if you do not have existing system backup. Because some libraries will be referenced in build time. These library might be proprietary so we can't provide in our code base.</p> +</div> +<p>It is recommended to back up the entire Android system partition on your phone.</p> +<p>You can use this copy of the binary blobs for Android in case you later delete your B2G tree. To do this, run:</p> +<pre>adb pull /system <backup target dir>/system +</pre> +<p> Depending on the phone, you may also need to pull the /data and/or /vendor directories:</p> +<pre>adb pull /data <backup target dir>/data +adb pull /vendor <backup target dir>/vendor +</pre> +<p>If the pull commands fail with "insufficient permission" message, try the following:</p> +<ul> + <li>stop and restart the adb server, or if that fails,</li> + <li>double-check that you have granted <em>root</em> permissions to the 'adb' tool within your custom ROM (e.g. under CyanogenMod, change 'Settings -> System -> Developer Options -> Root Access' to 'Apps and ADB' or 'ADB only').</li> + <li>Verify that you have set up the udev rule correctly (see {{ anch("For Linux: configure the udev rule for your phone") }}.</li> +</ul> +<h2 id="On_to_the_next_step">On to the next step</h2> +<pre>At this point, you should be ready to <a href="/en-US/docs/Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build" title="en-US/docs/Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build">fetch the Firefox OS code</a>!</pre> diff --git a/files/de/archive/b2g_os/firefox_os_faq/index.html b/files/de/archive/b2g_os/firefox_os_faq/index.html new file mode 100644 index 0000000000..0cc309dbfe --- /dev/null +++ b/files/de/archive/b2g_os/firefox_os_faq/index.html @@ -0,0 +1,41 @@ +--- +title: Firefox OS FAQ DE +slug: Archive/B2G_OS/Firefox_OS_FAQ +translation_of: Archive/B2G_OS/Introduction +--- +<dl> + <dt> + <span id="result_box" lang="de"><span class="hps">Wie bekomme ich</span> <span class="hps">ein</span> <span class="hps">Developer Preview</span> <span class="hps">Telefon?</span></span></dt> + <dd> + Weitere Informationen werden bald auf der <span id="result_box" lang="de"><span class="hps">Geeksphone</span> <span class="hps">Website zur Verfügung</span></span> stehen.</dd> + <dt> + Wenn ich kein Entwickler-Telefon kaufen möchte, kann ich trotzdem eine App für Firefox OS entwickeln?</dt> + <dd> + Selbstverständlich! Sie können die App über Android testen, oder auf dem Computer mit dem (using <a href="https://hacks.mozilla.org/2012/10/firefox-marketplace-aurora/">Marketplace for Firefox</a>) <a href="https://hacks.mozilla.org/2012/12/firefox-os-simulator-1-0-is-here/">Firefox OS simulator</a>.</dd> + <dt> + Wann wird das "fertige" Telefon verfügbar sein?</dt> + <dd> + Wir werden mit mehreren Partnern gemeinsam das Telefon auf den Markt bringen, jedoch besprechen wir uns diesbezüglich zu einem späteren Zeitpunkt nochmal.</dd> + <dt> + Wo kann ich mir Firefox OS auf mein Handy laden?</dt> + <dd> + <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS</a></dd> + <dt> + Wie kann ich meine Firefox OS App testen?</dt> + <dd> + Auf Android oder über unseren OS Simulator.</dd> + <dt> + Was ist Firefox OS?</dt> + <dd> + <span id="result_box" lang="de"><span class="hps">Es ist ein neues</span> <span class="hps">Handy-Betriebssystem, dass komplett auf offenen Web-Standards basieren wird. Es ermöglicht für jede Geräte-Funktion </span></span><span id="result_box" lang="de"><span class="hps atn">(</span><span>Telefonie,</span> <span class="hps">Messaging</span><span>, Browsen</span> <span class="hps">usw.)</span></span> eine eigenenständige auf dem HTML5-Standard basierende Applikation zu entwickeln, die grundsätzlich (theoretisch) auf jedem anderen Gerät (<font><font lang="de">nur verfügbar in systemeigene Anwendungen)</font></font> funktionieren würde.</dd> + <dt> + Wie ist die Liste der vollständigen Web APIs; Werden diese standardisiert werden?</dt> + <dd> + <font><font lang="de">Eine große Anzahl von WebAPIs wird in die erste Implementierung des Firefox-OS aufgenommen werden. </font><font lang="de">Eine vollständige Liste finden Sie auf</font></font></dd> + <dd> + <a href="https://wiki.mozilla.org/WebAPI#APIs"><font><font lang="de">https://wiki.mozilla.org</font></font>https://wiki.mozilla.org/WebAPI#APIs</a>.</dd> + <dt> + <font lang="de">Sind die Web-APIs für den plattformübergreifenden Einsatz standardisiert?</font></dt> + <dd> + <font><font lang="de">Ja, die APIs sind das Ergebnis von Arbeiten mit mehreren Partnern, die bereits auch für andere Plattformen entwickelt haben. Das Umsetzen stellt in Bezug auf die unterschiedlichen Hardware-Anforderungen der Benutzer ein Problem dar, das nicht nur Mozilla beschäftigt</font></font>. Unsere Anwendungen sind ein guter Anhalts&Ausgangspunkt für weitere zukünftige Plattformen und Entwicklungen.</dd> +</dl> diff --git a/files/de/archive/b2g_os/gaia/gaia_apps/index.html b/files/de/archive/b2g_os/gaia/gaia_apps/index.html new file mode 100644 index 0000000000..e4f64963a0 --- /dev/null +++ b/files/de/archive/b2g_os/gaia/gaia_apps/index.html @@ -0,0 +1,86 @@ +--- +title: Gaia apps +slug: Archive/B2G_OS/Gaia/Gaia_apps +translation_of: Archive/B2G_OS/Platform/Gaia/Gaia_apps +--- +<div class="summary"> +<p><span class="seoSummary">Gaia is the front-end of Firefox OS, which contains system administration functionality and the built-in suite of apps shipped with Firefox OS devices. All the Gaia source code — even the system, and keyboard IMEs — is fully implemented with HTML5 (HTML + CSS + JavaScript) & Open WebAPIs. This set of documents contains information on how each of the default apps available in the Gaia family works.</span></p> +</div> + +<h2 id="Gaia_functionality_categories">Gaia functionality categories</h2> + +<p>The different apps inside Gaia can be roughly categorized into the groups listed below.</p> + +<div class="note"> +<p><strong>Note</strong>: Many of the pages linked to for more explanation of how the individual apps work are README pages inside the <a href="https://github.com/mozilla-b2g/gaia/">Gaia Github repo</a>. This is because many of the apps are on rapid development cycles and therefore subject to rapid (often daily) change, so it would make little sense to try to keep MDN pages updated with these changes. The engineer-maintained README pages are currently the most accurate source of information.</p> +</div> + +<h3 id="Platform">Platform</h3> + +<p>Including the System, Settings, Lockscreen, build scripts, and Bluetooth apps.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/7503/platform_team.png" style="display: block; height: 269px; margin: 0px auto; width: 355px;"></p> + +<h4 id="Platform_apps_further_explanation">Platform apps: further explanation</h4> + +<dl> + <dt><a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps/System">System</a></dt> + <dd>The System app is the first web app loaded by Gecko during the <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Architecture#Firefox_OS_bootup_procedure">Firefox OS bootup procedure</a>, and it handles numerous responsibilities that are required generally for the running of the system, and are therefore not scoped per individual web app.</dd> + <dt><a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps/Browser">Browser</a></dt> + <dd>The Browser app (which is now part of System) provides browser-like functionality where it is needed — including page navigation, search and bookmarks.</dd> + <dt><a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps/Window_Management">Window Management</a></dt> + <dd>Firefox OS's window management functionality — including app life cycle and interaction, notifications, animations and much more — is handled by a specific part of the System app. This article looks at Firefox OS Window Management in detail.</dd> + <dt><a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps/Settings">Settings</a></dt> + <dd>The Settings app allows Firefox OS users to configure device settings, and responds to incoming activities (<a href="/en-US/docs/WebAPI/Web_Activities">Web activities</a> with a name of <code>configure</code>), which allows other apps to jump to different panels inside the Settings app to handle configuration as required (for example showing the wifi settings panel if no data connection is available.)</dd> +</dl> + +<h3 id="Communication">Communication</h3> + +<p>Including the Dialer, Contact, SMS apps and FTU apps.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/7499/comms_team.png" style="display: block; height: 246px; margin: 0px auto; width: 317px;"></p> + +<h4 id="Communication_apps_further_explanation">Communication apps: further explanation</h4> + +<p>TBD</p> + +<h3 id="Productivity">Productivity</h3> + +<p>Including the Email, Calendar, and Clock apps.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/7505/productivity_team.png" style="display: block; height: 178px; margin: 0px auto; width: 303px;"></p> + +<h4 id="Productivity_apps_further_explanation">Productivity apps: further explanation</h4> + +<dl> + <dt><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/calendar/README.md">Calendar</a></dt> + <dd>The Firefox OS built-in calendar app.</dd> + <dt><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/clock/README.md">Clock</a></dt> + <dd>Firefox OS's default Clock app, which includes alarm, timer and stopwatch functionality.</dd> + <dt><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/email/README.md">Email</a></dt> + <dd>The Gaia e-mail app.</dd> +</dl> + +<h3 id="Media">Media</h3> + +<p>Including the Camera, Gallery, Music, and Video apps, and some media related functions such as forward lock DRM and wallpapers.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/7501/media_team.png" style="display: block; height: 250px; margin: 0px auto; width: 386px;"></p> + +<h4 id="Media_apps_further_explanation">Media apps: further explanation</h4> + +<dl> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Gaia_apps/Video">Video</a></dt> + <dd>Video is a simple video player app that will play videos present on your Firefox OS device's storage media.</dd> + <dt><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/camera/README.md">Camera</a></dt> + <dd>Camera allows Firefox OS users to capture and manage videos and photos from the device camera(s), and responding the <a href="/en-US/docs/WebAPI/Web_Activities">Web activities</a> of type <code>pick</code> from other apps that want to grab media using Camera's functionality.</dd> +</dl> + +<h3 id="Other_Gaia_features">Other Gaia features</h3> + +<p>Besides these functions, there are several other major features such as browser, homescreen, marketplace, test framework, PDF viewer, and app manager, which are developed closely alongside Gaia.</p> + +<dl> + <dt><a href="https://github.com/mozilla/pdf.js/blob/master/README.md">pdf.js</a></dt> + <dd>pdf.js is an HTML5-based PDF viewer, used inside Gaia for viewing PDFs. Note that the codebase for pdf.js is maintained in a separate repo, outside Gaia.</dd> +</dl> diff --git a/files/de/archive/b2g_os/gaia/hacking/index.html b/files/de/archive/b2g_os/gaia/hacking/index.html new file mode 100644 index 0000000000..64b9be9f79 --- /dev/null +++ b/files/de/archive/b2g_os/gaia/hacking/index.html @@ -0,0 +1,181 @@ +--- +title: Hacking Gaia +slug: Archive/B2G_OS/Gaia/Hacking +translation_of: Firefox_OS/Developing_Gaia +--- +<p>Gaia ist die Sammlung von Webapps, die das Front-End des Firefox OS (Codename Boot to Gecko) bilden.</p> +<p>Alles was Sie auf dem Bildschirm von Firefox OS sehen, inklusive dem Homescreen, wurde nur mit Hilfe von freien Web-Technologien erstellt, </p> +<p> </p> +<h2 id="Quellcode_besorgen" style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">Quellcode besorgen</h2> +<p>To get the source code for Gaia, <a href="https://github.com/mozilla-b2g/gaia" title="https://github.com/mozilla-b2g/gaia">fork us on GitHub</a> and then clone your fork using <a href="http://git-scm.com/" title="http://git-scm.com/">git</a>.</p> +<pre>$ git clone https://github.com/<span style="color: #a9a9a9;">username</span>/gaia.git</pre> +<h2 id="Gaia_starten" style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">Gaia starten</h2> +<p>Sie können Gaia entweder auf Ihrem Desktop nutzen oder mit einem kompatiblem mobilen Gerät.</p> +<p> </p> +<p><span style="font-family: Georgia, Times, 'Times New Roman', serif; font-size: 1.428em; line-height: inherit;">B2G Desktop</span></p> +<p><span style="color: rgb(68, 68, 68); font-family: Arial, sans-serif; line-height: 20px;">B2G Desktop is a desktop build of the app runtime used on Firefox OS devices which you can use to run Gaia on your desktop computer.</span></p> +<p>You can download a nightly build of B2G Desktop from <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/">here</a>. Currently we recommend installing the latest <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-beta/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-beta/">beta build</a> for your platform. There are builds for Linux (32 bit and 64 bit), OS X and Windows.</p> +<p><span style="line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">Nightly builds come packaged with a recent version of gaia. Once you've downloaded the archive, all your need to do is extract it to a folder and run the b2g binary from the extracted folder.</span></p> +<p><strong>Note:</strong> 64 bit Linux builds do not currently work on some distributions, this is <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=812484" title="https://bugzilla.mozilla.org/show_bug.cgi?id=812484">bug </a><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=812484" title="https://bugzilla.mozilla.org/show_bug.cgi?id=812484">812484</a>. If you have problems try a 32-bit build instead.</p> +<pre>$ cd b2g +$ ./b2g</pre> +<p>To run B2G with your own version of Gaia for development purposes you first need build a profile from your clone:</p> +<pre>$ cd <span style="color: #a9a9a9;">/path/to/gaia</span> +$ DEBUG=1 make</pre> +<p>This will generate a directory in your gaia directory called "profile". The DEBUG part runs Gaia as hosted apps on a built-in web server, rather than the default packaged apps which have to be re-packaged after every change.</p> +<p><strong>Note: </strong>Debug builds are currently broken on B2G Desktop, so until <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=816957" title="https://bugzilla.mozilla.org/show_bug.cgi?id=816957">bug 816957</a> is fixed you need to run "make" without the "DEBUG=1" part, then re-run make every time you make a change to Gaia.</p> +<p> </p> +<p>You can then run B2G Desktop with your generated profile like so:</p> +<pre>$ <span style="color: #a9a9a9;">/path/to/b2g/</span>b2g-bin -profile <span style="color: #a9a9a9;">/path/to/gaia/</span>profile</pre> +<p>If you want to you can build your own B2G Desktop from source.</p> +<h3 id="B2G_Device">B2G Device</h3> +<p> </p> +<p>If you have a compatible mobile device you can also run Gaia by flashing it with Firefox OS. Please see <a href="https://github.com/mozilla-b2g/B2G/blob/master/README.md" rel="nofollow">documentation here</a>.</p> +<p>There is also <a href="https://wiki.mozilla.org/B2G/DeveloperPhone#Gaia.2FB2G_Development_Environment" rel="nofollow">documentation here</a> about testing changes on your device.</p> +<h2 id="Unit_Tests">Unit Tests</h2> +<p> </p> +<p>See <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Gaia_Unit_Tests" rel="nofollow">here</a> for information about writing and running unit tests for Gaia.</p> +<h2 id="Filing_Bugs">Filing Bugs</h2> +<p> </p> +<p>Bugs are filed on Bugzilla under <a href="https://bugzilla.mozilla.org/buglist.cgi?product=Boot2Gecko&component=Gaia&resolution=---" rel="nofollow">Boot2Gecko > Gaia</a>.</p> +<p>File a new bug under the Gaia component (or one of the sub-components) <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Boot2Gecko" rel="nofollow">here</a>.</p> +<h2 id="Contributing_Code">Contributing Code</h2> +<p> </p> +<p>Mozilla depends on contributions from the open source community to help develop Gaia apps and we'd love you to get involved.</p> +<p>Some great places to find some bugs to start hacking on:</p> +<ul> + <li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=component:gaia%20sw:polish%20@nobody;list_id=4566236" rel="nofollow">Unowned Gaia polish bugs on Bugzilla</a></li> + <li><a href="http://www.joshmatthews.net/bugsahoy/?b2g=1" rel="nofollow">Mentored bugs</a></li> +</ul> +<h3 id="Coding_Style">Coding Style</h3> +<p> </p> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">Background: + <ul style="margin: 0px 0px 0px 10px; padding: 0px; line-height: 1.4;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;"><a class="extiw" href="https://developer.mozilla.org/en/Developer_Guide/Coding_Style#General_practices" style="margin: 0px; padding: 0px; line-height: 1.4; color: rgb(0, 51, 153);" title="mdc:Developer Guide/Coding Style">MDC:Developer Guide/Coding Style#General practices</a></li> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;"><a class="extiw" href="https://developer.mozilla.org/en/Developer_Guide/Coding_Style#JavaScript_practices" style="margin: 0px; padding: 0px; line-height: 1.4; color: rgb(0, 51, 153);" title="mdc:Developer Guide/Coding Style">MDC:Developer Guide/Coding Style#JavaScript practices</a></li> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;"><a class="extiw" href="https://developer.mozilla.org/en/Developer_Guide/Coding_Style#Naming_and_Formatting_code" style="margin: 0px; padding: 0px; line-height: 1.4; color: rgb(0, 51, 153);" title="mdc:Developer Guide/Coding Style">MDC:Developer Guide/Coding Style#Naming and Formatting code</a></li> + </ul> + </li> +</ul> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">make sure HTML files are declared <!DOCTYPE html> (i.e., HTML5). IE9+ will load them in compatibility mode otherwise.</li> +</ul> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">add a <code style="margin: 0px; padding: 0px; line-height: 1.4; font-size: 15px;">"use strict";</code> statement (exactly that!) to the top of your JS files</li> +</ul> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">2 spaces for indentation - do not use tab.</li> +</ul> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">Line break are free (I promise) don't hesitate to use them to separate logical block inside your functions.</li> +</ul> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">Files are named <code style="margin: 0px; padding: 0px; line-height: 1.4; font-size: 15px;">like_this.js</code>.</li> +</ul> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">Use single quote instead of double quotes.</li> +</ul> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">Additional rules:</li> +</ul> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">Bad:</p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);">if (expression) doSomething(); +</pre> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">Correct:</p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);">if (expression) + doSomething();</pre> +<p> </p> +<p>If you're working on the system app, check out the guidance listed <a href="See_here_for_some_rules._https://groups.google.com/d/msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ" title="See_here_for_some_rules._https://groups.google.com/d/msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ">here</a>.</p> +<p>Before submitting a patch we recommend you run gjslint on it to check for any style errors:</p> +<p> </p> +<pre>gjslint --nojsdoc <span style="color: #a9a9a9;">my_file.js</span></pre> +<p> </p> +<h3 id="Submitting_a_Patch">Submitting a Patch</h3> +<p>First file or assign a bug to yourself on <a href="https://bugzilla.mozilla.org/buglist.cgi?product=Boot2Gecko&component=Gaia&resolution=---" title="https://bugzilla.mozilla.org/buglist.cgi?product=Boot2Gecko&component=Gaia&resolution=---">Bugzilla</a>, you'll need a Bugzilla account.</p> +<p>Then create a branch on your fork of Gaia:</p> +<pre>$ git branch <span style="color: #a9a9a9;">branchname</span> +$ git checkout <span style="color: #a9a9a9;">branchname</span></pre> +<p>Commit your changes:</p> +<pre>$ git add <span style="color: #a9a9a9;">/file/to/add</span> +$ git commit -m "<span style="color: #a9a9a9;">commit message including bug number</span>"</pre> +<p>Push your branch:</p> +<pre>$ git push origin <span style="color: #a9a9a9;">branchname</span></pre> +<p>Send a pull request by navigating to the branch in your fork on GitHub and finding the pull request button.</p> +<p>To request a review of your patch, add an attachment to the bug in Bugzilla referencing the URL of the pull request and set the review ("r") flag to "?" and enter the bugzilla ID of one of the module owners and peers listed <a href="https://wiki.mozilla.org/Modules/Boot2Gecko" title="https://wiki.mozilla.org/Modules/Boot2Gecko">here</a>.</p> +<p>The reviewer may ask you to make some changes. Once they're is happy with your patch, they will merge it into the master branch for you. Before they do this they would prefer it if you could squash all your changes into a single commit and add "r=<span style="color: rgb(169, 169, 169);">reviewername</span>" to the end of the commit message.</p> +<h2 id="Contacting_the_Team">Contacting the Team</h2> +<p> </p> +<ul> + <li><a href="https://lists.mozilla.org/listinfo/dev-gaia" rel="nofollow">Gaia Mailing List</a></li> + <li>#gaia IRC channel on irc.mozilla.org</li> +</ul> +<h2 id="Tips">Tips</h2> +<h3 id="Linux_B2G_Desktop_support">Linux B2G Desktop support</h3> +<p> </p> +<h4 id="The_homescreen_is_empty_2" style="margin: 0.85em 0px; padding: 0px; line-height: 1.4; color: rgb(42, 42, 42); font-family: MetaBold, 'Trebuchet MS', sans-serif; font-size: 15px;"><span class="mw-headline" id="The_homescreen_is_empty" style="margin: 0px; padding: 0px; line-height: 1.4;">The homescreen is empty</span></h4> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">Currently, under Linux, OOP frame aren't rendered properly. The homescreen isn't actually rendered here...</p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">If you just want to happily hack on pure UI (css and JS) you can safely run with OOP disabled and avoid those issues. Change the line in build/settings.py</p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);"> "debug.oop.disabled": False, +</pre> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">to</p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);"> "debug.oop.disabled": True, +</pre> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">To the profile/user.js in your gaia directory.</p> +<h3 id="Port_Forwarding">Port Forwarding</h3> +<p> </p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">To forward the socket on the phone to the desktop (for desktop development), you first need to get rilproxy to expose it as such, rather than exposing it to Gecko. In the gaia directory:</p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);"> $ make forward +</pre> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">This runs the commands:</p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);">$ adb shell touch /data/local/rilproxyd +$ adb shell killall rilproxy +$ adb forward tcp:6200 localreserved:rilproxyd +</pre> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">The file located at /data/local/rilproxyd will be deleted once the rilproxy daemon will start again. As a consequence you have to do this manipulation every time your device restarts.</p> +<h3 id="Restarting_B2G_on_a_device_from_the_desktop">Restarting B2G on a device from the desktop</h3> +<p> </p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);">adb shell killall b2g +</pre> +<h3 id="B2G_Desktop_JavaScript_Console">B2G Desktop JavaScript Console</h3> +<p> </p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">You can run B2G Desktop with the JavaScript console by using the -jsconsole flag</p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);">$ /path/to/b2g-bin -jsconsole +</pre> +<h3 id="Launching_an_app_directly">Launching an app directly</h3> +<p> </p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">A "--runapp" option has been added to the B2G Desktop command-line to automatically start an application. The system app is loaded and everything happens like normal; this is not like the old trick where we loaded your app instead of the system app.</p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">"--runapp" takes an argument that it normalizes by lower-casing and removing dashes and spaces, and then checks the argument against the similarly normalized app names from app manifests. For example, the name of the e-mail app is currently "E-Mail", but "--runapp email" will run it. Partial matching is not supported right now, but you can enhance b2g/chrome/content/runapp.js if your app name is unwieldy.</p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">If you invoke "--runapp" without an argument (or an empty argument), the command will print out a list of all the apps it knows about as well as a brief usage message.</p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">One important note is that this command disables the lock-screen as part of its magic and does not re-enable it. The assumption is that you won't use this command on a profile where you are testing the lock screen, or will turn it back on manually. Feel free to enhance the command to behave better if this is a problem for you.</p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">In summary:</p> +<pre style="margin-right: 1em; margin-left: 1em; padding: 1em; line-height: 1.4; background-color: rgb(238, 238, 238); border-style: solid; border-color: rgb(204, 204, 204); color: rgb(68, 68, 68);">./b2g -profile /path/to/your/gaia/profile --runapp email +</pre> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">runs the e-mail app.</p> +<h3 id="reset-gaia_and_install-gaia_make_targets">reset-gaia and install-gaia make targets</h3> +<p> </p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">The reset-gaia and install-gaia make targets can be used interchangeably. reset-gaia will purge all the existing profiles, database before push Gaia from your working directory (new setting database will also be initialized); install-gaia will just push updates of Gaia.</p> +<h3 id="Blank_screen_when_B2G_Desktop_starts">Blank screen when B2G Desktop starts</h3> +<p> </p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">When you start b2g using b2g -profile $GAIA/profile a blank screen shows up and you see an error Cannot reach app://system.gaiamobile.org. To fix this there are a couple of things you can check</p> +<ul style="margin: 10px 0px 1em 25px; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">Rebuild the gaia profile using DEBUG=1 make profile in the $GAIA directory</li> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">Run b2g again</li> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">If this doesn't fix it, check if there is any other process listening on port 8080. The default profile of gaia starts httpd.js, which listens on port 8080. When running a debug profile, b2g connects to localhost:8080. If some other process is running on port 8080, b2g will fail to display the home screen of gaia + <ul style="margin: 0px 0px 0px 10px; padding: 0px; line-height: 1.4;"> + <li style="margin: 0px; padding: 0px 0px 0px 5px; line-height: 1.4;">To find out if this is the case, you can enable logging on httpd.js. The httpd.js in the profile resides in this location - $GAIA/profile/extensions/httpd/content/httpd.js. Edit the variable var DEBUG=false; to change the DEBUG to true. Save the file and restart b2g. On the console now, you will be able to view the httpd's logs</li> + </ul> + </li> +</ul> +<h3 id="Diagnosing_OOM_problems">Diagnosing OOM problems</h3> +<p> </p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;"><a class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=798747#c7" rel="nofollow" style="margin: 0px; padding: 0px; line-height: 1.4; color: rgb(0, 51, 153);">From Cjones</a>:</p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">Another way to diagnose possible OOMs is to open a terminal and run</p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">$ watch -n 1 'adb shell b2g-procrank'</p> +<p style="margin: 0px 0px 1em; padding: 0px; line-height: 20px; color: rgb(68, 68, 68); font-family: Arial, sans-serif;">If you see the "USS" of one of the app processes go up near 100MB and then that process disappear from the process list (accompanied by some sort of visual crash in gaia), then you've almost certainly seen an OOM kill.</p> +<p> </p> +<p> </p> +<p> </p> +<p> </p> +<p> </p> +<p> </p> diff --git a/files/de/archive/b2g_os/gaia/index.html b/files/de/archive/b2g_os/gaia/index.html new file mode 100644 index 0000000000..1405dd58c9 --- /dev/null +++ b/files/de/archive/b2g_os/gaia/index.html @@ -0,0 +1,56 @@ +--- +title: Gaia +slug: Archive/B2G_OS/Gaia +tags: + - B2G + - Gaia + - Mobile +translation_of: Archive/B2G_OS/Platform/Gaia +--- +<p>Gaia ist die Benutzeroberfläche von <a href="https://developer.mozilla.org/de/Firefox_OS">Firefox OS</a>. Alles was auf dem Bildschirm nach dem Start von Firefox OS erscheint, wird von Gaia gemalt. Einschließlich des Sperrbildschirmes, Homescreen, Dialer und anderen Programmen. Gaia ist komplett in <a href="/en-US/docs/en-US/HTML" title="HTML">HTML</a>, <a href="/en-US/docs/CSS" title="CSS">CSS</a>, und <a href="/en-US/docs/JavaScript" title="JavaScript">JavaScript</a> geschrieben. Seine einzige Schnittstelle zu dem zugrunde liegenden Betriebssystem und Hardware wird über Standart Web APIs ermöglicht, welche von <a href="https://developer.mozilla.org/de/docs/Gecko">Gecko</a> implementiert werden.</p> +<p>Wegen diesem Aufbaus kann Gaia nicht nur auf Firefox OS Geräten, sondern auch auf anderen Betriebssystemen und Webbrowsern (wenn auch, je nach Fähigkeiten des Browsers, möglicherweise Eingeschränkt) betrieben werden.</p> +<p>Anwendungen von Drittanbietern, welchen neben Gaia installiert wurden, können von Gaia gestartet werden.</p> +<table class="topicpage-table"> + <tbody> + <tr> + <td> + <h2 class="Documentation" id="Documentation" name="Documentation">Dokumentationen über Gaia</h2> + <dl> + <dt> + <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Einführungen zu Gaia</a></dt> + <dd> + Gaia ist die Benutzeroberfläche für Firefox OS Geräte; Es ist eine Internetapplikation welche auf der Firefox OS Applikationsumgebung läuft. Dieses Handbuch bietete eine Einführung zu Gaia auf einem hohen Niveau.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Gaia_hacking_guide" title="Mozilla/Boot_to_Gecko/Gaia hacking guide">Gaia hacking guide</a></dt> + <dd> + Ein Leitfaden für Hacking und Modifizierung der Gaia-Schnittstelle.</dd> + </dl> + <p><span class="alllinks"><a href="/en-US/docs/tag/Gaia" title="tag/B2G">View All...</a></span></p> + </td> + <td> + <h2 class="Community" id="Community" name="Community">Hilfe von der Community</h2> + <p>Wenn du mit Gaia, oder an Gaia Anwendungen arbeitest, könnten dir diese Community-Ressourcen helfen<span style="line-height: 1.5;">!</span></p> + <ul> + <li>Besuche das Boot to Gecko Projekt Forum: {{ DiscussionList("dev-gaia", "mozilla.dev.gaia") }}</li> + </ul> + <ul> + <li>Stelle deine Fragen im Mozilla's Gaia IRC channel: <a href="irc://irc.mozilla.org/gaia" title="irc://irc.mozilla.org/gaia">#gaia</a></li> + </ul> + <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p> + <br> + <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Verwandte Themen</h2> + <ul> + <li><a href="/en-US/docs/Mobile" title="Mobile">Mobile</a></li> + <li><a href="/de/docs/Web/HTML" title="HTML">HTML</a></li> + <li><a href="/de/docs/Web/Css" title="CSS">CSS</a></li> + <li><a href="/de/docs/Web/JavaScript" title="JavaScript">JavaScript</a></li> + </ul> + <h2 class="Tools" id="Resources" name="Resources">Ressourcen</h2> + <ul> + <li><a href="https://developer.mozilla.org/de/Firefox_OS/Platform/Architektur">Übersicht der </a><a href="/en-US/docs/Mozilla/Firefox_OS/Architecture" title="Mozilla/Firefox_OS/Architecture">Firefox OS Architektur</a></li> + </ul> + </td> + </tr> + </tbody> +</table> +<p> </p> diff --git a/files/de/archive/b2g_os/gaia/introduction_to_gaia/index.html b/files/de/archive/b2g_os/gaia/introduction_to_gaia/index.html new file mode 100644 index 0000000000..2b121e8274 --- /dev/null +++ b/files/de/archive/b2g_os/gaia/introduction_to_gaia/index.html @@ -0,0 +1,35 @@ +--- +title: Introduction to Gaia +slug: Archive/B2G_OS/Gaia/Introduction_to_Gaia +translation_of: Archive/B2G_OS/Platform/Gaia/Introduction_to_Gaia +--- +<div class="summary"> +<p>Gaia is the user interface for Boot to Gecko (B2G); it's a set of Web applications that runs locally on a B2G device, emulator, desktop build, or Firefox build. All you need to know in order to add apps or make changes to Gaia are Web technologies like <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a>, <a href="/en/HTML" title="en/HTML">HTML</a>, and <a href="/en/CSS" title="en/CSS">CSS</a>.</p> +</div> + +<h2 id="The_Gaia_lock_screen">The Gaia lock screen</h2> + +<p>The lock screen shows the network carrier, current time and date, and a slidebar allowing the user to unlock the phone or go straight to the camera to take a picture. If the user has got a passcode lock set, the lock screen will also show a passcode entry interface.</p> + +<p><img src="https://mdn.mozillademos.org/files/7611/gaia-lockscreen.png" style="display: block; height: 480px; margin: 0px auto; width: 320px;" alt=""></p> + +<p>Note that on some devices the passcode is enabled by default; in these cases the default PIN to unlock the device is "0000". This most likely will change over time as this feature is fleshed out.</p> + +<h2 id="The_default_Gaia_interface">The default Gaia interface</h2> + +<p>The default interface in Gaia, as seen here, is similar to what you see on most typical smartphones.</p> + +<p><img src="https://mdn.mozillademos.org/files/7613/device-2013-01-24-163623.png" style="display: block; height: 480px; margin: 0px auto; width: 320px;" alt=""></p> + +<p>This image is obviously of a prerelease version of the operating system, with placeholder icons (and some test applications). The status bar at the top indicates the network on which the phone is operating (or "No SIM card" for a device without any network), the network strength, WiFi signal strength, battery level, and current time.</p> + +<p>The middle area of the display shows icons for the applications; swiping left and right pages through screens of icons. You can find more about the default suite of apps that comes with Gaia on our <a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps">Gaia apps</a> page.</p> + +<p>At the bottom of the screen is a dock with room for up to seven of your most commonly used applications. You can drag and drop apps to the dock from the middle area.</p> + +<h2 id="See_also" style="">See also</h2> + +<ul> + <li><a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps">Gaia apps</a>: This page includes further information about each app, such as how to use them, and how to modify them.</li> + <li><a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a>: An explanation of the different developer settings that you can enable via the Gaia Settings app.</li> +</ul> diff --git a/files/de/archive/b2g_os/gaia_entwickeln/build_system_primer/index.html b/files/de/archive/b2g_os/gaia_entwickeln/build_system_primer/index.html new file mode 100644 index 0000000000..8f6f0c7379 --- /dev/null +++ b/files/de/archive/b2g_os/gaia_entwickeln/build_system_primer/index.html @@ -0,0 +1,190 @@ +--- +title: 'Gaia Build System: Grundlagen' +slug: Archive/B2G_OS/Gaia_Entwickeln/Build_System_Primer +tags: + - Building + - Firefox OS + - Gaia Grundlagen + - Gaia build +translation_of: Archive/B2G_OS/Developing_Gaia/Build_System_Primer +--- +<div class="summary"> +<p><span class="seoSummary">Dieser Artikel beschreibt die grundlegende Funktionsweise des Gaia Build Systems inklusive make-Datei, Build-Prozess, Umgebungsvariablen und Anpassungsmöglichkeiten</span>.</p> +</div> + +<p>Die wichtigen Schritte eines Builds werden größtenteils von den im Gaia-Unterverzeichnis <code>build/</code> liegenden Skripten erledigt. Augerufen werden diese mit make, node.js und <a href="https://developer.mozilla.org/en-US/docs/XPConnect/xpcshell" title="https://developer.mozilla.org/en-US/docs/XPConnect/xpcshell">XPCShell</a> (auch bekannt als JS Shell), einer Laufzeitumgebung von <a href="/de/docs/Mozilla/Projects/XULRunner">XULRunner</a>. Das Gaia Build System enthält viele Werkzeuge zum Installieren, Testen und Lokalisieren von Apps und um diese als Paket auf ein Gerät zu bringen. Zudem können Entwickler das Gaia-Paket anpassen, z.B. können Hintergrundbilder, Klingeltöne, Apps und Einstellungen geändert werden.</p> + +<div class="note"> +<p><strong>Hinweis</strong>: XPCShell ist ähnlich wie node.js, bietet aber zusätzlich die Möglichkeit zum Ausführen von Mozilla-spezifischen javascripts. Zudem können Gaia-Skripte mit Hilfe von XPCShell in einer Firefox Erweiterung laufen.</p> +</div> + +<h2 id="Die_make-Datei">Die make-Datei</h2> + +<p>Die make-Datei enthält eine Menge nützlicher Funktionen. Dieses Kapitel bechreibt die nützlichsten davon.</p> + +<h3 id="install-gaia">install-gaia</h3> + +<p>Gestartet mit dieser Option installiert make alle Apps auf Deinem Gerät. Wenn Du nur eine bestimmte App installieren möchtest, dann starte make wie folgt mit der <code>APP</code> Option:</p> + +<pre class="brush: bash">APP=calendar make install-gaia</pre> + +<p>Dieses Verzeichnis muss im Gaia-Verzeichnisbaum existieren (z.B. <code>apps</code>).</p> + +<h3 id="reset-gaia">reset-gaia</h3> + +<p>Funktioniert genauso wie <code>install-gaia</code> mit dem Unterschied, dass zuerst alle Apps deinstalliert und anschließend wieder mit den Standard-Zugriffsrechten installiert werden. Die Apps befinden sich in <code>/data/local</code> wie bei den Entwickler-Builds. Test- und Debugging-Apps werden hier ebenfalls installiert.</p> + +<div class="warning"> +<p><strong>Vorsicht</strong>: Wenn beim Aufruf von make mit der Option <code>reset-gaia</code> die Umgebungsvariable <code>APP</code> gesetzt ist, dann wird dies Dein Gerät in einen unbrauchbaren Zustand versetzen (das kann allerdings behoben werden durch Aufruf von make mit der Option <code>reset-gaia</code> ohne die <code>APP</code> Umgebungsvariable). Also mach das bitte nicht.</p> +</div> + +<h3 id="production">production</h3> + +<p>Genauso wie <code>reset-gaia</code>, aber der Quellcode wird optimiert. Das ermöglicht grundsätzlich die Emulation von User Builds (stabilen Builds). Mit dieser Option werden dieselben Apps installiert wie bei User Builds.</p> + +<div class="warning"> +<p><strong>Vorsicht</strong>: Wenn beim Aufruf von make mit der Option <code>production</code> die Umgebungsvariable <code>APP</code> gesetzt ist, dann wird dies Dein Gerät in einen unbrauchbaren Zustand versetzen (das kann allerdings behoben werden durch Aufruf von make mit der Option <code>production</code> ohne die <code>APP</code> Umgebungsvariable). Also mach das bitte nicht.</p> +</div> + +<h3 id="reference_workloads">reference workloads</h3> + +<p>Diese Option installiert unterschiedlich große Pakete für Laufzeittests auf dem Gerät, um eventuell auftretende Geschwindigkeits- und Skalierungsprobleme debuggen und beheben zu können. Diese Option akzeptiert die APP Umgebungsvariable und auch die APPS Umgebungsvariable mit mehreren durch Leerzeichen voneinander getrennten App-Namen, z.B.:</p> + +<pre class="brush: bash">APP=sms make reference-workload-light +APPS="sms communications/contacts" make reference-workload-heavy +</pre> + +<div class="note"> +<p><strong>Hinweis</strong>: Weitere Informationen findest Du auf <a href="/de/Firefox_OS/Platform/Gaia/Hacking#Reference_Workloads">Hacking Gaia: Reference workloads</a>.</p> +</div> + +<h2 id="Umgebungsvariablen">Umgebungsvariablen</h2> + +<p>Mit einigen Umgebungsvariablen kannst Du den Build und die Installation auf dem Gerät steuern, z.B.:</p> + +<h4 id="P1">P=1</h4> + +<p>Das ermöglicht parallele Build-Erzeugungen auf Multikern CPU Architekturen und verkürzt die Laufzeit von Build-Erzeugungen, der Standardwert ist <strong>0</strong>.</p> + +<div class="warning"> +<p><strong>Vorsicht</strong>: Parallele Build-Erzeugung ist noch in der Test-Phase und somit vielleicht nicht stabil.</p> +</div> + +<h4 id="GAIA_OPTIMIZE1">GAIA_OPTIMIZE=1</h4> + +<p>Hiermit wird eine Optimierung der JavaScript Dateien angestossen. Diese Umgebungsvariable wird automatisch beim Ausführen von <code>make production</code> gesetzt. Die Variable kann für <code>install-gaia</code> und <code>reset-gaia</code> verwendet werden.</p> + +<h4 id="PRODUCTION1">PRODUCTION=1</h4> + +<p>Das ist im Grunde ein Alias für <code>make production</code>.</p> + +<h4 id="DEBUG1">DEBUG=1</h4> + +<p>Mit dieser Umgebungsvariablen wird eine Debugging-Umgebung aufgebaut, die Du für Gaia <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests">unit tests</a> oder für die Entwicklung eigener Apps in Firefox OS nutzen kannst. Du musst ein bereits bestehendes Debugging-Profilverzeichnis löschen, bevor Du ein neues generieren kannst.</p> + +<h4 id="DEVICE_DEBUG1">DEVICE_DEBUG=1</h4> + +<p>Deaktiviert die Bildschirmsperre auf dem Gerät.</p> + +<h4 id="GAIA_DEVICE_TYPEphone">GAIA_DEVICE_TYPE=phone</h4> + +<p>Diese Umgebungsvariable ermöglicht eine individuelle Installation mit mehreren 'app.list' Dateien. Alle 'app.list' Dateien müssen in /build/config/$(GAIA_DEVICE_TYPE)/ Verzeichnissen liegen.</p> + +<p>Der Standardwert von GAIA_DEVICE_TYPE ist <strong>phone</strong>.</p> + +<div class="note"> +<p><strong>Hinweis</strong>: Weitere Details und optionen findest Du auf <a href="/de/Firefox_OS/Platform/Gaia/Hacking#Make_options">Hacking Gaia make options</a>.</p> +</div> + +<h2 id="Build-Prozess">Build-Prozess</h2> + +<p>Das Ablaufdiagramm, wie ein Build für Gaia erzeugt wird:</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/8635/gaia-build-system-seq-diagram.png" style="height: 1497px; width: 2222px;"></p> + +<p>pre-app.js, app.js & post-app.js werden von make gestartet und die meisten Build-Schritte werden in den xpcshell Skripten ausgeführt, make ermittelt das Betriebssystem und lädt den b2g-desktop herunter. Wir planen, mehr Build-Schritte von make in die xpcshell Skripte zu migrieren.</p> + +<p>Vielleicht fragst Du Dich, warum wir pre-app, app and post-app nutzen. Das liegt daran, dass wir immer mehr Abhängigkeiten von make in die xpcshell Skripte verlagern. Deshalb entwickelten wir pre-app.js und post-app.js basierend auf <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1021051">bug 1021051</a>, um den Großteil der Abhängigkeiten in die xpcshell Skripte zu verlagern. Am Ende werden dann app.js, pre-app.js und post-app.js auf Basis von <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1053703">bug 1053703</a> migriert.</p> + +<p>Wir haben drei Typen von Verzeichnissen in einem Gaia Build System:</p> + +<ol> + <li>Source-Verzeichnisse: apps, dev_apps, gemeinsame Verzeichnisse</li> + <li>Stage-Verzeichnis: build_stage (stage = Plattform)</li> + <li>Profil-Verzeichnisse: profile, profile-debug oder profile-test</li> +</ol> + +<p>Unser Ziel ist es, keine Dateien in die Source-Verzeichnisse hinein zu generieren. Leider haben wir immer noch ein paar Stellen, an denen Dateien in die Source-Verzeichnisse generiert werden. Wir planen, diese Probleme zu beheben. Die folgende Tabelle listet auf, von welchen Modulen Dateien ins Source-, ins Stage- und in die Profil-Verzeichnisse generiert werden.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/8653/file-accessing.png" style="height: 1250px; width: 1136px;"></p> + +<p>Der Build-Prozess führt bei Aufruf von <code>make</code> im Gaia-Verzeichnis die folgenden Schritte in der angegebenen Reihenfolge aus:</p> + +<ol> + <li><strong>b2g_sdk</strong>: b2g-desktop startet die xpcshell Skripte in <code>GAIA_DIR/build/</code>.</li> + <li><strong>svoperapps</strong>: Download der Apps und Generieren der Konfigurations-Dateien der App-Installation pro SIM-Karten-Anbieter und Land.</li> + <li><strong>webapp-manifests</strong>: Generieren der Metadaten der Web-Apps für den Build.</li> + <li><strong>keyboard-layouts</strong>: Generieren der Layout-Konfiguration der Standard-Tastatur.</li> + <li><strong>settings.json (settings.js)</strong>: Dieses JavaScript generiert die Standard-Einstellungen für Firefox OS, die von Gaia gelesen werden.</li> + <li><strong>webapp-shared</strong>: Kopieren der von den Apps benötigten Dateien vom gemeinsamen Source-Verzeichnis ins Stage-Verzeichnis.</li> + <li><strong>preferences</strong>: Generiert die Standard-Umgebung für Firefox OS; generiert die Datei <code>user.js</code> und kopiert diese auf das Gerät, wo sie von Gecko gelesen wird. Bitte beachte, dass die Standard-Umgebung abhängig von den Umgebungsvariablen (wie z.B. <code>DEBUG=1</code>) variieren kann.</li> + <li><strong>app.js</strong>: make-Dateien in den jeweiligen <code>app</code> Verzeichnissen: Sie werden ausgeführt, wenn sie existieren. Für jede App ohne eigene make-Datei kopiert die Gaia make-Datei das App-Verzeichnis ins Stage-Verzeichnis <code>build_stage</code> und führt <code>[app-directory]/build/build.js</code> aus, falls vorhanden. Siehe {{ anch("Build script for apps") }} für weitere Details.</li> + <li><strong>test-agent-bootstrap & test-agent-config</strong>: Einrichten der zwei make Regeln <code>test-agent-config</code> & <code>test-agent-bootstrap-apps</code>, welche für den Aufbau von Test-Umgebungen pro App benötigt werden.</li> + <li><strong>webapp-optimize</strong>: Dieses Skript enthält verschiedene Optimierungs-Prozeduren inklusive JavaScript Minimierung, Zusammenfügen von Lokalisierungs-Dateien in die JSON-Dateien und Generieren von HTML-Dateien für die Standard-Sprache, falls nötig.</li> + <li><strong>webapp-zip</strong>: Hier wird jede App in eine eigene zip-Datei komprimiert und diese im Verzeichnis <code>profile/</code> abgelegt.</li> + <li><strong>optimize-clean</strong>: <code>optimize-clean</code> bereinigt die HTML-Dateien für die Standard-Sprache.</li> + <li><strong>contacts</strong>: Kopiert eine vorgefertigte Kontakte-Datei in Dein Profil in <code>GAIA_DISTRIBUTION_DIR</code>, falls vorhanden.</li> + <li><strong>extensions</strong>: Kopiert die in <code>GAIA_DIR/tools/extensions</code> liegenden Erweiterungen in Dein Profil-Verzeichnis; verschiedene Konfigurationen ermöglichen das Kopieren verschiedener Erweiterungen.</li> + <li><strong>installed-extensions.json (additional-extensions.js)</strong>: Zu guter Letzt: Dieses Skript kopiert per Download verschiedene zusätzliche Erweiterungen in Dein Profil-Verzeichnis.</li> +</ol> + +<h2 id="Build-Skript_für_Apps">Build-Skript für Apps</h2> + +<p>Standardmäßig wird als App Build Skript <span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">[app directory]/build/build.js</span><span style="line-height: 1.5;"> von app.js </span><span style="line-height: 1.5;">ausgeführt, falls vorhanden. Wenn $APP/build/build.js nicht vorhanden ist, dann kopiert app.js die App ins Stage-Verzeichnis build_stage.</span></p> + +<p>Die Dateien im App-Verzeichnis sollten vom App Build-Skript ins Stage-Verzeichnis build_stage kopiert werden; denn app.js kopiert sie nicht, wenn ein App Build-Skript existiert. Beispiel: Die App "Kalender" hat ein Skript build/build.js und <a href="https://github.com/mozilla-b2g/gaia/blob/a0fa29db8e9e15afe3b1787bf494caa86a033f10/apps/calendar/build/build.js#L8">utils.copyToStage()</a> sollte in build.js für die "Kalender" App aufgerufen werden.</p> + +<div class="note"> +<p><strong>Hinweis</strong>: Sourcen, die nicht zu Deiner App gehören (wie in shared/) kannst Du in der index.html in den <head> Bereich einfügen, damit sie von shared/ in Deine App kopiert werden.</p> +</div> + +<p>Build-Skripte für Apps benötigen möglicherweise alle Build Module im Verzeichnis $GAIA_DIR/build; speziell das utils Modul, ein sehr nützliches Modul für den Build von Apps, kannst Du require('utils') verwenden um das Modul einzubinden.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/8651/flow-diagram.png" style="height: 952px; width: 1004px;"></p> + +<h2 id="Anpassen_der_Voreinstellungen">Anpassen der Voreinstellungen</h2> + +<p>Wenn Du eine eigene Konfiguration mit Einstellungen und Apps immer wieder beim Flashen Deines Gerätes benötigst, dann kannst Du eine Datei namens <code>custom-prefs.js</code> mit all Deinen Präferenzen im Verzeichnis <code>build/config</code> ablegen. Dort ist sie vor Überschreiben geschützt und unterliegt nicht der Source-Steuerung.</p> + +<p>Hier sind einige sinnvolle Voreinstellungen:</p> + +<pre class="brush: js">// Aktivieren von marionette für Performance-Tests +// siehe https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_performance_tests +user_pref("marionette.defaultPrefs.enabled", true); + +// Setzen des Ports für remote Debugging Deiner Anwendung auf Deinem Gerät +user_pref("devtools.debugger.remote-port", 60000); + +// Aktivieren des remote Debuggers +user_pref("devtools.debugger.remote-enabled", true); + +// Ausgeben der Debug-Meldungen über den Radio Interface Layer in logcat +user_pref("ril.debugging.enabled", true); +</pre> + +<p>Diese Datei wird immer gelesen, wenn Du ein Profil generierst. Der sicherste Weg sicherzustellen, dass alles generiert wurde ist das vorherige Löschen des vorhandenen Profils:</p> + +<pre class="brush: bash">rm -rf profile && make profile</pre> + +<p>Anschließend kannst Du beruhigt die <code>install-gaia </code>Option von make verwenden.</p> + +<h2 id="FAQ">FAQ</h2> + +<h3 id="Das_Display_bleibt_Schwarz_nach_einem_flash">Das Display bleibt Schwarz nach einem flash</h3> + +<p>Das kann manchmal passieren, wenn das Gerät im Ruhemodus geflasht wird. Um das Problem zu beheben starte B2G einfach durch das folgende Kommando neu:</p> + +<pre class="brush: bash">adb shell stop b2g && adb shell start b2g</pre> + +<p><br> + </p> diff --git a/files/de/archive/b2g_os/gaia_entwickeln/customizing_build-time_apps/index.html b/files/de/archive/b2g_os/gaia_entwickeln/customizing_build-time_apps/index.html new file mode 100644 index 0000000000..928799c864 --- /dev/null +++ b/files/de/archive/b2g_os/gaia_entwickeln/customizing_build-time_apps/index.html @@ -0,0 +1,117 @@ +--- +title: 'Gaia-Apps: Build anpassen' +slug: Archive/B2G_OS/Gaia_Entwickeln/Customizing_build-time_apps +tags: + - Anpassung + - Apps + - Firefox OS + - Gaia + - build +translation_of: Archive/B2G_OS/Developing_Gaia/Customizing_build-time_apps +--- +<div class="summary"> +<p><span class="seoSummary">Entwickler und Geräte-Hersteller wollen die App-Pakete oftmals beim Erzeuen eines Builds aus verschiedenen Gründen anpassen. Dieser Artikel erklärt die unterschiedlichen Mechanismen dafür.</span></p> +</div> + +<h2 id="Pfade_für_App-Dateien_in_Gaia">Pfade für App-Dateien in Gaia</h2> + +<p>Alle Firefox OS Apps befinden sich in einem der folgenden Pfade im Gaia Verzeichnisbaum:</p> + +<ul> + <li><a href="https://github.com/mozilla-b2g/gaia/tree/master/apps">gaia/apps/</a>: Hier liegen die Standard-Apps von Firefox OS wie Kalender, E-Mail, Einstellungen etc.</li> + <li><a href="https://github.com/mozilla-b2g/gaia/tree/master/dev_apps">gaia/dev-apps</a>: Hier sind die anderen Apps zu finden, z.B. die kundenspezifischen Apps.</li> +</ul> + +<p>Falls Du in Deinem Gaia/B2G Build Apps herauslassen oder hinzufügen möchtest, dann kannst Du das auf verschiedene Weise tun. Details dazu werden nachfolgend erläutert.</p> + +<h2 id="Die_harte_Methode">Die harte Methode</h2> + +<p>Bei der harten Methode werden einfach die Apps gelöscht, die man nicht in den Build mit einbeziehen will.</p> + +<h2 id="Anpassen_der_Konfigurations-Dateien">Anpassen der Konfigurations-Dateien</h2> + +<p>Die etwas elegantere Methode ist das Anpassen der <code>apps-*.list</code> Dateien (zu finden in den verschiedenen gerätespezifischen Verzeichnissen, die in <a href="https://github.com/mozilla-b2g/gaia/tree/master/build/config">gaia/build/config/</a> aufgelistet sind, z.B. <code>phone/</code> und <code>tablet/</code>), um die für den Build gewünschten Apps zu konfigurieren. Zum Beispiel könnte die Konfigurations-Datei <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-production.list">gaia/build/config/phone/apps-production.list</a> wie folgt aussehen:</p> + +<pre class="brush: bash">apps/bluetooth +apps/bookmark +apps/browser +apps/calendar +apps/callscreen +etc.</pre> + +<p>Du kannst hier auch alle Apps eines Verzeichnisses einbinden, und zwar so:</p> + +<pre class="brush: bash">apps/*</pre> + +<p>Welche <code>apps-*.list</code> Dateien wiederum für den Build verwendet werden um die verfügbaren Apps zu ermitteln ist in der Datei <a href="https://github.com/mozilla-b2g/gaia/blob/master/Makefile">gaia/Makefile</a> hinterlegt, die etwa so aussieht:</p> + +<pre class="brush: cpp"><span class="nv">GAIA_DEVICE_TYPE</span><span class="o">?=</span>phone + ... +GAIA_APP_TARGET?=engineering + ... +ifeq ($(MAKECMDGOALS), demo) +GAIA_DOMAIN=thisdomaindoesnotexist.org +GAIA_APP_TARGET=demo +else ifeq ($(MAKECMDGOALS), dogfood) +DOGFOOD=1 +else ifeq ($(MAKECMDGOALS), production) +PRODUCTION=1 +endif + ... +ifeq ($(PRODUCTION), 1) +GAIA_OPTIMIZE=1 +GAIA_APP_TARGET=production +endif + +ifeq ($(DOGFOOD), 1) +GAIA_APP_TARGET=dogfood +endif + ... +ifndef GAIA_APP_CONFIG +GAIA_APP_CONFIG=build$(SEP)config$(SEP)apps-$(GAIA_APP_TARGET).list +endif</pre> + +<p>Standardmaßig ist die Variable <code>GAIA_APP_TARGET</code> auf <code>engineering</code> gesetzt und die Variable <code><span class="nv">GAIA_DEVICE_TYPE</span></code> auf <code>phone</code>, so dass beim Build von Gaia per Default die Datei <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-engineering.list">gaia/config/phone/app-engineering.list</a> verwendet wird (die alle Apps enthält, u.a. auch Test- und Demo-Apps).</p> + +<p>Um andere <code>apps-*.list</code> Dateien zu verwenden musst Du entsprechende Parameter beim Aufruf des <code>make</code> Kommandos mitgeben. Um z.B. den Build mit <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-production.list">gaia/build/config/phone/apps-production.list</a> zu starten müsstest Du das hier verwenden:</p> + +<pre class="brush: bash">PRODUCTION=1 make</pre> + +<p>Wenn Du den Build mit <code>DEMO=1</code> startest, dann wird die Datei <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-demo.list">apps-demo.list</a> verwendet. Und wenn Du den Build mit <code>DOGFOOD=1</code> startest, dann wird die Datei <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-dogfood.list">apps-dogfood.list</a> verwendet.</p> + +<p>Du kannst dieses Verhalten komplett übersteuern, indem Du die Variable <code>GAIA_APP_CONFIG</code> in der Datei <a href="https://github.com/mozilla-b2g/gaia/blob/master/Makefile">gaia/Makefile</a> änderst und dort eine eigene <code>apps-*.list</code> Datei einträgst.</p> + +<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/Android.mk#L24-L28">gaia/Android.mk</a> enthält diese Zeilen:</p> + +<pre class="brush: cpp">ifneq ($(filter user userdebug, $(TARGET_BUILD_VARIANT)),) +GAIA_MAKE_FLAGS += PRODUCTION=1 +B2G_SYSTEM_APPS := 1 +endif</pre> + +<p>Wenn Du den Build mit <code>VARIANT=user</code> oder <code>VARIANT=userdebug</code> startest (dieses Übersteuern spiegelt sich auch in der Variable <code>TARGET_BUILD_VARIANT</code> wieder), dann wird <code>PRODUCTION=1</code> automatisch gesetzt.</p> + +<div class="note"> +<p><strong>Hinweis</strong>: Weitere Optionen für make findest Du in der <a href="/en-US/Firefox_OS/Developing_Gaia/make_options_reference">make options reference</a>.</p> +</div> + +<h2 id="Verwenden_eigener_Distributionen">Verwenden eigener Distributionen</h2> + +<p>Die dritte und eleganteste (allerdings auch komplexeste) Methode ist das Verwenden eigener Distributionen. Dies ermöglicht das Einbinden eigener Konfigurationen und Pakete ohne das Gaia Paket selbst zu ändern. Du kannst für Deine angepassten Konfigurationen und Pakete eigene Verzeichnisse oder die mit Gaia ausgelieferten Verzeichnisse verwenden.</p> + +<p>Du kannst Deine Distribution durch Setzen der Umgebungsvariable <code>GAIA_DISTRIBUTION_DIR</code> in den Build einbinden, zum Beispiel so:</p> + +<pre class="brush: bash"><code class="language-html">GAIA_DISTRIBUTION_DIR=<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>DISTRIBUTION_PATH</span><span class="punctuation token">></span></span> make production</code></pre> + +<p>Mehr Informationen zum Erstellen individueller Distributionen findest Du auf <a href="https://github.com/mozilla-b2g/gaia/tree/master/customization">https://github.com/mozilla-b2g/gaia/tree/master/customization</a>.</p> + +<p>Dieses komplexe Thema hat eine komplett eigene Dokumentation. Mehr zum Thema erfährst Du unter <a href="/en-US/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide">Market Customizations guide</a>.</p> + +<div class="note"> +<p><strong>Hinweis</strong>: Wenn Du Apps von Drittanbietern in Deinen Gaia Build einbinden willst, dann müssen diese auf spezielle Art erzeugt werden bevor sie im Verzeichnis <code>gaia/dev-apps/</code> abgelegt werden. Nähere Informationen findest Du auf <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide#Building_Prebundled_web_apps">Building Prebundled web apps</a>.</p> +</div> + +<div class="warning"> +<p><strong>Wichtig</strong>: Wenn Sie als Geräte-Hersteller einen angepassten B2G/Gaia Build für Ihre Distribution verwenden möchten, dann müssen Sie bestimmte Voraussetzungen erfüllen bevor Sie Firefox OS Marketplace Apps auf Ihrem Smartphone, Tablet etc. anbieten dürfen. Bitte kontaktieren Sie in einem solchen Fall Mozilla für nähere Informationen.</p> +</div> + +<p> </p> diff --git a/files/de/archive/b2g_os/gaia_entwickeln/durchfuehrung_der_gaia_codebase/index.html b/files/de/archive/b2g_os/gaia_entwickeln/durchfuehrung_der_gaia_codebase/index.html new file mode 100644 index 0000000000..eef4cb0c8e --- /dev/null +++ b/files/de/archive/b2g_os/gaia_entwickeln/durchfuehrung_der_gaia_codebase/index.html @@ -0,0 +1,71 @@ +--- +title: Durchführung der Gaia codebase +slug: Archive/B2G_OS/Gaia_Entwickeln/Durchfuehrung_der_Gaia_codebase +tags: + - B2G + - Firefox + - Firefox OS + - Firefox OS lokal ausführen + - Gaia + - beitragen + - 'l10n:priority' +translation_of: Archive/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase +--- +<div class="summary"> +<p><span class="seoSummary">Dieser Artikel beschreibt im Detail die lokale Durchführung der Gaia Codebase und welche Werkzeuge in diesem Setup verfügbar sind.</span></p> +</div> + +<p>Zuerst sei erwähnt, dass Du NICHT Gecko oder B2G erstellen musst, um zu Gaia beizutragen. Du musst lediglich den Gaia Quellcode herunterladen und die Möglichkeit haben, diesen auszuführen und zu editieren.<br> + <br> + Es gibt verschiedene Möglichkeiten, Gaia auszuführen:</p> + +<ul> + <li>Flashe Dein Smartphone mit der aktuellen Gaia Version.</li> + <li>Starte Gaia innerhalb einer B2G Desktop Version.</li> + <li>Führe Gaia innerhalb von WebIDE aus.</li> + <li>Starte Gaia innerhalb Deines Firefox Mulet Tools aus, um Gaia auf dem Desktop auszuführen.</li> +</ul> + +<p>Du findest auf der <a href="/en-US/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a> Seite kurzgefasste Informationen über jede der genannten Möglichkeiten, zusammen mit Links zu detailierten Beschreibungen - je nach Bedarf. Generell sind diese nach Komplexität geordnet, absteigend von der komplexesten zur einfachsten (aber unwahrscheinlichsten) Methode.</p> + +<p>In diesem Artikel konzentrieren wir uns auf das Ausführen von Gaia innerhalb von Firefox Mulet oder in WebIDE. Für die meisten Änderungen, die Du in der Gaia Codebase machen möchtest, bietet dies den schnellsten Mechanismus, Updates zu testen aber offensichtlich gibt es einige Funktionen (z. B. das Testen von Geräte-APIs oder Interaktion mit der Smartphone Hardware ), für die ein physisches Gerät benötigt wird.</p> + +<div class="note"> +<p><strong>Info</strong>: Um weitere Hilfe zu Gaia zu bekommen, der beste Platz ist der #gaia IRC Channel (siehe auch <a href="https://wiki.mozilla.org/IRC">Mozilla IRC</a> für weitere Informationen hierzu) und die <a href="https://lists.mozilla.org/listinfo/dev-gaia">dev-gaia mailing list</a>.</p> +</div> + +<h2 id="Ausführen_der_eigenen_Gaia_Version">Ausführen der eigenen Gaia Version</h2> + +<ol> + <li>Erstelle zuerst eine Verzweigung von der <a href="https://github.com/mozilla-b2g/gaia">Gaia repo on Github</a>.</li> + <li>Als nächstes, klone Deine Verzweigung lokal: + <pre class="brush: bash">git clone https://github.com/your-username/gaia.git</pre> + </li> + <li>Füge den Upstream wie folgt hinzu: + <pre class="brush: bash">cd gaia +git remote add upstream https://github.com/mozilla-b2g/gaia</pre> + </li> + <li>Nun musst Du ein Gaia Profil anlegen. Führe <code>make</code> innerhalb Deines repo Ordners aus, um ein Profil in der <code>profile</code> Directory anzulegen, die für optimales Debugging konfiguriert ist. Dies erzeugt ungepackte (hosted) Versionen der Gaia Apps, welche dazu fungieren, gebündelt und direkt über den lokalen HTTPD Server -zusammen als Erweiterung für Firefox Desktop- übertragen zu werden. Wenn Du Änderungen gemacht hast, musst Du nur Dein Browser Fenster aktualisieren, um das Ergebnis zu sehen (wie Du es später sehen wirst), statt Dein Profil erneuern zu müssen, erneut auf das Gerät übertragen u.s.w..<br> + Dies ist sehr gut für schnelles CSS/JS/HTML Hacking.</li> + <li>Mit Deinem angelegten Debug Profil, führe es in <a href="/en-US/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia#Using_Gaia_in_Firefox_Mulet">Mulet</a> or <a href="/en-US/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia#Using_Gaia_inside_WebIDE_with_a_Firefox_OS_Simulator">WebIDE</a> aus, mithilfe der Anleitungen hinter den Links.</li> +</ol> + +<h2 id="Troubleshooting_und_bekannte_Probleme">Troubleshooting und bekannte Probleme</h2> + +<h3 id="Error_Python_executable_python3_is_v3.x_which_is_not_supported_by_gyp.">Error: Python executable "python3" is v3.x, which is not supported by gyp.</h3> + +<p>In manchen Linux Versionen (eg: Archlinux), ist <code>python3</code> der Standard <code>python</code>. Dadurch scheitert <code>npm</code> beim Ausführen mancher Befehle (z B. beim Testen). Um dies permanent zu beheben, führe folgenden Befehl aus:</p> + +<pre>npm config set python python2</pre> + +<p>Weiter Lösungen findest Du auch auf dieser Seite: <a href="http://stackoverflow.com/questions/20454199/how-to-use-a-different-version-of-python-duing-npm-install">Stack Overflow page</a>.</p> + +<p>Danach solltest Du Deine <code>node_modules</code> Directory löschen und den gescheiterten Befehl erneut ausführen.</p> + +<h3 id="Please_Install_NodeJS_--_(use_aptitude_on_linux_or_homebrew_on_osx)">Please Install NodeJS -- (use aptitude on linux or homebrew on osx)</h3> + +<p>Nun bekommst Du diesen Fehler obwohl Du NodeJS installiert hast. Möglicherweise benutzt Du Debian oder andere Debian-basierende Versionen wie zum Beispiel Ubuntu. Bei diesen Versionen ist NodeJS im <code>nodejs</code> Paket und Du kannst das <code>nodejs-legacy</code> Paket folgendermaßen installieren, um alles korrekt aufzusetzen:</p> + +<pre>sudo aptitude install nodejs-legacy</pre> + +<p>Solltest Du bei der Installation des Paketes Probleme haben, benutzt Du eventuell <a href="http://www.ubuntuupdates.org/ppa/chris_lea_nodejs">Chris Lea's PPA for Node</a>; bitte entferne diese bevor Du weitermachst.</p> diff --git a/files/de/archive/b2g_os/gaia_entwickeln/index.html b/files/de/archive/b2g_os/gaia_entwickeln/index.html new file mode 100644 index 0000000000..d6f1d582d6 --- /dev/null +++ b/files/de/archive/b2g_os/gaia_entwickeln/index.html @@ -0,0 +1,52 @@ +--- +title: Gaia entwickeln +slug: Archive/B2G_OS/Gaia_Entwickeln +tags: + - B2G + - Bugs + - Firefox OS + - Gaia + - Mozilla + - beitragen +translation_of: Archive/B2G_OS/Developing_Gaia +--- +<div class="summary"> +<p><span class="seoSummary">Gaia ist das User Interface von Firefox OS, sowie eine Suite für die Standard-Apps. Gaia beinhaltet den Sperr- und Startbildschirm, die Telefonie-App und weitere Apps. Im Grunde ist Gaia eine Menge an Web-Apps, welche auf Firefox OS laufen. Diese Artikel behandelt alles, was zur Mitentwicklung an Gaia wissenswert ist.</span></p> +</div> + +<p>In diesem Guide zeigen wir dir einen produktiven Workflow, um an Gaia mitzuarbeiten - und damit meinen wir, neue Features zu Gaia hinzuzufügen und an Bugs im Gaia Projekt zu arbeiten. Die ersten paar Artikel können in gegebener Reihenfolge durchgearbeitet werden oder du überspringst sie und gehst direkt zum relevanten Abschnitt, wenn du dein Wissen über ein bestimmtes Thema auffrischen möchtest.</p> + +<p>Danach stellen wir Referenzmaterialien und Informationen zu weiteren Themen zur Verfügung.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/7951/gaia-2.0-screen.png" style="float: right; height: 533px; padding: 0px 0px 30px 30px; width: 320px;"></p> + +<h2 id="Die_Grundlagen">Die Grundlagen</h2> + +<ol> + <li><a href="/de/Firefox_OS/Developing_Gaia/Running_the_Gaia_codebase">Die Gaia Codebase zum Laufen bringen</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Die Gaia Codebase verstehen</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Making_Gaia_code_changes">Änderungen am Gaia Code machen</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Test_Gaia_code_changes">Änderungen am Gaia Code testen</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Submitting_a_Gaia_patch">Einen Gaia Patch einreichen</a></li> +</ol> + +<h2 id="Gaia_Build_Referenzen">Gaia Build Referenzen</h2> + +<ul> + <li><a href="/de/Firefox_OS/Developing_Gaia/Build_System_Primer">Leitfaden des Gaia Build-Systems</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Customizing_build-time_apps">Apps für den Erststart anpassen</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/make_options_reference">Optionen für make</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Gaia_tools_reference">Referenz zu den Gaia Tools</a></li> +</ul> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li><a href="/de/Firefox_OS/Developing_Firefox_OS/Filing_bugs_against_Firefox_OS">Bug-Meldungen für Firefox OS einreichen</a></li> + <li><a href="/de/Firefox_OS/Platform/Gaia/Gaia_apps">Apps Guide zu Gaia</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Different_ways_to_run_Gaia">Verschiedene Wege, um Gaia zum Laufen zu bringen</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Market_customizations_guide">Guide zur Market-Anpassung</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Customizing_the_keyboard">Anpassung der Tastatur in Firefox OS Apps</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/Localizing_Firefox_OS">Firefox OS übersetzen (Übersetzer)</a></li> + <li><a href="/de/Firefox_OS/Developing_Gaia/L10n_Best_Practices">Praktiken für den Einbau von übersetzbaren Code (Entwickler)</a></li> +</ul> diff --git a/files/de/archive/b2g_os/gaia_entwickeln/making_gaia_code_changes/index.html b/files/de/archive/b2g_os/gaia_entwickeln/making_gaia_code_changes/index.html new file mode 100644 index 0000000000..18a2a01cf5 --- /dev/null +++ b/files/de/archive/b2g_os/gaia_entwickeln/making_gaia_code_changes/index.html @@ -0,0 +1,85 @@ +--- +title: Gaia Coding ändern +slug: Archive/B2G_OS/Gaia_Entwickeln/Making_Gaia_code_changes +tags: + - Anleitung + - Code + - Firefox OS + - Gaia + - Änderungen +translation_of: Archive/B2G_OS/Developing_Gaia/Making_Gaia_code_changes +--- +<div class="summary"> +<p><span class="seoSummary">Jetzt, wo Gaia auf Deinem Desktop läuft und Du zu einem gewissen Grad die Arbeitweise der Codebase verstehst, solltest Du in der Lage sein Änderungen am Gaia Code durchzuführen. Dieser Artikel beschreibt, wie Änderungen durchgeführt werden und wie man Fehler findet um sie zu beheben.</span></p> +</div> + +<h2 id="Git_Best_Practices">Git Best Practices</h2> + +<ol> + <li>Vor dem Ändern von Gaia solltest Du zuerst den master Zweig (branch) aktualisieren: + <pre class="brush: bash">cd path/to/gaia +git checkout master +git pull upstream master</pre> + </li> + <li>Als nächstes brauchst Du einen eigenen Zweig für Deine Änderungen: + <pre class="brush: bash">git checkout -b my-code-fix</pre> + </li> + <li>Anschließend gehst Du ins Verzeichnis <code>gaia/apps</code> und führst Deine Änderungen an den App-Dateien durch.</li> +</ol> + +<h2 id="Beispiel_einer_einfachen_Code-Änderung">Beispiel einer einfachen Code-Änderung</h2> + +<p>Um Code-Änderungen anzuzeigen:</p> + +<ol> + <li>Führe die gewünschten Änderungen an der Gaia Codebase durch und speichere die Änderungen.</li> + <li>Beende Firefox Mulet oder den WebIDE Simulator.</li> + <li>Erneuere Dein Gaia Profil mit <code>make</code>.</li> + <li>Starte Firefox Mulet oder den WebIDE Simulator erneut.</li> +</ol> + +<p>Lass uns etwas Einfaches ändern wie die Textfarbe der Uhr auf dem Sperrbildschirm:</p> + +<p><img alt="Gaia lockscreen showing the clock display in white text" src="https://mdn.mozillademos.org/files/7929/gaia-lockscreen-clock.png" style="display: block; height: 623px; margin: 0px auto; width: 369px;"></p> + +<ol> + <li>Der beste Weg um herauszufinden wo dieser Stil geändert wird ist über die Entwickler-Werkzeuge. Verwende hier Strg/rechte Maustaste + Klick auf die Uhr im Firefox Desktop und wähle im Kontext-Menü <em>Element untersuchen</em>.</li> + <li>Nun kannst Du die zu ändernde CSS Datei suchen — in diesem Fall <code>gaia/apps/system/lockscreen/style/lockscreen.css</code> — und die Änderungen an den CSS Styles auf der rechten Seite des Displays nach Deinen Vorstellungen vornehmen.</li> + <li>Wenn Du mit Deinen Änderungen zufrieden bist, dann öffne die Datei und mache dort Deine Änderungen direkt.</li> + <li>Als nächstes führst Du die oben aufgeführten Schritte durch, um Dir Deine Änderungen anzusehen.</li> +</ol> + +<p><img alt="Gaia lockscreen showing the clock display modified from white to red text" src="https://mdn.mozillademos.org/files/7931/gaia-lockscreen-clock-modified.png" style="display: block; height: 622px; margin: 0px auto; width: 366px;"><br> + <br> + <br> + Einschränkungen im Gaia Firefox Mulet Rendering:</p> + +<ul> + <li>Im Desktop Firefox Rendering werden die Apps im Vergleich zur Smartphone-Version so originalgtreu wie möglich simuliert, aber an einigen Stellen wirst Du ein paar Unterschiede feststellen.</li> + <li>Nicht alle Geräte-APIs werden im Desktop Firefox unterstützt; eine Liste der unterstützten APIs findest Du auf <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/preferences.js">preferences.js</a>.</li> +</ul> + +<h2 id="Wo_man_zu_bearbeitende_Fehler_findet">Wo man zu bearbeitende Fehler findet</h2> + +<p>Am besten nutzt Du <a href="http://www.joshmatthews.net/bugsahoy/?b2g=1">Josh Matthews' Bugs Ahoy app</a> um Fehler zu finden, die Du bearbeiten kannst — diese Seite liest die vorhandenen Bugs direkt aus Mozilla's Bugzilla und stellt sie im Browser inklusive Suchfunktion dar. Wenn Du einen Fehler gefunden hast den Du bearbeiten willst, dann gehe zu dessen Bugzilla-Seite, trage Dich als Bearbeiter im Feld "assigned to" ein und beginne mit der Arbeit wie oben beschrieben.</p> + +<h3 id="Nützliche_Tipps">Nützliche Tipps</h3> + +<ul> + <li>Wenn Du an Bugs arbeitest die einem Mentor zugewiesen sind wird jemand aus dem Gaia Core Team diesen Vorgang beobachten und Dir mit Rat und Tat zur Seite stehen. Falls Du ein neuer Mitwirkender im Firefox OS Verbesserungs-Prozess bist, dann kann das Bearbeiten von solchen Fehlern sehr hilfreich sein. Einem Mentor zugewiesene Bugs haben in den Firefox OS Bugzilla-Seiten einen Eintrag im Feld "Mentors". Bugs Ahoy listet solche Bugs ebenfallls auf.</li> + <li>Wenn Du ein komplett neuer Bugzilla-Anwender bist, dann wirst Du Dich vielleicht nicht selbst einem Bug als Bearbeiter zuordnen können. Falls Du damit Probleme haben solltest, wende Dich an den im Bug angegebenen Mentor (falls vorhanden) oder schildere Dein Problem im Kommentar-Feld.</li> + <li>Wenn Du ein bischen mehr Erfahrung hast, dann kannst Du jemanden nach den entsprechenden Berechtigungen fragen, um Dir selbst Bugs zuzuweisen.</li> + <li>Eine andere gute Möglichkeit zum Finden offener Bugs ist <code>[good first bug]</code>, speziell wenn Du als Neu-Einsteiger mit etwas Einfacherem anfangen möchtest. Diese speziell für Neu-Einsteiger gefilterte Liste findest Du auf <a href="http://www.joshmatthews.net/bugsahoy/?b2g=1&simple=1">http://www.joshmatthews.net/bugsahoy/?b2g=1&simple=1</a>.</li> + <li>Du solltest Deine Suche nach für Dich geeigneten Projekten speichern. Beispiel für eine Bug-Suche für die Gaia App "Uhr" :</li> +</ul> + +<p><a href="https://bugzilla.mozilla.org/buglist.cgi?columnlist=product%2Ccf_blocking_b2g%2Cbug_status%2Cresolution%2Cshort_desc&resolution=---&query_based_on=CLOCK&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Gaia%3A%3AClock&product=Boot2Gecko&known_name=CLOCK&list_id=10497922">https://bugzilla.mozilla.org/buglist.cgi?columnlist=product%2Ccf_blocking_b2g%2Cbug_status%2Cresolution%2Cshort_desc&resolution=---&query_based_on=CLOCK&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Gaia%3A%3AClock&product=Boot2Gecko&known_name=CLOCK&list_id=9776392</a></p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li><a href="https://mozilla.app.box.com/s/wzgsb3lkqglv0dnfdgzs">Gaia powerpoints for visual/interaction specifications</a></li> + <li><a href="https://etherpad.mozilla.org/gaia-meeting-notes">Weekly Gaia meeting Etherpad</a></li> + <li><a href="https://datazilla.mozilla.org/">Datazilla</a>: Mozilla's Performance Test Werkzeug<br> + </li> +</ul> diff --git a/files/de/archive/b2g_os/index.html b/files/de/archive/b2g_os/index.html new file mode 100644 index 0000000000..4447e3c024 --- /dev/null +++ b/files/de/archive/b2g_os/index.html @@ -0,0 +1,163 @@ +--- +title: B2GOS +slug: Archive/B2G_OS +tags: + - Anfangen + - Anfänger + - B2G OS + - Basic + - Firefox OS + - Gaia + - Gecko + - Gonk + - NeedsTranslation + - TopicStub +translation_of: Archive/B2G_OS +--- +<div class="summary"> +<p><span class="seoSummary">B2G OS ist ein vollständiges, selbstständig arbeitendes Betriebssystem für das offene Web. Es ist ein von der Mozilla-Community entwickeltes Open-Source-Projekt und bildet die Grundlage der Firefox OS-Produkte.</span></p> +</div> + +<p><strong>B2G</strong> <strong>OS</strong> ist ein von der Community gepflegtes Open-Source-Betriebssystem für Smartphones, Tablets, Smart TVs und andere internetfähige Geräte. Das Projekt startete ursprünglich 2011 und basiert auf dem Linux-Kernel und der Rendering-Engine Gecko. Die komplette Nutzeroberfläche ist mit Web-Technologien geschrieben und kann zum Starten und Benutzen von <a href="/de/Apps">Web-Anwendungen</a> benutzt werden. Nachdem die Mozilla Corporation ihr kommerzielles Firefox OS Smartphone-Programm eingestellt hat, wird das Projekt für Smartphones von Mozillas Community weiterentwickelt und als B2G OS geführt.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/13140/B2g_wordmark.png" style="height: 193px; width: 555px;"></p> + +<div class="note"> +<p><strong>Hinweis</strong>: <a href="https://wiki.mozilla.org/B2G/Transition_Project/Call_For_Contribution">Aufruf zur Mitarbeit</a> & <a href="https://discourse.mozilla-community.org/t/updated-13th-july-call-for-app-maintainers-adopt-an-app/9300">Aufruf zur Appanpassung</a> um mehr Personen zu beteiligen. Hilf uns und teile ihn!</p> +</div> + +<div class="column-container"> +<div class="column-third"> +<h2 id="Mithelfen">Mithelfen</h2> + +<ul> + <li>Melde & behebe Fehler (Meta-Bug ist <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1252143">Bug 1252143</a>)</li> + <li>Hilf uns, fehlschlagende <a href="/en-US/docs/Archive/Firefox_OS/Automated_testing">Tests</a> zu reparieren</li> + <li>Portiere eine Gaia <a href="https://mozilla-b2g.github.io/gaia/">Smartphone-App</a>: + <ol> + <li>in eine Web-App (oder)</li> + <li>in eine chrome://-Anwendung (<a href="https://discourse.mozilla-community.org/t/why-gaia-apps-are-turned-to-chrome/8011">warum?</a>) und berichte darüber</li> + </ol> + </li> + <li><a href="/en-US/docs/Mozilla/B2G_OS/Porting_B2G_OS">Portiere B2G OS für dein Smartphone</a> und hilf uns, den Port zu pflegen</li> + <li>Hilf uns, diese Dokumentation und das Wiki zu verbessern und zu übersetzen</li> + <li>Schlage neue Smartphone-Funktionen vor und implementiere sie</li> +</ul> +</div> + +<div class="column-third"> +<h2 id="Mitreden">Mitreden</h2> + +<ul> + <li>Mailing-Liste (<a href="https://lists.mozilla.org/listinfo/dev-fxos">dev-fxos</a>)</li> + <li><a href="https://wiki.mozilla.org/IRC">IRC</a> (irc.mozilla.org #fxos)</li> + <li><a href="https://discourse.mozilla-community.org/c/b2g-os-participation">Discourse</a></li> + <li><a href="https://telegram.me/B2GOS">Telegram-Gruppe</a></li> + <li><a href="https://wiki.mozilla.org/B2G/Transition_Project/FAQ">Projekt-Wiki</a></li> + <li><a href="https://wiki.mozilla.org/B2G/Meeting">B2G Wöchentliches Meeting</a> für Status-Updates zum Engineering</li> + <li>Dokumentations-Probleme werden auf <a href="https://github.com/mozilla-b2g/B2GOS-community/issues">GitHub</a> gesammelt</li> + <li>Um an Meetings und Community Working Group-Meetings teilzunehmen, trage dich in diesen <a href="https://calendar.google.com/calendar/embed?src=mozilla.com_2d3638353137343333373332@resource.calendar.google.com">Kalender</a> ein. Sie werden auf <a href="https://discourse.mozilla-community.org/c/b2g-os-participation">Discourse</a> angekündigt. Dort findest du auch weitere Informationen dazu, wie du dich anmeldest und die Notizen.</li> + <li><a href="/en-US/docs/Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build" title="Mozilla/Firefox_OS/Preparing for your first B2G build">Vorbereitung des ersten Builds</a></li> + <li><a href="/en-US/docs/Mozilla/Firefox_OS/Building" title="Mozilla/Firefox_OS/Building">B2G OS erstellen</a></li> +</ul> +</div> + +<div class="column-third"> +<h2 id="Geräte">Geräte</h2> + +<p>Informationen zu unterstützten Geräten, auf denen B2G OS laufen kann:</p> + +<ul> + <li><a href="https://discourse.mozilla-community.org/t/building-b2g-os-for-aries-z3c/8082">Sony Xperia Z3C</a> (Entwicklergerät)</li> + <li><a href="https://discourse.mozilla-community.org/t/flame-builds/8548">Flame</a> (Entwicklergerät)</li> + <li><a href="https://discourse.mozilla-community.org/t/zte-open-c/8402">ZTE Open C</a> (in Arbeit)</li> + <li>WileyFox Swift</li> + <li>Nexus 4 (in Arbeit)</li> + <li><a href="https://discourse.mozilla-community.org/t/fairphone-2-support-for-b2g-installer-landed/8334">Fairphone 2</a> (in Arbeit)</li> + <li><a href="https://discourse.mozilla-community.org/t/support-for-amami-xperia-z1c-building-debugging-providing-builds/8348">Sony Xperia Z1C</a> (in Arbeit)</li> + <li><a href="https://discourse.mozilla-community.org/t/b2g-os-flamingo-sony-xperia-e3-builds/8361">Sony Xperia E3</a> (in Arbeit)</li> +</ul> + +<p>Mehr Informationen finden sich <a href="/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">hier</a>.</p> + +<p>Dein Gerät ist nicht dabei? Probier die <a href="https://wiki.mozilla.org/Mulet">Mulet</a>-Desktopanwendung aus.</p> +</div> +</div> + +<div class="note"> +<p><strong>Hinweis:</strong> Einige Seiten wurden in das <a href="/en-US/docs/Archive/Firefox_OS">MDN-Archiv</a> verschoben. Lass es uns wissen, wenn du Schwierigkeiten hast, etwas zu finden oder ein Abschnitt aus dem Archiv hierher zurückgeholt werden sollte.</p> +</div> + +<p> </p> + +<h2 id="Subnav">Subnav</h2> + +<ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/B2G_OS_Architecture">B2G OS Architecture</a> + + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/B2G_OS_Architecture">B2G OS Architecture</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li> + </ol> + </li> + <li><a class="toggler" href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia">Gaia</a> + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia">Gaia overview</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Developing Gaia</a> + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li> + </ol> + </li> + </ol> + </li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build B2G OS</a> + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build overview</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building">Building B2G OS</a> + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building/Building_for_Fairphone">Building for Fairphone</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li> + </ol> + </li> + </ol> + </li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Run B2G OS on Desktop</a> + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Mulet">Run B2G OS on desktop using Mulet</a></li> + </ol> + </li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Install B2G OS on mobile</a> + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li> + </ol> + </li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Create updates for B2G OS</a> + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community build</a></li> + </ol> + </li> + <li><a class="toggler" href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting B2G OS</a> + <ol> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li> + </ol> + </li> +</ol> diff --git a/files/de/archive/b2g_os/installing_on_a_mobile_device/index.html b/files/de/archive/b2g_os/installing_on_a_mobile_device/index.html new file mode 100644 index 0000000000..96a469353c --- /dev/null +++ b/files/de/archive/b2g_os/installing_on_a_mobile_device/index.html @@ -0,0 +1,81 @@ +--- +title: Installing Firefox OS on a mobile device +slug: Archive/B2G_OS/Installing_on_a_mobile_device +translation_of: Archive/B2G_OS/Installing_on_a_mobile_device +--- +<div class="summary"> + <p><span class="seoSummary">Once you've built Boot to Gecko for a <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Have_a_compatible_device_or_use_an_emulator">supported mobile device</a>, you can install it. This article will guide you through the process.</span></p> +</div> +<div class="note"> + <strong>Note:</strong> The first time you flash your phone, it <strong>must</strong> have Android 4 (Ice Cream Sandwich) installed. The process will not work correctly otherwise. Once you've done your first install of B2G, however, you can simply update on top of it.</div> +<h2 id="Installing_ADB">Installing ADB</h2> +<p><strong>On OSX</strong></p> +<p>If you have homebrew on OSX:</p> +<pre>brew install android-platform-tools</pre> +<p>Otherwise, download the Android Developer Tools and add the binaries to your PATH.</p> +<p><strong>On Ubuntu</strong></p> +<pre>sudo apt-get install android-tools-adb</pre> +<h2 id="Flashing_your_phone">Flashing your phone</h2> +<p>To flash everything to your phone, simply connect your phone and type:</p> +<pre>./flash.sh +</pre> +<p>That's it. The B2G you've currently got built will flash onto your device.</p> +<p>Note that If you are updating across revisions with significant Gaia changes, you might need also do:</p> +<pre class="brush: bash">cd gaia +make reset-gaia</pre> +<p>This will wipe all of your data stored in Gaia, but also clear out obsolete Gaia settings and prefs so that you'll boot into a "clean" Gaia. In theory <code>./flash.sh</code> should do this already, but for some devices (e.g. hamachi) <code>./flash.sh</code> only flashes a subset of modules (<code>./flash.sh -f</code> will force flash everything.)</p> +<h3 id="Configuring_the_udev_rule_for_your_device">Configuring the udev rule for your device</h3> +<p>On Linux, if you get this,</p> +<pre>< waiting for device ></pre> +<p>that probably means that you haven't added a udev rule for the fastboot device, which is not the same as the one for adb. (Though it also might just mean you need to run ./flash.sh with sudo) You can get the USB vendor ID by running <code>lsusb</code> now, but typically it's Google's: 18d1, so adding this line in your <code>/etc/udev/rules.d/51-android.rules</code> would work:</p> +<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"</pre> +<div class="note"> + <strong>Note:</strong> If you get a very helpful <code>libusb</code> error "-3" on Linux, it means you need to be root to have the needed access to the USB device. Run the script again using <code>sudo</code>.</div> +<div class="note"> + <strong>Note 2</strong>: If you have an Unagi or a Geeksphone Keon phone, you need two lines like this - one for the original phone vendor's ID, and one for Google's.</div> +<h3 id="Special_notes_for_Hamachi_Helix_and_Leo_devices">Special notes for Hamachi, Helix, and Leo devices</h3> +<p>If your phone is a hamachi, helix or leo device, the ./flash.sh script will now default to flashing only gecko and gaia. It is recommended that you flash with the OEM as a base build to get the firmware and the gonk layers and then flash the gecko and gaia on top. If you want to flash using the images, there is an override flash where you can ./flash.sh -f and it will use the image files to flash your device.</p> +<h3 id="Special_notes_for_the_Samsung_Galaxy_S2">Special notes for the Samsung Galaxy S2</h3> +<p>If your phone is a Galaxy S2 and you are using heimdall 1.3.2 (the latest version; use <code>heimdall version</code> to check), you may see an alarming error "FACTORYFS upload failed!" followed by "Heimdall flashing failed" and some additional information. This is actually a success condition, and you can ignore the advice.</p> +<p>To get rid of this strange behavior, grab a <a class="link-https" href="https://github.com/Benjamin-Dobell/Heimdall" title="https://github.com/Benjamin-Dobell/Heimdall">source copy</a> of heimdall, downgrading to the 1.3.1 release ("<code>git checkout fbbed42c1e5719cc7a4dceeba098981f19f37c06</code>"), then compile it according to the <code>README</code>, then install that to make the error go away. However, this isn't strictly necessary.</p> +<p>All versions of heimdall are unable to flash a system.img larger than 100MB. Do:</p> +<pre>ls -l ./out/target/product/galaxys2/system.img +</pre> +<p>to see how big yours is. If it's too large, ask in IRC for advice; there are ways to do it in two stages.</p> +<h2 id="Added_step_for_the_Samsung_Galaxy_S2">Added step for the Samsung Galaxy S2</h2> +<p>If you're flashing onto the Galaxy S2, there is an additional step to follow. Gaia does not get flashed automatically by the <code>flash.sh</code> script; you'll need to also do:</p> +<pre>./flash.sh gaia +</pre> +<h2 id="Flashing_specific_partitions_to_fastboot_phones">Flashing specific partitions to fastboot phones</h2> +<p>You can flash specific partitions to fastboot phones (that is, any phone other than the Samsung Galaxy S2). For example:</p> +<pre>./flash.sh system +./flash.sh boot +./flash.sh user +</pre> +<p><strong>WARNING</strong>: flashing user (at least) may delete your user-specific data (contacts, etc.).</p> +<h2 id="Updating_specific_modules">Updating specific modules</h2> +<p>You can update specific components of B2G by specifying their names when flashing. For example:</p> +<pre>./flash.sh gaia +./flash.sh gecko +</pre> +<p>In order to update only one application you can use BUILD_APP_NAME environment variable:</p> +<pre>BUILD_APP_NAME=calendar ./flash.sh gaia</pre> +<p>If your phone is not for developer (you aren't interested on test apps and/or require optimization), you can update gaia using:</p> +<pre>VARIANT=user ./flash.sh gaia</pre> +<h2 id="Next_steps">Next steps</h2> +<p>At this point, your phone should be running Boot to Gecko! It's time to experiment, <a href="/en-US/docs/Mozilla/Firefox_OS/Application_development" title="en-US/docs/Mozilla/Firefox_OS/Application_development">write some code</a>, <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing" title="en-US/docs/Mozilla/Firefox_OS/Platform/Testing">test</a>, or <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging" title="en-US/docs/Mozilla/Firefox_OS/Debugging">do some debugging</a>!</p> +<div class="note"> + <strong>Note:</strong> A helpful usage tip: if your build of B2G starts up with the lock screen requesting a pass code to unlock the phone, the default code is 0000.</div> +<h2 class="note" id="Troubleshooting">Troubleshooting</h2> +<p>Here are a some tips for what to do if your device doesn't work right after installing B2G, or updating it to a new version</p> +<h3 class="note" id="If_the_UI_doesnt_start_up">If the UI doesn't start up</h3> +<p>If you update your phone and the user interface doesn't start up, you can reset it to clear out out-of-date configuration and the like. This may bring it back to life, but note that it may also delete your user-specific data (contacts, etc.). Here's how:</p> +<pre>cd gaia +make reset-gaia +</pre> +<h3 class="note" id="If_you_want_change_from_developer_to_production_mode">If you want change from developer to production mode</h3> +<pre>cd gaia +make reset-gaia PRODUCTION=1</pre> +<p><strong>WARNING</strong>: reset-gaia may delete your user-specific data (contacts, etc.).</p> +<h3 class="note" id="image_is_too_large_error_message_on_.flash.sh_execution">"image is too large" error message on ./flash.sh execution</h3> +<p>It might mean that you phone needs to be rooted first before flashing it. As b2g needs to be written on root partition, your phone needs to be rooted in order to install it.</p> diff --git a/files/de/archive/b2g_os/introduction/index.html b/files/de/archive/b2g_os/introduction/index.html new file mode 100644 index 0000000000..606b63f0e7 --- /dev/null +++ b/files/de/archive/b2g_os/introduction/index.html @@ -0,0 +1,84 @@ +--- +title: Einführung in Firefox OS +slug: Archive/B2G_OS/Introduction +translation_of: Archive/B2G_OS/Introduction +--- +<p><strong>Firefox OS</strong> (auch unter seinem Codenamen "Boot to Gecko" oder "B2G" bekannt) ist Mozillas Open Source Betriebssystem für mobile Endgeräte, das auf Linux und Mozillas Gecko-Technologie basiert. Firefox OS ist ein mobiles Betriebssystem, das ohne proprietäre Technologie auskommt und dennoch Anwendungsentwicklern eine leistungsstarke Plattform bietet, um hervorragende Produkte zu erstellen. Darüber hinaus ist es flexibel und leistungsfähig genug, um auch den Endprodukt-Nutzer glücklich zu machen.</p> +<p>Für Web-Entwickler ist es am Wichtigsten zu verstehen, dass die gesamte Benutzeroberfläche eine Web-Anwendung ist, von der aus sich andere Web-Anwendungen anzeigen und ausführen lassen. Jede deiner Veränderungen an der Benutzeroberfläche und jegliche Anwendung, die du für den Betrieb unter Firefox OS erstellst, sind Webseiten. Allerdings: Mit erweitertem Zugriff auf Hardware und Dienste des mobilen Endgeräts.</p> +<p>Wie man Firefox OS installiert, kannst du unserer <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Handy-Anleitung entnehmen</a>.</p> +<h2 id="Hardware-Voraussetzungen">Hardware-Voraussetzungen</h2> +<p>Die Portierung von Firefox OS sollte für die meisten aktuellen Mobilgeräte mit ARM-Chips gelingen. Der vorliegende Abschnitt beschreibt die grundlegenden Hardware-Anforderungen sowie empfohlene Eigenschaften der Hardware.</p> +<p> </p> +<table> + <thead> + <tr> + <th scope="col">Komponente</th> + <th scope="col">Minimum</th> + <th scope="col">Empfohlen</th> + </tr> + </thead> + <tbody> + <tr> + <th scope="row">CPU</th> + <td>ARMv6</td> + <td>Cortex A5 class oder besser<br> + ARMv7a mit NEON</td> + </tr> + <tr> + <th scope="row">GPU</th> + <td>—</td> + <td>Adreno 200 class oder besser</td> + </tr> + <tr> + <th scope="row">Verbindungen</th> + <td>—</td> + <td>WiFi<br> + 3G</td> + </tr> + <tr> + <th scope="row">Sensoren</th> + <td>—</td> + <td>Accelerometer<br> + Proximity<br> + Ambient light<br> + A-GPS</td> + </tr> + </tbody> +</table> +<p>Es wird außerdem empfohlen, dass die Geräte ein einheitliches Farbprofil anbieten sollen (was über den Treiber der Grafikeinheit zu implementieren wäre). Ebenso sollen sie das Stummstellen und die Wiedergabe-Funktion via Kopfhörer-Fernbedienung unterstützen. Beides sind gängige Fähigkeiten moderner Smartphones.</p> +<h2 id="Hinweise_zur_Benutzung">Hinweise zur Benutzung</h2> +<p>Dieser Abschnitt bietet dir einige Hinweise zur Verwendung von Firfox OS. Dabei handelt es sich um eine Art Platzhalter, bis wir eine echte Benutzer-Dokumentation zur Verfügung haben.</p> +<h3 id="Entsperren_des_Telefons">Entsperren des Telefons</h3> +<p>Falls dein aus dem Quellcode erstelltes Firefox OS mit der Frage nach einem Entsperr-Code hochfährt, so lautet dieser standardmäßig 0000. Das liegt daran, dass wir bei diesen Code-Versionen mit der Entwicklung und dem Testen des Sperr-Bildschirms (Lock-Screen) beschäftigt sind.</p> +<h3 id="Erstellen_eines_Screenshots">Erstellen eines Screenshots</h3> +<p>Ein Screenshot lässt sich ganz einfach durch gleichzeitiges Drücken von Power- und Home-Taste erzeugen. Das entsprechende Bild wird unter <code>/sdcard/screenshots</code> auf deinem Gerät abgelegt. Du kannst darauf auch mit Hilfe der Galerie-App deines Telefons zugreifen.</p> +<p>Sollte das aus irgendeinem Grund nicht funktionieren, kannst du auch jederzeit über ein Terminal des Linux- oder MacOSX-Computers, auf dem ein Firefox OS installiert ist, darauf zugreifen.</p> +<ol> + <li>Stell sicher, dass bei dir <code>ffmpeg</code> installiert ist. + <ol> + <li>Wenn Du MacPorts verwendest, kannst du das auf dem Mac mit <code>sudo port install ffmpeg</code> nachholen. Mit homebrew verwende <code>brew install ffmpeg</code>.</li> + <li>Unter Linux (Ubuntu/Debian) verwende <code>sudo apt-get install ffmpeg</code>.</li> + </ol> + </li> + <li>Schließe dein Telefon mit einem USB-Kabel an deinen Rechner an.</li> + <li>Erzeuge auf deinem Telefon die Situation, von der Du einen Screenshot willst.</li> + <li>Wechsle mit <code>cd</code> ins <code>B2G/gaia</code> Verzeichnis.</li> + <li><code>make screenshot</code></li> + <li>Du hast einen Screenshot namens <code>screenshot.png</code> erstellt.</li> +</ol> +<h3 id="Tasten_und_Bedienelemente">Tasten und Bedienelemente</h3> +<p>Ein typisches Firefox OS-Gerät verfügt hardwareseitig nur über eine geringe Zahl physischer Bedienelemente:</p> +<dl> + <dt> + Home-Taste</dt> + <dd> + Diese Taste befindet sich im Allgemeinen mittig unterhalb des Bildschirms. Bei Tastendruck wird man zum App-Launcher zurückgeführt. Bei Halten der Taste wird die Ansicht zum Umschalten der Karten geöffnet: Hochwischen auf einer App entfernt diese.</dd> + <dt> + Lautstärken-Wippe</dt> + <dd> + Entlang der linken Seite befindet sich die Lautstärken-Wippe. Druck auf die obere Hälfte erhöht die Lautstärke, Druck auf die untere senkt sie.</dd> + <dt> + Power-Taste</dt> + <dd> + Die Power-Taste befindet sich an der oberen rechten Ecke des Geräts.</dd> +</dl> diff --git a/files/de/archive/b2g_os/phone_guide/alcatel_one_touch_fire/index.html b/files/de/archive/b2g_os/phone_guide/alcatel_one_touch_fire/index.html new file mode 100644 index 0000000000..4ba54a945b --- /dev/null +++ b/files/de/archive/b2g_os/phone_guide/alcatel_one_touch_fire/index.html @@ -0,0 +1,102 @@ +--- +title: Alcatel One Touch Fire +slug: Archive/B2G_OS/Phone_guide/Alcatel_One_Touch_Fire +tags: + - Alcatel One Touch Fire + - Firefox OS +translation_of: Archive/B2G_OS/Phone_guide/Alcatel_One_Touch_Fire +--- +<div class="column-container"> +<div class="column-half"><img alt="" src="https://mdn.mozillademos.org/files/10285/alcatel-onetouchfire.7e8f7701bbff.png" style="height: 366px; width: 200px;"></div> + +<div class="column-half"> +<p>Das Alcatel One Touch Fire Smartphone mit Firefox OS verfügt über einen 1 GHz Prozessor und einer rückseitigen 3.2 Megapixel Kamera. Es wird von einer großen Vielzahl von Mobilfunkanbietern in verschiedenen Teilen der Welt angeboten.</p> + +<h2 id="Besorge_dir_ein_Gerät">Besorge dir ein Gerät</h2> + +<p>Das Alcatel One Touch Fire ist im allgemeinen Handel erhältlich.</p> + +<h2 id="Verfügbare_Länder">Verfügbare Länder</h2> + +<div class="column-container"> +<div class="column-half"> +<ul> + <li>Brasilien</li> + <li>Chile</li> + <li>Kolumbien</li> + <li>Deutschland</li> + <li>Griechenland</li> + <li>Ungarn</li> + <li>Italien</li> +</ul> +</div> + +<div class="column-half"> +<ul> + <li>Mexico</li> + <li>Montenegro</li> + <li>Peru</li> + <li>Polen</li> + <li>Serbien</li> + <li>Venezuela</li> +</ul> +</div> +</div> + +<h2 id="Mobilfunkanbieter">Mobilfunkanbieter</h2> + +<div class="column-container"> +<div class="column-half"> +<ul class="comma-list"> + <li>Congstar</li> + <li>Cosmote</li> + <li>Movistar</li> + <li>T-Mobile</li> +</ul> +</div> + +<div class="column-half"> +<ul> + <li>Telcel</li> + <li>Telenor</li> + <li>TIM</li> + <li>Vivo</li> +</ul> +</div> +</div> +</div> +</div> + +<h2 id="Software_-_Updates_Upgrades">Software - Updates & Upgrades</h2> + +<p>Das Systemabbild des Gerätes ist durch den Mobilfunkanbieter gesperrt. Aus diesem Grund kann ein Update der Software nur durchgeführt werden wenn der Netzbetreiber ein OTA Update veröffentlicht.</p> + +<h2 id="Geräteeigenschaften">Geräteeigenschaften</h2> + +<p>Mehr Geräteeigenschaften sind auf der <a href="http://www.alcatelonetouch.com/global-en/products/smartphones/one_touch_fire.html#.VQPk8DWnWPs">Alcatel Website</a> unter dem Reiter "Specification" aufgelistet.</p> + +<ul> + <li><strong>CPU</strong>: Qualcomm Snapdragon MSM7227A, 1 GHz CPU</li> + <li><strong>Kamera</strong>: 3.2 megapixel rear</li> + <li><strong>Batterie</strong>: 1400 mAh</li> + <li><strong>Display</strong>: 3.5” HVGA TFT 262K color display</li> + <li><strong>Auflösung</strong>: 320x480 pixels</li> + <li><strong>Interner Speicher</strong>: 512MB NAND + 256MB RAM</li> + <li><strong>Externer Speicher</strong>: MicroSD Card: up to 32GB</li> + <li><strong>Maße</strong>: <span>115 x 62.3 x 12.2 mm</span></li> + <li><strong>Gewicht</strong>: Approx. <span>108g</span></li> +</ul> + +<h2 id="Verfügbare_Farben">Verfügbare Farben</h2> + +<ul> + <li>Mozilla Orange</li> + <li>Pure White</li> + <li>Apple Green</li> +</ul> + +<h2 id="Weitere_Informationen">Weitere Informationen</h2> + +<ul> + <li><a href="http://www.alcatelonetouch.com/global-en/products/smartphones/one_touch_fire.html#.VQPk8DWnWPs">Alcatel One Touch Fire</a><a href="http://www.zenmobile.in/category-ultrafone/105-fire"> </a></li> +</ul> diff --git a/files/de/archive/b2g_os/phone_guide/flame/index.html b/files/de/archive/b2g_os/phone_guide/flame/index.html new file mode 100644 index 0000000000..b8e75bb09a --- /dev/null +++ b/files/de/archive/b2g_os/phone_guide/flame/index.html @@ -0,0 +1,39 @@ +--- +title: Flame +slug: Archive/B2G_OS/Phone_guide/Flame +translation_of: Archive/B2G_OS/Phone_guide/Flame +--- +<div> + <h3 id="Coming_soon"><img alt="A picture of the Flame device, showing the Firefox OS homescreen containing several app icons." src="https://mdn.mozillademos.org/files/7697/Firefox-OS-Flame-Reference-Device-small.png" style="float: left; margin-right: 50px; margin-bottom: 20px;">Coming soon</h3> + <p><span class="seoSummary">The Flame developer reference phone is a milestone in Firefox OS device releases. The Flame hardware offers a representative set of specs — including FWVGA display and dual-core processor (see <a href="/en-US/Firefox_OS/Developer_phone_guide/Phone_specs">Phone and device specs</a> for full specs) — to help developers build great content and experiences. A single hardware platform is also good for testers, making it easier to test and address specific software issues without having to worry about device model-specific bugs, etc.</span></p> +</div> +<p>If you have your phone in hand and want to start playing with it, developing and distributing apps, or contributing to the Firefox platform, the following links will get you where you need to go:</p> +<ul> + <li><a href="/en-US/Firefox_OS">Firefox OS zone</a>: For creating your own Firefox OS builds and contributing to the B2G and Gaia projects.</li> + <li><a href="/en-US/Apps">App Center zone</a>: For building open web apps compatible with Firefox OS.</li> + <li><a href="/en-US/Marketplace">Marketplace zone</a>: For information on publishing and distributing apps.</li> + <li><a href="https://marketplace.firefox.com/">Firefox Marketplace</a>: The best source to find and publish new Firefox OS apps.</li> +</ul> +<p style="">If you’d like to purchase a phone or find out more about using it, you’ll find the information you need below.</p> +<h2 id="Purchasing_a_device">Purchasing a device</h2> +<p>Our device manufacturer partner is making the device available for purchase in the latter part of Q2, 2014, retailing at approximately US$170, global shipping included. Available for pre-order soon!</p> +<h2 id="Emergency_download_mode">Emergency download mode</h2> +<p>When flashing a new build to your phone fails to work, your phone becomes unresponsive, and the phone cannot enter fastboot mode, you can use emergency download mode for recovery.</p> +<p>A USB cable and the Emergency Download Tool are required to enter emergency download mode. (Tool download coming soon.)</p> +<h2 id="Recovery_mode">Recovery mode</h2> +<p>You can enter recovery mode to clear your phone data or manually update the firmware. There are two ways to enter this mode:</p> +<ul> + <li>If <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> tools are available, make sure Remote debugging is turned on in the phone's <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Remote_debugging">Developer settings</a>, connect your phone to your computer via USB and enter <code>adb reboot recovery</code> on the command line.</li> + <li>If your phone is powered off, press the Volume Up + Power buttons together.</li> +</ul> +<p>When in recovery mode, press the Volume up/down keys to move the selection highlight, and the Power key to select. Make sure you have your phone data (Contacts, SMS, etc.) backed up before clearing data, and your upgrade packages downloaded before updating.</p> +<h2 id="RAM_adjustment">RAM adjustment</h2> +<p>You can adjust the available RAM capacity to see how apps perform on Firefox OS phones with lower memory footprints.</p> +<p>This is accomplished by entering fastboot mode (install fastboot first, which is available in the same SDK page as <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a>) and typing:</p> +<pre class="brush: bash">fastboot oem mem [0|256-1024]</pre> +<p>“0” is the memory automatically detected and “256-1024” is the number of megabytes. For example, if you want to adjust device RAM capacity to 512M, enter <code>fastboot oem mem 512</code>.</p> +<p>You'll need to then reboot your device for the settings to take effect. This can be done using:</p> +<pre class="brush: bash">fastboot reboot</pre> +<p>The current memory size can be returned by entering fastboot mode and typing:</p> +<pre class="brush: bash">fastboot getvar mem +</pre> diff --git a/files/de/archive/b2g_os/phone_guide/geeksphone/index.html b/files/de/archive/b2g_os/phone_guide/geeksphone/index.html new file mode 100644 index 0000000000..b9bc2572df --- /dev/null +++ b/files/de/archive/b2g_os/phone_guide/geeksphone/index.html @@ -0,0 +1,202 @@ +--- +title: Geeksphone +slug: Archive/B2G_OS/Phone_guide/Geeksphone +translation_of: Archive/B2G_OS/Phone_guide/Geeksphone +--- +<div class="summary"> +<p><span class="seoSummary">Developer Preview editions of the Firefox OS phone are now becoming widely available to the community, mainly through <a href="http://www.geeksphone.com/">Geeksphone</a>. Since these are for developers, naturally we want to encourage you to tinker and play with them as much as possible! In this article we cover some basic tips on how to keep your phone up to date and how to tweak the system Gaia applications.</span></p> +</div> + +<div class="note"> +<p><strong>Bitte beachten</strong>: Diese Anleitungen sind für die älteren Modelle Keon und Peak gedacht und nicht für das aktuellste Geeksphone Revolution.</p> +</div> + +<h2 id="Geeksphone_auf_das_letzte_Abbild_upgraden">Geeksphone auf das letzte Abbild upgraden</h2> + +<p>Firefox OS Updates können über die Settings App heruntergeladen werden. Die Funktionalität befindet sich unter Device Informationen. Das Smartphone kann so eingestellt werden, dass es auf neue Updates täglich, wöchentlich oder monatlich prüft. Zusätzlich besteht die Möglichkeit über den "check now" Button eine Aktualisierung durchzuführen. Sobald ein neues Update verfügbar ist wird dies angezeigt und der Download und die Installation der aktuellen Version kann beginnen.</p> + +<p><img alt="The screen for checking updates on the Firefox OS settings app" src="https://mdn.mozillademos.org/files/6051/checkupate.png" style="width: 318px; height: 478px; display: block; margin: 0px auto;"></p> + +<h2 id="Das_Telefon_flashen">Das Telefon flashen</h2> + +<p>Das Team von Geeksphone stellt die "latest stable" und die "nightly builds" als eigenständige Downloads zum selbstständigen flashen zur Verfügung.</p> + +<h3 id="Telefon_und_Computer_vorbereiten">Telefon und Computer vorbereiten</h3> + +<p><span style="line-height: 1.572;">Bevor man mit dem flashen des Smartphone beginnen sollte, sollte man die Anleitung im Abschnitt “Setting Up the Geeksphone Device” in </span><a href="https://hacks.mozilla.org/2013/05/pushing-firefox-os-apps-to-the-geeksphone/" style="line-height: 1.572;">Pushing Firefox OS Apps to the Geeksphone</a><span style="line-height: 1.572;"> beachten und die dort beschriebenen Voraussetzungen schaffen. Diese stellt sicher, dass man Daten an das Telefon übertragen kann. Ebenfalls sollte man, die im gleichen Abschnitt beschriebene Anleitung zur Installation der korrekten USB-Treiber beachten.</span></p> + +<div class="note"> +<p><strong>Bitte beachten:</strong> Es ist besonders wichtig, dass auf Windows Computer die korrekten Treiber installiert sind.</p> +</div> + +<p>Die aktuellen Build befinden sich auf der <a href="http://downloads.geeksphone.com/">Geeksphone Download-Seite</a>. Auf dieser Seite erhält man nun die Option das korrekte Gerät und den gewünschten Build auszuwählen.</p> + +<p><img alt="Two phone images side by side, the Geeksphone Keon and Peak, with different software download options below each one." src="https://mdn.mozillademos.org/files/6055/geeksphone-download.png" style="width: 530px; height: 486px; display: block; margin: 0px auto;"></p> + +<p>Lade nun den zu deinem Gerät passenden Build herunten und entpacke die Archive-Datei auf deine Festplatte. Das Archive beinhaltet das Abbild und die benötigten Befehle um das Gerät zu aktualisieren. Dabei stehen Befehle für Windows, Mac OS oder Linux zur Verfügung. Um das Gerät nun zu aktualisieren muss "Remote debugging" unter Einstellungen aktiviert sein.</p> + +<p><code><strong>Settings</strong> -> <strong>Device information</strong> -> <strong>More information</strong> -> <strong>Developer</strong></code><strong> tab</strong>.</p> + +<div class="note"> +<p><strong>Bitte beachten:</strong> Stelle sicher dass dein Handy eine Akkuladung von mit 50% aufweist. Um die System-Dateien zu verändern Bedarf es mehrere Restarts, welche im Falle von fehlender Akkuleistung zu einer Beschädigung führen kann.</p> +</div> + +<p><img alt="Enabling remote debugging on the Firefox OS Settings app" src="https://mdn.mozillademos.org/files/6049/remote-debugging.png" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p> + +<div class="note"> +<p><strong>Bitte beachten:</strong> Sollte dein Gerät, obwohl es angesteckt ist, von den mitgelieferten Skripten in den ersten Schritten nicht erkannt werden, musst ggf. das Handy entsperren und warten bis das USB-Zeichen im System-Tray auftaucht.</p> +</div> + +<div class="note"> +<p><strong>Bitte beachten:</strong> Das Flashen des Smartphone wird all deine Daten vom Telefon entfernen. Wenn du deine Daten zuvor sichern möchtest, solltest du die folgende Anleitung befolgen:<span style="line-height: 1.5;"> </span><a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition" style="line-height: 1.5;">Back up the phone system partition</a><span style="line-height: 1.5;">.</span></p> +</div> + +<h3 id="Windows">Windows</h3> + +<div class="note"> +<p><strong>Bitte Beachten:</strong> Es müssten möglicherweise USB-Treiber für Windows installiert werden. Eine Anleitung befindet sich in der folgenden Anleitung<span style="line-height: 1.572;"> “Setting Up the Geeksphone Device” in </span><a href="https://hacks.mozilla.org/2013/05/pushing-firefox-os-apps-to-the-geeksphone/" style="line-height: 1.572;">Pushing Firefox OS Apps to the Geeksphone</a><span style="line-height: 1.572;">.</span></p> +</div> + +<p>Öffne zuerst eine Konsole (Start > Tippe <code>cmd</code> in der Suchfeld > Enter drücken, Unter Windows 7, Windows Taste + X > Wähle Command Prompt unter Windows 8) und wechsel in das Verzeichnis wo sich die entpackten Daten befinden. Führe den folgenden Befehlt aus:</p> + +<pre class="brush: bash" lang="bash">flash.bat +</pre> + +<p>Dieser Befehl sollte nun das neue Abbild auf das Telefon flashen. Das Telefon muss nun nochmals erneut aufgesetzt werden, da ja wie zuvor beschrieben alle Daten gelöscht wurden.</p> + +<h3 id="Mac_OS">Mac OS</h3> + +<p>Öffnen eines Terminals(<code>Cmd + space -> type terminal -> enter</code>) Fensters und wechsle mit cd in das Verzeichnis wo sich die entpackten Daten befinden. Führe den folgenden Befehlt aus:</p> + +<pre class="brush: bash" lang="bash">./flash_mac.sh +</pre> + +<p>Dieser Befehl sollte nun das neue Abbild auf das Telefon flashen. Das Telefon muss nun nochmals erneut aufgesetzt werden, da ja wie zuvor beschrieben alle Daten gelöscht wurden.</p> + +<h3 id="Linux">Linux</h3> + +<p>Um ein Keon unter Ubuntu zu fläschen müssten die folgenden Regeln in /etc/udev/rules.d/51-android.rules hinzugefügt werden:</p> + +<div>SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="8013", MODE="0666"</div> + +<div>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", MODE="0666"</div> + +<div> </div> + +<p>Öffne nun ein Terminal (control-alt-t unter Ubuntu) Fehnster und welche in das Verzeichnis wo sich die entapckten Daten befinden. Führe den folgenden Befehl aus:</p> + +<pre class="brush: bash" lang="bash">./flash.sh +</pre> + +<p>Dieser Befehl sollte nun das neue Abbild auf das Telefon flashen. Das Telefon muss nun nochmals erneut aufgesetzt werden, da ja wie zuvor beschrieben alle Daten gelöscht wurden.</p> + +<div class="note"> +<p><strong>Ein anderer Weg das Keon unter Ubuntu zu aktualisieren ist der folgende:-</strong></p> +</div> + +<p>Schritt 1: Das Gerät verbinden</p> + +<p>Schritt 2: Ein Terminal öffnen</p> + +<p>Schritt 3: Den Befehl <span class="st"><em>sudo nautilus </em>eintippen und das Root-Passwort eingeben um den Root-Ordner zu öffnen</span></p> + +<pre class="brush: bash" lang="bash"><span class="st"><em>sudo nautilus</em></span></pre> + +<pre class="brush: bash" lang="bash"><span class="st"><em>sudo nautilus "root password"</em></span></pre> + +<p>Schritt 4: Kopiere den Download des Firefox O.S Geeks Phone Builds in das Root-Verzeichnis</p> + +<p>Schritt 5: Klicke auf die Datei mit dem Namen "flash.sh"</p> + +<pre class="brush: bash" lang="bash">./flash.sh</pre> + +<p> </p> + +<h2 id="If_you_have_an_'unagi'_or_developer_preview_phone_that_is_not_a_Geeksphone">If you have an 'unagi' or developer preview phone that is not a Geeksphone</h2> + +<p>If you have a developer phone that is not a Geeksphone such as an 'unagi' or a previously Android-based device, you may need to perform the following steps. If this is not you, please skip to the next section.</p> + +<p>You will need to install <strong>adb</strong> and <strong>fastboot</strong>. These utilities can be found in the Android Developer Toolkit.</p> + +<p>It is not necessary to install the entire toolkit. Download the toolkit from here and extract the contents. adb and fastboot are found in the /platform-tools/ folder. They can be copied to the /usr/bin of your Linux or Mac OS machine, or copied to another folder as long as that folder is added to your $PATH.</p> + +<p>If you are attempting to flash your device and have another device plugged in via USB, your phone may not be detected by these utilities correctly. Only have your phone plugged in while trying to flash it.</p> + +<h2 id="Tweaking_Gaia">Tweaking Gaia</h2> + +<p>If you are the industrious sort, you may want to tweak the default applications in Gaia — the UI in Firefox OS. In this section we will cover some of the basics for cloning Gaia and making changes to the default system apps. Bear in mind these tips are “at your own risk” and may involve you later referring to the section “Ok, I bricked my phone”. Before proceeding make sure that you have adb and fastboot installed on your system. To verify if these are installed open a terminal and type adb devices with your phone connected. You should see your phone listed under the attached devices.</p> + +<p>You should also be able to run fastboot from the terminal. If you run fastboot, a set of parameter options should be displayed. If you do not have adb or fastboot installed, a quick Google search with your operating system will return several quick starts on how to install them. In addition to adb and fastboot you will need Git. If you do not currently have Git installed, have a look at this <a href="https://help.github.com/articles/set-up-git">setup guide</a>. Finally make sure your phone is set up for remote debugging as described in the previous section.</p> + +<p>Once you have the prerequisites you can open a terminal and cd to the directory you would like to clone the Gaia source code to. Type the following commands:</p> + +<pre class="brush: bash" lang="bash">git clone git://github.com/mozilla-b2g/gaia.git gaia +cd gaia +</pre> + +<p>This will clone the current Gaia code to your system.</p> + +<div class="warning"> +<p>If you plan on submitting changes back to the Gaia source, be sure to fork the source before cloning as described in <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Hacking">Hacking Gaia</a>.</p> +</div> + +<p>Currently the Geeksphone Keon uses the v1.0.1 branch of Gaia code, so set the proper branch using the following command before you do anything else:</p> + +<pre class="brush: bash" lang="bash">git checkout -b v1.0.1 origin/v1.0.1 +</pre> + +<p>Most of the system apps are located in the apps subdirectory of gaia. You can now make any changes to these Firefox OS apps you wish. Once you have made changes, make sure your device is mounted properly by first running:</p> + +<pre class="brush: bash">adb remount</pre> + +<p>Next, run the following command to push the modified apps to your phone. This will by default push all the system apps to the phone:</p> + +<pre class="brush: bash" lang="bash">B2G_SYSTEM_APPS=1 make install-gaia +</pre> + +<p>If you only changed one of the apps you can specify the particular app using similar syntax. In this example only the calendar app will be pushed to the phone:</p> + +<pre class="brush: bash" lang="bash">APP=calendar B2G_SYSTEM_APPS=1 make install-gaia +</pre> + +<p>If you have issues while making the changes, you can reset the phone to default values using either of the following commands:</p> + +<pre class="brush: bash" lang="bash">make production +make reset-gaia +</pre> + +<div class="note"> +<p><strong>Note</strong>: Bear in mind that either of the above commands will clear any data or apps that you have pushed to the phone. If you want to back up your data and restore afterwards, you can follow the instructions at <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">Back up the phone system partition</a>.</p> +</div> + +<h2 id="Ok_I_bricked_my_phone">"Ok, I bricked my phone"</h2> + +<p>If you are in the process of modifying your phone and it becomes “unresponsive” you should be able to recover it using fastboot with a simple procedure. The following illustrates resetting the Keon but other phones should have a similar process. You will also need to verify that you have fastboot and ADB installed (try typing <code>fastboot</code> and <code>adb</code> in the command line if you are not sure).</p> + +<ol> + <li>Remove the USB cable and then remove the battery from the phone for 30 seconds.</li> + <li>Reinsert the battery and hold down the volume up and power buttons at the same time, for a few seconds, until the system recovery menu appears.</li> + <li>Reconnect the USB cable</li> + <li>Type in the command run adb reboot bootloader.</li> + <li>When the phone reboots and starts to show the Geeskphone logo, you are now in fastboot mode; run the following commands from a terminal window in the directory that contains the latest img files described in the first section of this post:</li> +</ol> + +<pre class="brush: bash" lang="bash">fastboot flash recovery recovery.img +fastboot flash boot boot.img +fastboot flash userdata userdata.img +fastboot flash system system.img +fastboot reboot +</pre> + +<p>This process should recover your phone. If it doesn't seem to work, you may have to try it a second time.</p> + +<h2 id="Go_play!">Go play!</h2> + +<p>We hope these instructions are useful to you, and naturally we want you to be as happy about Firefox OS and the possibilities as we are! Feel free to play around with updating your devices, make changes/updates to Gaia apps, and also be inspired to build you own open web apps.</p> + +<h2 id="See_also">See also</h2> + +<ul> + <li><a href="/en-US/Firefox_OS/Developer_phone_guide/Geeksphone/Geeksphone_FAQ">Geeksphone FAQ</a></li> + <li><a href="/en-US/Apps/Quickstart/Build/Intro_to_open_web_apps">Introduction to open web apps</a></li> +</ul> diff --git a/files/de/archive/b2g_os/phone_guide/index.html b/files/de/archive/b2g_os/phone_guide/index.html new file mode 100644 index 0000000000..472fcd195f --- /dev/null +++ b/files/de/archive/b2g_os/phone_guide/index.html @@ -0,0 +1,44 @@ +--- +title: Firefox OS developer phone guide +slug: Archive/B2G_OS/Phone_guide +tags: + - B2G + - Firefox OS + - NeedsTranslation + - Phones + - TopicStub +translation_of: Archive/B2G_OS/Phone_guide +--- +<div class="summary"> + <p>This section contains developer information relevant to specific phones that run Firefox OS. We have general information available on <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="Building and installing Firefox OS">Building and installing Firefox OS</a> and <a href="/en-US/docs/Mozilla/Firefox_OS/Hacking_Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS/Hacking_Firefox_OS">Hacking Firefox OS</a>, so please go there for information about building and installing the platform from scratch. Developers with specific phones in their possession may however find the following articles useful.</p> +</div> +<h2 id="Specific_device_information">Specific device information</h2> +<dl> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Phones">Firefox OS phone data</a></dt> + <dd> + In this article we list the various available Firefox OS phones along with information such as their code names, availability, and specific hardware features.</dd> + <dt> + <a href="/en-US/Firefox_OS/Developer_phone_guide/Geeksphone">Geeksphone</a></dt> + <dd> + In this article we cover some basic tips on how to keep your Geeksphone up-to-date and how to tweak the system Gaia applications.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN">The Firefox OS ZTE OPEN</a></dt> + <dd> + This article exists to share the information we have available on the ZTE OPEN Firefox OS device.</dd> +</dl> +<h2 id="General_Firefox_OS_information">General Firefox OS information</h2> +<dl> + <dt> + <a href="/en-US/Firefox_OS/Developer_phone_guide/Firefox_OS_device_features">General device features</a></dt> + <dd> + This page lists typical Firefox OS hardware features and minimum hardware requirements.</dd> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/Troubleshooting">Troubleshooting</a></dt> + <dd> + This article provides tips for resolving common problems you may have while using Firefox OS.</dd> + <dt> + <a href="/en-US/Firefox_OS/Developer_phone_guide/Best_practices_open_reference_devices">Best practices for open reference devices</a></dt> + <dd> + A set of best practices that we believe should come highly recommended for any widely available open reference devices. All of the recent Firefox OS reference devices have followed these practices.</dd> +</dl> diff --git a/files/de/archive/b2g_os/phone_guide/phone_specs/index.html b/files/de/archive/b2g_os/phone_guide/phone_specs/index.html new file mode 100644 index 0000000000..8cf863e090 --- /dev/null +++ b/files/de/archive/b2g_os/phone_guide/phone_specs/index.html @@ -0,0 +1,800 @@ +--- +title: Firefox OS Geräte und Spezifikationen +slug: Archive/B2G_OS/Phone_guide/Phone_specs +tags: + - Firefox OS + - Gerät + - Handy + - Smartphone +translation_of: Archive/B2G_OS/Phone_guide/Phone_specs +--- +<div class="summary"> +<p><span class="seoSummary">Dieser Artikel enthält Informationen über Firefox OS Geräte und deren Spezifikationen, Code-Namen, standardmäßig installierten FIrefox OS Versionen und mehr.</span></p> +</div> + +<h2 id="Verfügbare_Firefox_OS_Smartphones">Verfügbare Firefox OS Smartphones</h2> + +<p>Die folgende Tabelle enthält Informationen zu den verfügbaren und ehemals verfügbaren Firefox OS Smartphones.</p> + +<div class="note"> +<p><strong>Hinweis</strong>: Nähere Informationen zu den verfügbaren Firefox OS Smartphones und die Länder, in denen sie verfügbar sind, findest Du auf <a href="http://www.mozilla.org/en-US/firefox/os/devices/">Firefox OS devices</a>.</p> +</div> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col"> + <p>Name / Code-Name</p> + </th> + <th scope="col"> + <p>Datum der Veröffentlichung</p> + </th> + <th scope="col">FxOS<br> + version</th> + <th scope="col">Verfügbarkeit</th> + <th scope="col">Weitere Informationen</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <p><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Alcatel_One_Touch_Fire">Alcatel One Touch Fire</a></p> + + <p><em>hamachi, buri</em></p> + </td> + <td>12. Juli 2013</td> + <td>1.0.1</td> + <td>Zur Zeit verfügbar</td> + <td>Verfügbar in Brasilien, Uruguay, Italien, Deutschland, Griechenland, Serbien, Ungarn und Polen.<br> + Erhältlich auf eBay.</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Alcatel_One_Touch_Fire_E">Alcatel One Touch Fire E</a></td> + <td>18. Juli 2014</td> + <td>1.3.0</td> + <td>Zur Zeit verfügbar</td> + <td>Verfügbar in Tschechien, Deutschland, Ungarn, Polen, Russland.</td> + </tr> + <tr> + <td><em>otoro, unagi, inari</em></td> + <td> </td> + <td> </td> + <td> </td> + <td>nicht erhältliche ZTE Entwicklermodelle, Vorgänger des ZTE Open.</td> + </tr> + <tr> + <td> + <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN">ZTE Open</a></p> + + <p><em>ikura</em></p> + </td> + <td>2. Juli 2013</td> + <td>1.0.1</td> + <td>Zur Zeit verfügbar</td> + <td>Baugleich mit inari, erhältlich auf eBay.</td> + </tr> + <tr> + <td> + <p><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/LG_fireweb">LG Fireweb</a></p> + + <p><em>leo</em></p> + </td> + <td>24. Oktober 2013</td> + <td>1.1</td> + <td>Zur Zeit verfügbar</td> + <td>Verfügbar in Brasilien.</td> + </tr> + <tr> + <td> + <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Keon</a></p> + + <p><em>keon</em></p> + </td> + <td>24. April 2013</td> + <td>1.0.1</td> + <td> + <p>Zur Zeit nicht verfügbar</p> + </td> + <td>Nur für Entwickler</td> + </tr> + <tr> + <td> + <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Peak</a></p> + + <p><em>peak</em></p> + </td> + <td>24. April 2013</td> + <td>1.0.1</td> + <td>Zur Zeit nicht verfügbar</td> + <td>ehemaliger Code-Name "twist", nur für Entwickler</td> + </tr> + <tr> + <td><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Peak+</a></td> + <td>-</td> + <td>-</td> + <td>-</td> + <td><a href="http://www.geeksphone.com/?wysija-page=1&controller=email&action=view&email_id=15">gestoppt</a></td> + </tr> + <tr> + <td>Geeksphone Revolution</td> + <td>4. März 2014</td> + <td>1.3pre</td> + <td>Zur Zeit verfügbar</td> + <td><a href="http://shop.geeksphone.com/moviles/9-revolution.html">Online erhältlich</a></td> + </tr> + <tr> + <td> + <p>LG Google Nexus 4</p> + + <p><em>nexus-4</em></p> + </td> + <td> </td> + <td> </td> + <td> </td> + <td>Test-Gerät. Weder von LG noch von Google unterstützt. Nicht mehr unterstützte Hardware.</td> + </tr> + <tr> + <td> + <p><a href="/en-US/Firefox_OS/Developer_phone_guide/Flame">Flame</a></p> + + <p><em>Mozillas Referenz-Gerät</em></p> + </td> + <td>April 2014</td> + <td>1.3</td> + <td> </td> + <td> + <p><a href="http://www.everbuying.com/product549652.html">Auf Vorbestellung erhältlich</a></p> + + <p>Ausverkauft seit Dezember 2014</p> + </td> + </tr> + <tr> + <td> + <p>Spreadtrum</p> + + <p><em>tarako</em></p> + </td> + <td>Ende Q2 2014?</td> + <td> </td> + <td>Demnächst verfügbar</td> + <td> </td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/ZTE_OPEN_C">ZTE Open C</a></td> + <td>13. Mai 2014</td> + <td>1.3</td> + <td>Zur Zeit verfügbar</td> + <td><a href="http://www.ebay.co.uk/itm/eBay-exclusive-ZTE-OPEN-C-Latest-Firefox-OS-Dual-Core-3G-Unlocked-Smartphone-/171301269724?pt=UK_Mobile_Phones&hash=item27e259f0dc">Online erhältlich</a></td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Symphony_GoFox_F15">Symphony GoFox F15</a></td> + <td>16. September 2014</td> + <td>1.4</td> + <td>Zur Zeit verfügbar</td> + <td>Nur in Bangladesch erhältlich bei Grameenphone Vertriebspartnern</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Intex_Cloud_FX">Intex Cloud Fx</a></td> + <td> </td> + <td>1.3 </td> + <td>Nicht mehr verfügbar</td> + <td> </td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Spice_Fire_One_MI_FX1">Spice Fire One (Mi-FX1)</a></td> + <td> </td> + <td>1.3 </td> + <td>Nicht mehr verfügbar</td> + <td> </td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Alcatel_Onetouch_Fire_C_4020D">Alcatel OneTouch Fire C 4020D</a></td> + <td>1. Oktober 2014</td> + <td>1.3 </td> + <td>Nicht mehr verfügbar</td> + <td> </td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Zen_U105_Fire">Zen U105 Fire</a></td> + <td>16. Oktober 2014</td> + <td>1.3 </td> + <td>Zur Zeit verfügbar</td> + <td>Erhältlich auf <a href="http://www.homeshop18.com/zen-fire-fox-phone-u105/mobiles/mobile-phones/product:32873765/cid:3027/">Homeshop18</a>, Indien</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Cherry_Mobile_Ace">Cherry Mobile Ace</a></td> + <td>November 2014</td> + <td>1.3T</td> + <td>Zur Zeit verfügbar</td> + <td>Erhältlich auf den Philippinen.</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Fx0">Fx0</a></td> + <td>Dezember 2014</td> + <td>2.0</td> + <td>Zur Zeit verfügbar</td> + <td>Erhältlich in Japan (KDDI.)</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Phone_guide/Orange_Klif">Orange Klif</a></td> + <td>2015</td> + <td>2.0</td> + <td>Zur Zeit verfügbar</td> + <td>Erhältlich in vielen afrikanischen Ländern.</td> + </tr> + <tr> + <td>ZTE Open C2</td> + <td>2015</td> + <td>2.1</td> + <td>Zur Zeit verfügbar</td> + <td>Online erhältlich</td> + </tr> + </tbody> +</table> + +<h2 id="Firefox_OS_Versionen">Firefox OS Versionen</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Version</th> + <th scope="col"> + <p>Feature Complete (FC) Datum</p> + </th> + <th scope="col">Release To Partner<br> + (RTP) Datum</th> + <th scope="col">Codename</th> + <th scope="col">Gecko Version</th> + <th scope="col">Enthaltene Security Fixes</th> + <th scope="col">Release Infos</th> + </tr> + </thead> + <tbody> + <tr> + <td>1.0</td> + <td>22. Dezember 2012</td> + <td>21. Februar 2013</td> + <td>TEF</td> + <td>Gecko 18</td> + <td>Gecko 18</td> + <td> </td> + </tr> + <tr> + <td>1.0.1</td> + <td>15. Januar 2013</td> + <td>6. September 2013</td> + <td>Shira</td> + <td>Gecko 18</td> + <td>Gecko 20</td> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Releases/1.0.1">Entwickler</a><br> + <a href="https://support.mozilla.org/en-US/kb/whats-new-firefox-os-v11">Anwender</a></td> + </tr> + <tr> + <td>1.1</td> + <td>29. März 2013</td> + <td>9. Oktober 2013</td> + <td>Leo</td> + <td>Gecko 18+ (new <a href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface">APIs</a>)</td> + <td>Gecko 23</td> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Releases/1.1">Entwickler</a><br> + <a href="http://www.mozilla.org/en-US/firefox/os/notes/1.1/">Anwender</a></td> + </tr> + <tr> + <td>1.1.1</td> + <td> </td> + <td>TBD</td> + <td>HD</td> + <td>Wie 1.1.0 mit WVGA</td> + <td>Gecko 23</td> + <td> </td> + </tr> + <tr> + <td>1.2</td> + <td>15. September 2013</td> + <td>9. Dezember 2013</td> + <td>Koi</td> + <td>Gecko 26<sup><a href="http://en.wikipedia.org/wiki/Firefox_OS#cite_note-39"><span>[</span>39<span>]</span></a></sup></td> + <td>Gecko 26</td> + <td><a href="/en-US/Firefox_OS/Releases/1.2">Entwickler</a><br> + <a href="http://www.mozilla.org/en-US/firefox/os/notes/1.2/">Anwender</a></td> + </tr> + <tr> + <td>1.3</td> + <td>9. December 2013</td> + <td>TBD</td> + <td> </td> + <td>Gecko 28</td> + <td>Gecko 28</td> + <td><a href="/en-US/Firefox_OS/Releases/1.3">Entwickler</a><br> + <a href="http://www.mozilla.org/en-US/firefox/os/notes/1.3/">Anwender</a></td> + </tr> + <tr> + <td>1.4</td> + <td>17. März 2014</td> + <td>TBD</td> + <td> </td> + <td>Gecko 30</td> + <td>Gecko 30</td> + <td><a href="/en-US/Firefox_OS/Releases/1.4">Entwickler</a><br> + Anwender (TBD)</td> + </tr> + <tr> + <td>2.0</td> + <td>TBD</td> + <td>TBD</td> + <td> </td> + <td>Gecko 32</td> + <td>Gecko 32</td> + <td><a href="/en-US/Firefox_OS/Releases/2.0">Entwickler</a><br> + Anwender (TBD)</td> + </tr> + <tr> + <td>2.1</td> + <td>Januar 2015?</td> + <td>TBD</td> + <td> </td> + <td>Gecko 34</td> + <td>Gecko 34</td> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Releases/2.1">Entwickler</a></td> + </tr> + <tr> + <td>2.2</td> + <td>Juni 2015</td> + <td>TBD</td> + <td> </td> + <td>Gecko 37</td> + <td>Gecko 37</td> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Releases/2.2">Entwickler</a></td> + </tr> + <tr> + <td>2.5</td> + <td>November 2015</td> + <td>TBD</td> + <td> </td> + <td>TBD</td> + <td>TBD</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Geräte-Spezifikationen">Geräte-Spezifikationen</h2> + +<p>Bitte beachte, dass wir in einigen Fällen bereits vor öffentlicher Verfügbarkeit eines angekündigten Gerätes dessen Code-Namen und einige seiner Eigenschaften hier veröffentlichen. Bitte FÜGE KEINE zusätzlichen Informationen zu diesen Geräten hinzu bevor Andreas Gal oder jemand vergleichbares diese Informationen veröffentlicht hat. Im Zweifelsfall wende Dich bitte an den Firefox OS Program Manager.</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Name</th> + <th scope="col">Versionen</th> + <th scope="col">Auflösung</th> + <th scope="col">Display (Inches)</th> + <th scope="col">CPU</th> + <th scope="col">Kamera(s), Mpx</th> + <th scope="col">RAM</th> + <th scope="col">ROM</th> + <th scope="col">Speicher</th> + <th scope="col">Batterie (mAh)</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <p>Alcatel One Touch Fire</p> + + <p><em>hamachi, buri</em></p> + </td> + <td>v1.0.1/v1.1</td> + <td> + <p>320 x 480<br> + PX=1</p> + </td> + <td>3.5</td> + <td>Qualcomm Snapdragon S1 MSM7227A 1 GHz</td> + <td>Rückseite: 3.2</td> + <td>256MB</td> + <td>512MB</td> + <td>/data: wahrscheinlich identisch mit inari; <a href="http://www.alcatelonetouch.com/global-en/products/smartphones/one_touch_fire.html#.Unyg5UOVt1M">laut Hersteller</a> 160MB Speicher für Anwendungen;<br> + Wahrscheinlich kein interner DeviceStorage, MicroSD Karte (max. 32GB) benötigt<br> + </td> + <td>1400</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Alcatel_One_Touch_Fire_E">Alcatel One Touch Fire E</a></td> + <td>v1.3.0</td> + <td>540 x 960</td> + <td>4.5</td> + <td>Qualcomm Snapdragon 200<br> + MSM8210<br> + 1.2 GHz<br> + dual-core</td> + <td>Rückseite: 5.0</td> + <td>512MB</td> + <td> </td> + <td> </td> + <td> </td> + </tr> + <tr> + <td> + <p>ZTE Open / variants</p> + + <p><em>ikura</em></p> + </td> + <td>v1.0.1 (as shipped)</td> + <td>320 x 480<br> + PX=1</td> + <td>3.5</td> + <td>Qualcomm Snapdragon S1 MSM7225A 800 MHz</td> + <td>Rückseite: 3.2</td> + <td>256MB</td> + <td>512MB</td> + <td> + <p>/data: 152M<br> + Kein interner DeviceStorage, MicroSD Karte benötigt</p> + </td> + <td>1200</td> + </tr> + <tr> + <td> + <p>LG Fireweb</p> + + <p><em>leo</em></p> + </td> + <td>v1.1</td> + <td>320 x 480<br> + PX=1</td> + <td>4</td> + <td>Qualcomm Snapdragon S1 MSM7227A 1 GHz</td> + <td>Rückseite: 5.0</td> + <td>512MB</td> + <td>4GB</td> + <td> + <p>/data: 1007.90M<br> + interner DeviceStorage: ja, Größe ungewiss, möglicherweise 3.7G, könnte aber auch eine falsche Berechnung sein. Der Wert von /sys/devices/platform/msm_sdcc.3/mmc_host/mmc0/mmc0:0001/block/mmcblk0/block ist 7733248, bei einer angenommenen Blockgröße von 512 byte kommen wir auf 3.7G.</p> + </td> + <td>1540</td> + </tr> + <tr> + <td> + <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Keon</a></p> + + <p><em>keon</em></p> + </td> + <td> + <p>v1.0.1 - nightly<br> + <a href="/en-US/docs/">downloads here</a></p> + </td> + <td>320 x 480<br> + PX=1</td> + <td>3.5</td> + <td>Qualcomm Snapdragon S1 7225AB 1 GHz</td> + <td>Rückseite: 3.0</td> + <td>512MB</td> + <td>4GB</td> + <td> + <p>/data: 1.5G<br> + interner DeviceStorage: 1023.4M</p> + </td> + <td>1580</td> + </tr> + <tr> + <td> + <p><a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Geeksphone Peak</a></p> + + <p><em>peak</em></p> + </td> + <td>v1.0.1 - nightly<br> + <a href="/en-US/docs/">downloads here</a></td> + <td>540 x 960<br> + PX=1.5</td> + <td>4.3</td> + <td>Qualcomm Snapdragon S4 8225 1.2 GHz dual-core</td> + <td> + <p>Frontseite: 2.0<br> + Rückseite: 8.0</p> + </td> + <td>512MB</td> + <td>4GB</td> + <td>/data: 1.5G<br> + interner DeviceStorage: 1023.4M</td> + <td>1800</td> + </tr> + <tr> + <td>Geeksphone Revolution</td> + <td>v1.3pre (as shipped)</td> + <td>540 x 960 PX=1.5</td> + <td>4.7</td> + <td><span class="mini-text">Dual-core Intel® Atom™ processor Z2560<span class="mini-text"> with up to 1.6GHz</span></span></td> + <td> + <p>Frontseite: 1.3 Rückseite: 8.0</p> + </td> + <td>1GB</td> + <td>4GB</td> + <td> + <p>/data: 2G<br> + interner DeviceStorage: 2.5GB</p> + </td> + <td>2000</td> + </tr> + <tr> + <td> + <p>Nexus 4</p> + + <p><em>nexus-4</em></p> + </td> + <td>v1.3 - nightly</td> + <td>768 x 1280<br> + 720p</td> + <td>4.7</td> + <td> + <p>Qualcomm<br> + <span class="mw-redirect">Snapdragon S4 Pro</span><br> + 1.5 GHz quad-core</p> + </td> + <td>Rückseite: 8.0</td> + <td>2GB</td> + <td>8 or 16GB</td> + <td>Hier wird alles in einem ziemlich undurchsichtigen Bereich gespeichert, es gibt keinen externen Speicher (MicroSD). Die Größe des Bereichs variiert je nach dem, welches Nexus 4 Modell Du hast.</td> + <td>2100</td> + </tr> + <tr> + <td> + <p><a href="https://wiki.mozilla.org/FirefoxOS/TCP">Foxconn InFocus</a></p> + + <p><em>flatfish</em></p> + </td> + <td> </td> + <td>1280 x 800</td> + <td>10</td> + <td>Allwinner A31, Cortex A7 Quad-Core 1.0 GHz</td> + <td> + <p>Frontseite: 2.0<br> + Rückseite: 5.0</p> + </td> + <td>2GB</td> + <td>16GB</td> + <td> </td> + <td>7000</td> + </tr> + <tr> + <td> + <p><a href="https://wiki.mozilla.org/Platform/2013-11-05">some phone thing</a></p> + + <p><em>fugu</em></p> + </td> + <td>v1.2f (branch) <a href="https://groups.google.com/d/msg/mozilla.dev.b2g/JKAu9UNjBf8/9zj5Y3m6518J">per</a></td> + <td>320 x 480</td> + <td> </td> + <td> </td> + <td> </td> + <td>256MB</td> + <td> </td> + <td> </td> + <td> </td> + </tr> + <tr> + <td> + <p><a href="https://wiki.mozilla.org/FirefoxOS/Tarako">Spreadtrum SC6821</a></p> + + <p><em>tarako</em></p> + </td> + <td>v1.3 <a href="https://wiki.mozilla.org/FirefoxOS/Tarako">per</a></td> + <td>HVGA<br> + 320 x 480</td> + <td>3.5</td> + <td>Spreadtrum SC6821, Cortex A5 1GHz</td> + <td>0.3 (nur Rückseite?)</td> + <td>128MB (zram)</td> + <td>2GB NAND flash (external) + 1GB LPDDR1 (embedded)</td> + <td>32GB micro SD card</td> + <td>1100</td> + </tr> + <tr> + <td> + <p><a href="https://hacks.mozilla.org/2014/02/open-applications-tcp/">VIA Vixen</a></p> + + <p><em><a href="https://wiki.mozilla.org/Platform/2014-03-18">community-driven customization of flatfish</a>?</em></p> + </td> + <td> </td> + <td>1024 x 600</td> + <td>7</td> + <td>Cortex-A9 Dual Core 1.2 GHz</td> + <td> + <p>Frontseite: 0.3 Rückseite: 2.0</p> + </td> + <td>1GB</td> + <td>8GB</td> + <td> </td> + <td> </td> + </tr> + <tr> + <td> + <p><a href="https://blog.mozilla.org/press/2014/02/developer-momentum-2/">Flame</a></p> + + <p><em>Mozillas Referenz-Gerät</em></p> + </td> + <td>v1.3</td> + <td> + <p>FWVGA<br> + 854 × 480<br> + PX=1.5<br> + </p> + </td> + <td>4.5 capacitive touch</td> + <td> + <p>Qualcomm Snapdragon 200 MSM8210, 1.2GHZ Dual core processor</p> + </td> + <td> + <p>Frontseite: 2.0<br> + Rückseite: 5.0 Auto-Fokus und Blitz<br> + </p> + </td> + <td>256MB–1GB (adjustable by developer)</td> + <td>8GB</td> + <td>32GB micro SD card (USB 2.0)</td> + <td>1800</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/ZTE_OPEN_C">ZTE Open C</a></td> + <td>v1.3</td> + <td>800 x 480</td> + <td>4</td> + <td>Qualcomm Snapdragon 200 MSM8210, 1.2GHZ Dual core processor</td> + <td>Rückseite: 3.0</td> + <td>512MB</td> + <td>4GB</td> + <td> + <p>/data: 1G</p> + </td> + <td>1400</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Symphony_GoFox_F15">Symphony GoFox F15</a></td> + <td>v1.4</td> + <td>320 x 480<br> + PX=?</td> + <td>3.5</td> + <td>Spreadtrum 1 GHz Single Core Processor</td> + <td>Frontseite: 0.3<br> + Rückseite: 3.2 mit Blitz</td> + <td>512MB</td> + <td>512MB</td> + <td> </td> + <td>1450</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Intex_Cloud_FX">Intex Cloud Fx</a></td> + <td>V 1.3</td> + <td>320 x 480</td> + <td>3.5</td> + <td>Spreadtrum 1 GHz</td> + <td>Rückseite: 2.0 ohne Blitz</td> + <td>128 MB</td> + <td>256MB</td> + <td> + <p>Data : 2G</p> + + <p>Interner Speicher: 46 MB (User Memory)</p> + + <p>Externer Speicher (Micro SD Card): max. 4GB</p> + </td> + <td>1250</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Spice_Fire_One_MI_FX1">Spice Fire One (Mi-FX1)</a></td> + <td>V 1.3</td> + <td>320 x 480</td> + <td>3.5</td> + <td>Spreadtrum 1 GHz</td> + <td> + <p>Frontseite: VGA</p> + + <p>Rückseite: 1.3</p> + </td> + <td>128 MB</td> + <td>512MB</td> + <td> + <p>Data : 2G</p> + + <p>Interner Speicher: 67.9 MB (User Memory)</p> + + <p>Externer Speicher (Micro SD Card): max. 4GB</p> + </td> + <td>1400</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Alcatel_Onetouch_Fire_C_4020D">Alcatel OneTouch Fire C 4020D</a></td> + <td>V 1.3</td> + <td>320 x 480</td> + <td>3.5</td> + <td>Spreadtrum 1 GHz</td> + <td> </td> + <td>128 MB</td> + <td>256MB</td> + <td> + <p>Data : 2G</p> + + <p>Interner Speicher : 65 MB (User Memory)</p> + + <p>Externer Speicher (Micro SD Card): max. 32GB</p> + </td> + <td>1000</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Zen_U105_Fire">Zen U105 Fire</a></td> + <td>V 1.3</td> + <td>320 x 480</td> + <td>3.5</td> + <td>Spreadtrum 1 GHz</td> + <td> + <p>Frontseite: VGA</p> + Rückseite: 2.0</td> + <td>128 MB</td> + <td>256MB</td> + <td> + <p>Data : 2G</p> + + <p>Externer Speicher (Micro SD Card): max. 16GB</p> + </td> + <td>1200</td> + </tr> + <tr> + <td><a href="https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Fx0">Fx0</a></td> + <td>V 2.0</td> + <td>1280 x 720</td> + <td>4.7</td> + <td>Qualcomm Snapdragon S4 MSM8926 1.2GHz quad-core</td> + <td> + <p>Frontseite: 8.0</p> + + <p>Rückseite: 2.1</p> + </td> + <td>1.5 GB</td> + <td>16GB</td> + <td>microSDXC Karte: max. 64GB</td> + <td>2370</td> + </tr> + <tr> + <td>Orange Klif</td> + <td>V 2.0</td> + <td>480 x 320</td> + <td>3.5</td> + <td>MediaTek dual-core 1Ghz MT6572M</td> + <td>Rückseite: 2.0</td> + <td>256MB</td> + <td>512MB</td> + <td>TBC</td> + <td>1300</td> + </tr> + <tr> + <td>ZTE Open C 2</td> + <td>V 2.1</td> + <td>WVGA</td> + <td>4.0</td> + <td>Spreadturn SC7715 1GB</td> + <td>Rückseite: 2.0</td> + <td>512MB</td> + <td>4GB</td> + <td>Externer Speicher (Micro SD Card): max. 32GB</td> + <td>1400</td> + </tr> + </tbody> +</table> + +<p>Anmerkungen zu den Spalten:</p> + +<ul> + <li>Auflösung: + <ul> + <li>horizontal x vertikal</li> + <li>PX=1, PX=1.5, oder PX=2 ist die GAIA_DEV_PIXELS_PER_PX Einstellung, die für dieses Gerät verwendet werden sollte</li> + </ul> + </li> + <li>Speicher: + <ul> + <li>"/data" ist der interne Speicher. Hier wird u.a. die IndexedDB gespeichert. Jede App bekommt hier einen separaten Bereich zugewiesen. Auf diesen Speicher kann nicht über USB zugegriffen werden. Ein Zugriff über adb ist bei entsprechenden Berechtigungen möglich.</li> + <li>Im DeviceStorage werden die Daten des <a href="https://developer.mozilla.org/en-US/docs/WebAPI/Device_Storage">DeviceStorage API</a> gespeichert. Manche Geräte haben einen internen Speicher (ex: leo), andere wiederum haben einen externen Speicher auf einer MicroSD Karte und einige Geräte unterstützen sowohl internen als auch externen Speicher (ex: leo). Der Zugriff auf diesen Speicher ist bei entsprechenden Berechtigungen sowohl für die Apps als auch über USB möglich.</li> + <li>Einige Werte in der Spalte "Speicher" wurden mit "adb shell df" ermittelt und sind deshalb nicht unbedingt schön und rund.</li> + </ul> + </li> +</ul> diff --git a/files/de/archive/b2g_os/phone_guide/zte_open_c/index.html b/files/de/archive/b2g_os/phone_guide/zte_open_c/index.html new file mode 100644 index 0000000000..7b74fddbf2 --- /dev/null +++ b/files/de/archive/b2g_os/phone_guide/zte_open_c/index.html @@ -0,0 +1,82 @@ +--- +title: ZTE OPEN C +slug: Archive/B2G_OS/Phone_guide/ZTE_OPEN_C +tags: + - Update + - Upgrade + - ZTE Open C + - reagiert nicht mehr +translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN_C +--- +<div class="summary"> + <p><span class="seoSummary">Das ZTE Open C Firefox OS Handy ist ein fortgeschrittenes Firefox OS Gerät von ZTE das über bessere Hardware verfügt, die unter anderem eine 3MP Kamera und einen 4-inch WVGA Display umfasst und bei dem Firefox OS 1.3 vorinstalliert ist. Dieser Artikel enthält Informationen über das Gerät, darunter Anleitungen zum Updaten und zur Fehlerbeseitigung.</span></p> +</div> +<div class="note"> + <p><strong>Bitte Beachten: </strong>Diese Anleitungen sind<strong> nicht </strong>für das ZTE Open. Wenn Sie ein ZTE Open haben, sollten Sie stattdessen zu unterer <a href="/en-US/Firefox_OS/Developer_phone_guide/ZTE_OPEN">ZTE Open</a> Seite gehen.</p> +</div> +<div class="note"> + <p><strong>Bitte beachten</strong>: Das Upgrade-Programm welches Sie benötigen, um das Handy zu entsprechen (s.u.) ist derzeit nur für Windows erhältlich. Kaufen Sie das Handy nicht, wenn Sie nicht über ein Windows-System verfügen und trotzdem selbst Ihre eigenen Versionen von Firefox OS installieren wollen.</p> +</div> +<p>Das ZTE Open C ist das erste Handy mit dem jüngsten<a href="http://blog.mozilla.org/futurereleases/2014/05/08/firefox-os-update-adds-new-features-including-dual-sim-support-and-enhancements-for-music-lovers-and-gamers"> update für Firefox OS</a>. Es bietet viele neue Funktionen, darunter den Direktzugriff auf den Musikplayer vom Sperrbildschirm oder dem Benachrichtigungsfeld aus und Bluetooth sharing, mit dem dem Sie mehrere Dateien gleichzeitig übertragen können. Nutzer können jetzt schneller durch die Menüs navigieren mithilfe von intelligenten Ordnern, die automatisch Apps oder die Suche nach Apps nach Kategorien ordnen mit verbesserter Geschwindigkeit beim Scrollen und einem schnelleren Start von Systen-Apps wie Kalender, Addressbuch und Kamera.</p> +<h2 id="Der_Kauf_eines_Geräts">Der Kauf eines Geräts</h2> +<p>Das Gerät kostet US$99.99, es ist bei eBay erhältlich:</p> +<ul> + <li><a href="http://item.ebay.com/291125433026">ZTE eBay US store</a></li> + <li><a href="http://item.ebay.co.uk/171301269724">ZTE eBay UK store</a> (Kunden aus Frankreich und einiger angrenzender Länder sollten diesen Store benutzen)</li> + <li><a href="http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=131151681046&ssPageName=STRK:MESE:IT">ZTE eBay DE store</a></li> + <li><a href="http://www.ebay.com/itm/111326263156">ZTE eBay RU and EU stores</a></li> +</ul> +<div class="note"> + <p><strong>Bitte beachten</strong>: Sie erhalten das Gerät ohne dass irgendwelche Netzwerk-spezifischen Apps oder Dienste installert wären. Es handelt sich um eine entsperrte, global erhältliche Variante, die für early Adopters gedacht ist.</p> +</div> +<h2 id="Einzelheiten_zum_Handy">Einzelheiten zum Handy</h2> +<p>Siehe <a href="/en-US/Firefox_OS/Developer_phone_guide/Phone_specs">Phone and device specs</a>.</p> +<h2 id="Wie_Sie_Firefox_OS_upgraden">Wie Sie Firefox OS upgraden</h2> +<p>Der einfachste Weg, um die Software Ihres Open C upzugraden ist es, die Dateien von der ZTE-Webseite zu verwenden. Um die richtige Datei zu finden, gehen Sie zu <a href="http://www.ztedevices.com/support/selectproduct.html?type=software">ZTE's Software support page</a>, wählen Sie Ihre Region aus der Liste auf der linken Seite, wählen Sie <em>Smart Phones</em> in der mittleren Liste und Open C(European Standard) bzw. Open C(American Standard), je nachdem, wo Sie das Gerät gekauft haben. Klicken Sie dann auf <em>Selected</em> um zu Ihrer Download-Seite zu gelangen.</p> +<p>Sobald Ihr Download beendet ist, finden Sie ein PDF in der ZIP-Datei, das Ihnen erklärt, wie das Upgrade zu installieren ist.</p> +<h2 id="Manuelle_Updates">"Manuelle" Updates</h2> +<p>Wenn Sie selbst Gecko oder Gaia updaten wollen, ist der Vorgang etwas verzwickter, weil das Handy standardmäßig gesperrt ist und Sie keinen Root-Zugang haben. Um das Gerät zu entsperren, können Sie folgendes Programm von comebuy.com benutzen:<a href="http://en.comebuy.com/developer-firefox-os-open-c.html">Open_C_upgrade_Tool</a>. Durch die Installation dieses Programms wird die Fimware Ihres Geräts so verändert, dass der Root-Zugang Fastboot aktiviert werden und Sie die Möglichkeit haben, Ihr Telefon mit neuen Softwarekomponenten zu flashen.</p> +<div class="note"> + <p><strong>Bitte beachten</strong>: Dieses Upgrade-Programm ist derzeit nur für Windows verfügbar.</p> +</div> +<h3 id="Gecko_und_Gaia_upgraden">Gecko und Gaia upgraden</h3> +<p>Sobald Sie Fastboot aktiviert haben, können Sie neue Firefox OS/B2G Gecko und Gaia Komponenten erstellen und installieren: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">build and install new Firefox OS/B2G</a>.</p> +<ol> + <li>Beginnen Sie mit folgender Anleitung: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">build prerequisite</a>, wobei Sie das Open C zum Zwecke der Konfiguration wie ein Flame behandeln: Beide, Flame und Open C basieren auf dem Android Jellybean Basissystem.</li> + <li>Während der Konfiguration müssen Sie ein sog. "Custom Manifest File" für das Open C referenzieren. Laden Sie den Anhang zur Fehlermeldung auf folgender Seite herunter: <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1016867">Download the attachment on this bug</a> und speichern Sie ihn an einem Ort auf ihrem Computer, den Sie leicht wiederfinden unter dem Dateinamen openc.xml.</li> + <li>Räumen Sie das B2G Verzeichnis auf und löschen Sie nicht benötigte Unterverzeichnisse:<br> + <pre class="brush: bash" id="comment_text_2">rm -rf objdir-gecko/ out/ backup-flame/</pre> + </li> + <li>Konfigurieren Sie jetzt Firefox OS mit dem nachfolgenden Befehl:<br> + <pre class="brush: bash language-html">./config.sh flame /PATH/TO/openc.xml</pre> + </li> + <li>Sie können jetzt die Gecko Komponenten mit den nachfolgenden Befehlen bauen und auf Ihr Gerät flashen: + <pre class="brush: bash language-html">./build.sh gecko +./flash.sh gecko</pre> + </li> + <li>Jetzt sollten Sie auch Gaia upgraden, damit die upgegradete Version von Gecko mit der Gaia-Version auf Ihrem Gerät zusammenarbeietet: + <pre class="brush: bash language-html">cd gaia +make reset-gaia</pre> + </li> +</ol> +<div class="warning"> + <p><strong>Achtung</strong>: Der Versuch, ein Image für das Flame auf Ihr Gerät zu flashen würde dieses unbrauchbar machen, weswegen hiervon abgeraten wird.</p> +</div> +<h3 id="Gaia_upgraden">Gaia upgraden</h3> +<p>Wenn Sie nur ein Update von Gaia und nicht auch von Gecko durchführen wollen, müssen Sie zunächst das Gaia Repo auf Github forken und klonen und das Ergebnis auf Ihr Gerät flashen.</p> +<ol dir="ltr"> + <li>Stellen Sie sicher dass <a href="https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> installiert ist.</li> + <li>Gehen Sie zu <a href="https://github.com/mozilla-b2g/gaia">https://github.com/mozilla-b2g/gaia</a>, klicken Sie dann auf den "fork" button in der oben rechten Ecke um in Ihr eigenes Repo zu forken.</li> + <li>Klonen Sie den Code von ihrem geforkten Repo auf Ihren eigenen Rechner, indem Sie folgenden Befehl ausführen: + <pre class="brush: bash language-html">git clone https://github.com/your-github-username/gaia.git</pre> + </li> + <li><code>Wechseln Sie in das hierdurch erstellte Verzeichnis.</code></li> + <li>Schalten Sie auf ihrem Gerät <a href="https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Developer_settings#Debugging_via_USB">remote debugging</a> ein (wählen Sie die ADB und Devtools option).</li> + <li>Verbinden Sie jetzt Ihr Handy per USB mit Ihrem Computer, stellen Sie sicher, dass das Gerät erkannt wird, indem Sie den Befehl <code>adb devices</code> im terminal eingeben.</li> + <li>Führen Sie folgenden Befehl aus, um Ihr Handy neu zu starten und es mit dem neuesten Gaia Sourcecode upzudaten + <pre class="brush: bash language-html">make reset-gaia</pre> + </li> +</ol> +<h2 id="Mein_Handy_reagiert_nicht_mehr">Mein Handy reagiert nicht mehr</h2> +<p>Wenn Ihr Gerät nicht mehr reagiert, ist es unter Umständen möglich, es mit der unter <a href="http://www.ztedevices.com/support/smart_phone/65229ec9-3165-424e-a7dd-3759356325fd.html">ZTE Open C user manual</a> auf der Webseite von ZTE verfügbaren Anleitung und der Anleitung auf dieser Seite wieder zum Leben zu erwecken.</p> +<p>Weitere Informationen sind unter Umständen hier: <a href="https://support.mozilla.org/en-US/questions/1003136">reference this support entry</a> verfügbar.</p> diff --git a/files/de/archive/b2g_os/platform/app_architektur/index.html b/files/de/archive/b2g_os/platform/app_architektur/index.html new file mode 100644 index 0000000000..315efb5b4e --- /dev/null +++ b/files/de/archive/b2g_os/platform/app_architektur/index.html @@ -0,0 +1,29 @@ +--- +title: Firefox OS App-Architektur +slug: Archive/B2G_OS/Platform/App_Architektur +tags: + - Anleitung + - Apps + - B2G + - Firefox OS +translation_of: Archive/B2G_OS/Platform/Apps_architecture +--- +<div class="summary"> + <p>Dieser Artikel beschreibt die Details, wie Apps in Firefox OS gestartet und verwaltet werden. Diese Informationen sind hilfreich sowohl für Firefox OS-Plattformentwickler als auch für Gruppen, die das Betriebssystem auf neue Hardware portieren. Als App-Entwickler benötigt man diesen Artikel nicht unbedingt, aber er könnte trotzdem interessant sein.</p> +</div> +<h2 id="Der_App-Startprozess">Der App-Startprozess</h2> +<p>Wenn der Nutzer eine App, die er starten möchte, auswählt oder eine App auf andere Weise gestartet werden soll, startet die Home-Screen-App, indem sie sich eine App-Referenz von der {{domxref("App")}}-API holt und dann die Methode {{domxref("App.launch()")}} aufruft, um die App zu starten.</p> +<p>Gecko empfängt diese Anforderung und sendet das {{domxref("mozChromeEvent")}} mit den App-Details zur System-App. Die System-App verarbeitet dieses Ereignis, indem sie ein neues {{HTMLElement("iframe")}}-Element in den DOM-Baum einfügt und die App in dieses neue {{HTMLElement("iframe")}}-Element lädt. Dieser Rahmen ist dann die Heimat der App, bis sie beendet wird.</p> +<p>Jede App benötigt ein Manifest, das sie beschreibt, und hat eine spezielle Dateihierarchie im Paket. Details stehen im Artikel <a href="/en-US/docs/Web/Apps/App_Manifest">App manifest</a>.</p> +<h2 id="Kommunikation_mit_Gecko">Kommunikation mit Gecko</h2> +<p>Die Kommunikation zwischen Gecko und Gaia's System-App passiert über {{domxref("mozChromeEvent")}} und {{domxref("mozContentEvent")}}. <code>mozChromeEvent</code>s werden von Chrome zum Inhalt und <code>mozContentEvent</code>s vom Inhalt zu Chrome gesendet. Diese Kommunikation wird benutzt, um die Erzeugung und das Schließen der vertrauten Benutzeroberfläche zu steuern und die benötigten Funktionen für Benachrichtigungen und andere Aufgaben bereitzustellen, dazu gehört auch, der System-App mitzuteilen, dass eine App gestartet werden soll.</p> +<div class="note"> + <p><strong>Anmerkung:</strong> Mehr dazu, wie diese Ereignisse funktionieren, findet man in der <a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps/System">System-App-Dokumentation</a>. Eine andere Quelle, wie man die Ereignisse benutzt, findet man im Quellcode in {{source("b2g/chrome/content/shell.js")}}.</p> +</div> +<h2 id="See_also">See also</h2> +<ul> + <li><a href="/en-US/docs/Web/Apps">Apps</a></li> + <li>{{domxref("App")}}</li> + <li><a href="/en-US/Firefox_OS/Platform/Gaia/Gaia_apps/System">System app</a></li> + <li><a href="/en-US/Firefox_OS/Platform/Architecture">Firefox OS architecture</a></li> +</ul> diff --git a/files/de/archive/b2g_os/platform/architektur/index.html b/files/de/archive/b2g_os/platform/architektur/index.html new file mode 100644 index 0000000000..c438e89c9f --- /dev/null +++ b/files/de/archive/b2g_os/platform/architektur/index.html @@ -0,0 +1,740 @@ +--- +title: Firefox OS Architektur +slug: Archive/B2G_OS/Platform/Architektur +translation_of: Archive/B2G_OS/Architecture +--- +<div class="summary"> +<p><span class="seoSummary">Dieser Artikel gibt eine Übersicht über die Architektur der Firefox OS Plattform und beschreibt die grundlegenden Konzepte und wie die einzelnen Komponenten prinzipiell zusammen arbeiten.</span></p> +</div> + +<div class="note"> +<p><strong>Hinweis:</strong> Bitte denke daran, dass Firefox OS noch nicht veröffentlicht ist. Die hier beschriebene Architektur ist möglicherweise noch nicht endgültig und es können sich noch ein paar Dinge ändern.</p> +</div> + +<h2 id="Firefox_OS_Begriffserklärungen">Firefox OS Begriffserklärungen</h2> + +<p>Einige Begriffe solltest Du kennen, bevor Du die Dokumentation von Firefox OS liest.</p> + +<dl> + <dt>B2G</dt> + <dd>Kurzform von "Boot to Gecko"</dd> + <dt>Boot to Gecko</dt> + <dd>Der interne Code-Name für das Firefox OS Betriebssystem. Du wirst diesen Begriff häufig als Synonym für Firefox OX finden, weil dieser Code-Name schon lange genutzt wurde bevor das Projekt einen offiziellen Namen hatte.</dd> + <dt>Firefox OS</dt> + <dd>Firefox OS stellt im Grunde das Mozilla Branding (und das von OEM Partnern) und verschiedene Support-Programme über der <strong>Boot to Gecko</strong> Ebene bereit, um aus den einzelnen Komponenten ein marktfähiges Produkt zu machen.</dd> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Gaia">Gaia</a></dt> + <dd>Das ist die Benutzeroberfläche (User Interface) der Firefox OS Plattform. Alles, was nach dem Start von Firefox OS auf dem Bildschirm zu sehen ist wird von der Gaia Schicht erzeugt. Gaia implementiert den Sperrbildschirm, die Startseite und alle Apps, die man von einem modernen Smartphone erwartet. Die Gaia Schicht wurde vollständig in HTML, CSS und JavaScript geschrieben. Gaia kommuniziert mit dem darunter liegenden Betriebssystem ausschließlich über offene Web APIs, die durch Gecko bereit gestellt werden. Anwendungen von Drittanbietern können neben Gaia installiert werden.</dd> + <dt><a href="https://developer.mozilla.org/en-US/docs/Gecko">Gecko</a></dt> + <dd>Gecko ist die Laufzeitumgebung von Firefox OS. Diese Schicht stellt alles zur Verfügung, was für die drei offenen Standards HTML, CSS und JavaScript benötigt wird. Gecko stellt sicher, dass diese APIs auf jedem von Gecko unterstützten Betriebssystem gut funktionieren. Zu diesem Zweck beinhaltet Gecko unter anderem Netzwerk-, Grafik- und Layoutstacks sowie eine Virtuelle Maschine für JavaScript und Schichten für die Portierung.</dd> + <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Gonk">Gonk</a></dt> + <dd>Gonk ist eine tiefer liegende Schicht des Firefox OS Betriebsystems, bestehend aus dem Linux Kernel (basierend auf dem <a href="http://source.android.com/">Android Open Source Project</a> (AOSP)) und der Hardware-Abstraktionsschicht (hardware abstraction layer, HAL). Der Linux Kernel und einige der Anwendungs-Bibliotheken sind allgemeine Open Source Projekte: Linux, libusb, bluez und andere. Einige Pakete des HAL sind Gemeinschafts-Projekte mit AOSP: GPS, Kamera und andere. Man könnte sagen, Gonk ist eine sehr einfache Linux Distribution. Gonk ist ein <strong>Port</strong> von Gecko. Das heißt, es gibt einen Port von Gecko zu Gonk, so wie es Ports von Gecko zu Mac OS X, Windows und Android gibt. Seit das Firefox OS Projekt die alleinige Kontrolle über Gonk hat können wir Schnittstellen zu Gecko entwickeln, die auf anderen Betriebssystemen nicht möglich sind. Zum Beispiel hat Gecko auf Gonk direkten Zugriff zur gesamten Telefonie-Einheit und zum Display Frame Buffer. Auf anderen Betriebssystemen ist dies nicht möglich.</dd> + <dt><a name="Jank">Jank</a></dt> + <dd>Dieser im Bereich der mobilen Web Apps häufig genutzte Begriff bezeichnet den Effekt von langsamem und ineffizientem Code in einer App, wodurch die Aktualisierung der Benutzeroberfläche blockiert wird und diese nur noch langsam oder überhaupt nicht mehr reagiert. Unsere Gaia Entwickler nutzen verschiedene Optimierungs-Techniken, um diese Probleme unter allen Umständen zu verhindern.</dd> +</dl> + +<h2 id="Overall_architecture">Overall architecture</h2> + +<p>The following figure compares architectures between proprietary platforms and Firefox OS.</p> + +<p><img alt="on the left is a native mobile architecture stack, on the right is the Firefox OS architecture. they are similarm except that the native stack is all proprietary device functionality, and the Firefox OS stack is all done with open source and web technologies." src="https://mdn.mozillademos.org/files/9487/general-architecture.png" style="display: block; height: 488px; margin: 0px auto; width: 997px;"></p> + +<p>Firefox OS eliminates the native API layer between the operating system and application layers. This integrated design reduces platform overhead and simplifies security without sacrificing performance or a rich user smart phone experience.</p> + +<ol> + <li><a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gaia">Gaia</a> is the core web apps of the device, and user interface layer, all written in HTML5, CSS and JavaScript, with a number of exposed APIs to allow the UI code to interact with the phone hardware and Gecko functionality.</li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Gecko">Gecko</a> is the web engine and presentation layer in Firefox OS that connects hardware to HTML by serving as the interface between web content and the underlying device. Gecko provides an HTML5 parsing and rendering engine, programmatic access to hardware functionality via secure web APIs, a comprehensive security framework, update management, and other core services.</li> + <li><a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gonk">Gonk</a> is the kernel-level component in the Firefox OS stack that serves as the interface between Gecko and the underlying hardware. Gonk controls the underlying hardware and exposes hardware capabilities to Web APIs implemented in Gecko. Gonk can be seen as the “black box” that does all the complex, detailed work behind the scenes to control the mobile device by enacting requests at the hardware level.</li> + <li>The mobile device is the mobile phone hardware running Firefox OS. The OEM (Original Equipment Manifacturer) is responsible for providing the mobile device.</li> +</ol> + +<h2 id="Specific_Firefox_OS_architecture">Specific Firefox OS architecture</h2> + +<p><img alt="Firefox OS Architecture" src="https://developer.mozilla.org/files/4605/FirefoxOS.png" style="display: block; height: 915px; margin: 0px auto; width: 754px;"></p> + +<h2 id="Firefox_OS_bootup_procedure">Firefox OS bootup procedure</h2> + +<p>This section describes the process by which Firefox OS devices boot, what parts are involved, and where. As a quick reference, the general system bootup flow goes from bootloaders in the Kernel space, to init in the native code, to B2G and then Gecko in the user space, and then finally to the system app, window manager, then homescreen app inside Gecko. This is what all other apps are executed on top of.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/7491/bootup.png" style="display: block; height: 1979px; margin: 0px auto; width: 2112px;"></p> + +<h3 id="The_bootstrapping_process">The bootstrapping process</h3> + +<p>When a Firefox OS device is first turned on, execution begins in the primary bootloader. From there, the process of loading the main operating system proceeds in the typical way; a succession of increasingly higher-level bootloaders bootstrap the next loader in the chain. At the end of the process, execution is handed off to the Linux kernel.</p> + +<p>There are a few points worth noting about the boot process:</p> + +<ul> + <li>The bootloaders usually display the first splash screen seen by the user during device startup; this is typically a vendor logo.</li> + <li>The bootloaders implement flashing an image to the device. Different devices use different protocols; most phones use the <a href="http://android-dls.com/wiki/index.php?title=Fastboot" title="http://android-dls.com/wiki/index.php?title=Fastboot">fastboot protocol</a>, but the Samsung Galaxy S II uses the odin protocol.</li> + <li>By the end of the bootstrapping process, the modem image is usually loaded and running on the modem processor. How this happens is highly device-specific and may be proprietary.</li> +</ul> + +<h3 id="The_Linux_kernel">The Linux kernel</h3> + +<p>The Linux kernel(s) used by Gonk is very similar to the upstream Linux from which it's derived (based on the <a href="http://source.android.com/" title="http://source.android.com/">Android Open Source Project</a>). There are a few changes made by the AOSP that have not yet been upstreamed. In addition, vendors sometimes modify the kernel and upstream those changes on their own schedule. In general, though, the Linux kernel is close to stock.</p> + +<p>The <a href="http://en.wikipedia.org/wiki/Linux_startup_process" title="http://en.wikipedia.org/wiki/Linux_startup_process">startup process for Linux</a> is well-documented elsewhere on the Internet, so this article won't cover that.</p> + +<p>The Linux Kernel will bring up devices and run essential processes. It will execute processes defined in <code>init.rc</code> and the successor <a href="https://github.com/mozilla-b2g/gonk-misc/blob/master/init.b2g.rc">init.b2g.rc</a> to boot essential process such as <code>b2g</code> (FirefoxOS basic process, containing Gecko) and <code>rild</code> (telephony related process that might proprietary by different chipsets) — see below for more details. At the end of the process, a userspace <code>init</code> process is launched, as it is in most UNIX-like operating systems.</p> + +<p>Once the <code>init</code> process is launched, the Linux kernel handles system calls from userspace, and interrupts and the like from hardware devices. Many hardware features are exposed to userspace through <a href="http://en.wikipedia.org/wiki/Sysfs" title="http://en.wikipedia.org/wiki/Sysfs"><code>sysfs</code></a>. For example, here's a <a href="https://github.com/cgjones/mozilla-central/blob/master/hal/gonk/GonkHal.cpp#L277" title="https://github.com/cgjones/mozilla-central/blob/master/hal/gonk/GonkHal.cpp#L277">code snippet</a> that reads the battery state in Gecko:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">FILE <span class="operator token">*</span>capacityFile <span class="operator token">=</span> <span class="function token">fopen</span><span class="punctuation token">(</span><span class="string token">"/sys/class/power_supply/battery/capacity"</span><span class="punctuation token">,</span> <span class="string token">"r"</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +double capacity <span class="operator token">=</span> dom<span class="punctuation token">:</span><span class="punctuation token">:</span>battery<span class="punctuation token">:</span><span class="punctuation token">:</span>kDefaultLevel <span class="operator token">*</span> <span class="number token">100</span><span class="punctuation token">;</span> +<span class="keyword token">if</span> <span class="punctuation token">(</span>capacityFile<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="function token">fscanf</span><span class="punctuation token">(</span>capacityFile<span class="punctuation token">,</span> <span class="string token">"%lf"</span><span class="punctuation token">,</span> <span class="operator token">&</span>capacity<span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="function token">fclose</span><span class="punctuation token">(</span>capacityFile<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<h3 id="More_on_the_init_process">More on the init process</h3> + +<p>The <code>init</code> process in Gonk handles mounting the required file systems and spawns system services. After that, it stays around to serve as a process manager. This is quite similar to init on other UNIX-like operating systems. It interprets scripts (that is, the <code>init*.rc</code> files) that consist of commands describing what should be done to start various services. The Firefox OS <code>init.rc</code> is typically the stock Android <code>init.rc</code> for that device patched to include the things required to kick-start Firefox OS, and varies from device to device.</p> + +<p>One key task the <code>init</code> process handles is starting up the <code>b2g</code> process; this is the core of the Firefox OS operating system.</p> + +<p>The code in <code>init.rc</code> that starts this up looks like this:</p> + +<pre class="line-numbers language-html"><code class="language-html">service b2g /system/bin/b2g.sh + class main + onrestart restart media</code></pre> + +<div class="note"> +<p><strong>Note:</strong> Exactly how much <code>init.rc</code> differs from the Android version varies from device to device; sometimes, <code>init.b2g.rc</code> is simply appended, and sometimes the patches are more significant.</p> +</div> + +<h2 id="The_userspace_process_architecture">The userspace process architecture</h2> + +<p>Now it's useful to take a high-level look at how the various components of Firefox OS fit together and interact with one another. This diagram shows the primary userspace processes in Firefox OS.</p> + +<p><a href="https://developer.mozilla.org/files/3849/B2G%20userspace%20architecture.svg"><img alt="Userspace diagram" src="https://developer.mozilla.org/files/3849/B2G%20userspace%20architecture.svg" style="float: right; height: 491px; position: relative; width: 520px;"></a></p> + +<div class="note"> +<p><strong>Note:</strong> Keep in mind that since Firefox OS is under active development, this diagram is subject to change, and may not be entirely accurate.</p> +</div> + +<p>The <code>b2g</code> process is the primary system process. It runs with high privileges; it has access to most hardware devices. <code>b2g</code> communicates with the modem, draws to the display framebuffer, and talks to GPS, cameras, and other hardware features. Internally, <code>b2g</code> runs the Gecko layer (implemented by <code>libxul.so</code>). See <a href="#Gecko">Gecko</a> for details on how the Gecko layer works, and how <code>b2g</code> communicates with it.</p> + +<h3 id="b2g">b2g</h3> + +<p>The <code>b2g</code> process may, in turn, spawn a number of low-rights <strong>content processes</strong>. These processes are where web applications and other web content are loaded. These processes communicate with the main Gecko server process through <a href="https://developer.mozilla.org/en-US/docs/IPDL" title="/en-US/docs/IPDL">IPDL</a>, a message-passing system.</p> + +<p>The <code>b2g</code> process runs libxul, which references <code>b2g/app/b2g.js</code> to get default preferences. From the preferences it will open the described HTML file <code>b2g/chrome/content/shell.html</code>, which is compiled within the <code>omni.ja</code> file. <code>shell.html</code> includes <code>b2g/chrome/content/shell.js</code> file, which triggers the Gaia <code>system</code> app.</p> + +<h3 id="rild">rild</h3> + +<p>The <code>rild</code> process is the interface to the modem processor. <code>rild</code> is the daemon that implements the <strong>Radio Interface Layer</strong> (RIL). It's a proprietary piece of code that's implemented by the hardware vendor to talk to their modem hardware. <code>rild</code> makes it possible for client code to connect to a UNIX-domain socket to which it binds. It's started up by code like this in the <code>init</code> script:</p> + +<pre class="line-numbers language-html"><code class="language-html">service ril-daemon /system/bin/rild + socket rild stream 660 root radio</code></pre> + +<h3 id="rilproxy">rilproxy</h3> + +<p>In Firefox OS, the <code>rild</code> client is the <code>rilproxy</code> process. This acts as a dumb forwarding proxy between <code>rild</code> and <code>b2g</code>. This proxy is needed as an implementation detail; suffice it to say, it is indeed necessary. The <a href="https://github.com/mozilla-b2g/rilproxy" title="https://github.com/mozilla-b2g/rilproxy"><code>rilproxy</code> code can be found on GitHub</a>.</p> + +<h3 id="mediaserver">mediaserver</h3> + +<p>The <a href="https://github.com/android/platform_frameworks_base/tree/ics-mr0-release/media/libmediaplayerservice" title="https://github.com/android/platform_frameworks_base/tree/ics-mr0-release/media/libmediaplayerservice"><code>mediaserver</code> process</a> controls audio and video playback. Gecko talks to it through an Android Remote Procedure Call (RPC) mechanism. Some of the media that Gecko can play (OGG Vorbis audio, OGG Theora video, and <a href="http://www.webmproject.org/about/" title="http://www.webmproject.org/about/">WebM</a> video) are decoded by Gecko and sent directly to the <code>mediaserver</code> process. Other media files are decoded by <code>libstagefright</code>, which is capable of accessing proprietary codecs and hardware encoders.</p> + +<div class="note"> +<p><strong>Note:</strong> The <code>mediaserver</code> process is a "temporary" component of Firefox OS; it's there to aid in our initial development work, but is expected to go away eventually. This will most likely not happen until Firefox OS 2.0 at the earliest, however.</p> +</div> + +<h3 id="netd">netd</h3> + +<p>The <code>netd</code> process is used to configure network interfaces.</p> + +<h3 id="wpa_supplicant">wpa_supplicant</h3> + +<p>The <code>wpa_supplicant</code> process is the standard UNIX-style daemon that handles connectivity with WiFi access points.</p> + +<h3 id="dbus-daemon">dbus-daemon</h3> + +<p>The dbus-daemon implements <a href="http://www.freedesktop.org/wiki/Software/dbus" title="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a>, a message bus system that Firefox OS uses for Bluetooth communication.</p> + +<h2 id="Gecko">Gecko</h2> + +<p><a href="https://developer.mozilla.org/en-US/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a>, as previously mentioned, is the implementation of web standards (<a href="https://developer.mozilla.org/en-US/docs/HTML" title="/en-US/docs/HTML">HTML</a>, <a href="https://developer.mozilla.org/en-US/docs/CSS" title="/en-US/docs/CSS">CSS</a>, and <a href="https://developer.mozilla.org/en-US/docs/JavaScript" title="/en-US/docs/JavaScript">JavaScript</a>) that is used to implement everything the user sees on Firefox OS, and control interactions with the phone hardware. Web apps connect HTML5 to hardware via controlled, secure Web APIs, implemented in Gecko. The Web APIs provide programmatic access to features in the underlying mobile device hardware (such as the battery or vibration), along with data that is stored on, or available to, a device (such as the calendar or contacts). Web content invokes the accessible Web APIs within HTML5.</p> + +<p>An app consists of a collection of related HTML5 web content. To build web apps that run on Firefox OS mobile devices, developers simply assemble, package, and distribute this web content. At run time, this web content is interpreted, compiled, and rendered in a web browser. For more information on Apps, see the <a href="https://developer.mozilla.org/en-US/Apps">App Center</a>.</p> + +<div class="note"> +<p><strong>Note</strong>: To search the Gecko codebase, you could use <a href="http://dxr.mozilla.org">http://dxr.mozilla.org</a>. It’s more fancy and provides good reference features, but with limited repositories. Or you could try the traditional <a href="http://mxr.mozilla.org">http://mxr.mozilla.org</a>, which contains more Mozilla projects.</p> +</div> + +<h3 id="Gecko_architecture_diagram">Gecko architecture diagram</h3> + +<p><img alt="" src="https://mdn.mozillademos.org/files/5027/securityframework.png" style="height: 591px; width: 979px;"></p> + +<ul> + <li><strong>Security Framework</strong>: contains + + <ul> + <li><strong>Permission Manager</strong>: Gateway to accessing functionality in the Web API.</li> + <li><strong>Access Control List</strong>: Matrix of roles and permissions required to access Web API functionality.</li> + <li><strong>Credential Validation</strong>: Authentication of apps/users.</li> + <li><strong>Permissions Store</strong>: Set of privileges required to access Web API functionality.</li> + </ul> + </li> + <li><strong>Web API</strong>: Set of standard APIs that exposes hardware functionality to web content. Provides web apps with secure, programmatic access to features in the underlying mobile device hardware, along with data that is stored on—or available to—a device.</li> + <li><strong>I/O</strong>: Interface to the hardware and data store(s).</li> + <li><strong>Software Updates</strong>: Obtain and install updates to system software and third-party apps.</li> + <li><strong>Content Layout & Rendering</strong>: Engine that parses, interprets, and executes web content and, with formatting information, displays the formatted content to the user.</li> + <li><strong>b2g process</strong>: (Gecko) runs in a highly-privileged system process that has access to hardware features in the mobile phone. Running apps are child processes of b2g.</li> +</ul> + +<h3 id="Gecko_files_related_to_Firefox_OS">Gecko files related to Firefox OS</h3> + +<h4 id="b2g_2">b2g/</h4> + +<p>The b2g folder contains mainly Firefox OS-related functions.</p> + +<h5 id="b2gchromecontent">b2g/chrome/content</h5> + +<p>Contains Javascript files run above the system app.</p> + +<h5 id="b2gchromecontentshell.html">b2g/chrome/content/shell.html</h5> + +<p>The entry point into Gaia — the HTML for the system app. <code>shell.html</code> pulls in <code>settings.js</code> and <code>shell.js</code>:</p> + +<pre class="brush: html line-numbers language-html"><code class="language-html"><span class="tag token"><span class="tag token"><span class="punctuation token"><</span>script</span> <span class="attr-name token">type</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>application/javascript;version<span class="punctuation token">=</span>1.8<span class="punctuation token">"</span></span> <span class="attr-name token">src</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>chrome://browser/content/settings.js<span class="punctuation token">"</span></span><span class="punctuation token">></span></span><span class="language-javascript script token"> </span><span class="tag token"><span class="tag token"><span class="punctuation token"></</span>script</span><span class="punctuation token">></span></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>script</span> <span class="attr-name token">type</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>application/javascript;version<span class="punctuation token">=</span>1.8<span class="punctuation token">"</span></span> <span class="attr-name token">src</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>chrome://browser/content/shell.js<span class="punctuation token">"</span></span><span class="punctuation token">></span></span><span class="language-javascript script token"> </span><span class="tag token"><span class="tag token"><span class="punctuation token"></</span>script</span><span class="punctuation token">></span></span></code></pre> + +<p><code>settings.js</code> contains system default setting parameters.</p> + +<h5 id="b2gchromecontentshell.js">b2g/chrome/content/shell.js</h5> + +<p><code>shell.js</code> is the first script to load in the Gaia <code>system</code> app.</p> + +<p><code>shell.js</code> imports all required modules, registers key listeners, defines <code>sendCustomEvent</code> and <code>sendChromeEvent</code> to communicate with Gaia, and provides webapp install helpers: indexedDB quota, RemoteDebugger, keyboard helper, and screenshot tool.</p> + +<p>But the most important function of <code>shell.js</code> is to launch the Gaia <code>system</code> app, then hand over the overall systems related management work to the Gaia <code>system</code> app.</p> + +<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">let</span> systemAppFrame <span class="operator token">=</span> + document<span class="punctuation token">.</span><span class="function token">createElementNS</span><span class="punctuation token">(</span><span class="string token">'http://www.w3.org/1999/xhtml'</span><span class="punctuation token">,</span> <span class="string token">'html:iframe'</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="punctuation token">.</span><span class="punctuation token">.</span><span class="punctuation token">.</span> + container<span class="punctuation token">.</span><span class="function token">appendChild</span><span class="punctuation token">(</span>systemAppFrame<span class="punctuation token">)</span><span class="punctuation token">;</span></code></pre> + +<h5 id="b2gappb2g.js">b2g/app/b2g.js</h5> + +<p>This script contains predefined settings, like about:config in browser, and the same as Gaia's pref.js. These settings can be changed from the Settings app, and can be overwritten with Gaia’s user.js in the Gaia build script.</p> + +<h4 id="domAPI">dom/{API}</h4> + +<p>New API implementations (post-b2g) will be located in <code>dom/</code>. Older APIs will be located in <code>dom/base</code>, for example <code>Navigator.cpp</code>.</p> + +<h5 id="domapps">dom/apps</h5> + +<p><code>.jsm</code> will be loaded — <code>.js</code> API implementations such as <code>webapp.js</code> install, <code>getSelf</code>, etc.</p> + +<h5 id="domappsPermissionsTable.jsm">dom/apps/PermissionsTable.jsm</h5> + +<p>All permissions are defined in <a href="http://mxr.mozilla.org/mozilla-central/source/dom/apps/PermissionsTable.jsm">PermissionsTable.jsm</a></p> + +<h4 id="domwebidl">dom/webidl</h4> + +<p>WebIDL is the language used to define web APIs. For supported attributes, read <a href="https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings">WebIDL_bindings</a>.</p> + +<h4 id="halgonk">hal/gonk</h4> + +<p>This directory contains files related to the gonk port layer.</p> + +<h4 id="Generated_files">Generated files</h4> + +<h5 id="modulelibprefsrcinitall.js">module/libpref/src/init/all.js</h5> + +<p>Contains all config files.</p> + +<h5 id="systemb2g_omni.ja_and_omni.js">/system/b2g/ omni.ja and omni.js</h5> + +<p>Contains the pack of styles for resources in the device.</p> + +<h3 id="Processing_input_events">Processing input events</h3> + +<p>Most action inside Gecko is triggered by user actions. These actions are represented by input events (such as button presses, touches to a touch screen device, and so forth). These events enter Gecko through the <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsAppShell.cpp" rel="custom">Gonk implementation</a> of <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIAppShell" title="">nsIAppShell</a></code>, a Gecko interface that is used to represent the primary entrance points for a Gecko application; that is, the input device driver calls methods on the <code>nsAppShell</code> object that represents the Gecko subsystem in order to send events to the user interface.</p> + +<p>For example:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">void GeckoInputDispatcher<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">notifyKey</span><span class="punctuation token">(</span>nsecs_t eventTime<span class="punctuation token">,</span> + int32_t deviceId<span class="punctuation token">,</span> + int32_t source<span class="punctuation token">,</span> + uint32_t policyFlags<span class="punctuation token">,</span> + int32_t action<span class="punctuation token">,</span> + int32_t flags<span class="punctuation token">,</span> + int32_t keyCode<span class="punctuation token">,</span> + int32_t scanCode<span class="punctuation token">,</span> + int32_t metaState<span class="punctuation token">,</span> + nsecs_t downTime<span class="punctuation token">)</span> <span class="punctuation token">{</span> + UserInputData data<span class="punctuation token">;</span> + data<span class="punctuation token">.</span>timeMs <span class="operator token">=</span> <span class="function token">nanosecsToMillisecs</span><span class="punctuation token">(</span>eventTime<span class="punctuation token">)</span><span class="punctuation token">;</span> + data<span class="punctuation token">.</span>type <span class="operator token">=</span> UserInputData<span class="punctuation token">:</span><span class="punctuation token">:</span>KEY_DATA<span class="punctuation token">;</span> + data<span class="punctuation token">.</span>action <span class="operator token">=</span> action<span class="punctuation token">;</span> + data<span class="punctuation token">.</span>flags <span class="operator token">=</span> flags<span class="punctuation token">;</span> + data<span class="punctuation token">.</span>metaState <span class="operator token">=</span> metaState<span class="punctuation token">;</span> + data<span class="punctuation token">.</span>key<span class="punctuation token">.</span>keyCode <span class="operator token">=</span> keyCode<span class="punctuation token">;</span> + data<span class="punctuation token">.</span>key<span class="punctuation token">.</span>scanCode <span class="operator token">=</span> scanCode<span class="punctuation token">;</span> + <span class="punctuation token">{</span> + MutexAutoLock <span class="function token">lock</span><span class="punctuation token">(</span>mQueueLock<span class="punctuation token">)</span><span class="punctuation token">;</span> + mEventQueue<span class="punctuation token">.</span><span class="function token">push</span><span class="punctuation token">(</span>data<span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="punctuation token">}</span> + gAppShell<span class="operator token">-</span><span class="operator token">></span><span class="function token">NotifyNativeEvent</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>These events come from the standard Linux <code>input_event</code> system. Firefox OS uses a <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/libui/InputReader.cpp" rel="custom">light abstraction layer</a> over that; this provides some nice features like event filtering. You can see the code that creates input events in the <code>EventHub::getEvents()</code> method in <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/libui/EventHub.cpp" rel="custom">widget/gonk/libui/EventHub.cpp</a>.</p> + +<p>Once the events are received by Gecko, they're dispatched into the DOM by <code><a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsAppShell.cpp" rel="custom">nsAppShell</a></code>:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">static nsEventStatus <span class="function token">sendKeyEventWithMsg</span><span class="punctuation token">(</span>uint32_t keyCode<span class="punctuation token">,</span> + uint32_t msg<span class="punctuation token">,</span> + uint64_t timeMs<span class="punctuation token">,</span> + uint32_t flags<span class="punctuation token">)</span> <span class="punctuation token">{</span> + nsKeyEvent <span class="function token">event</span><span class="punctuation token">(</span><span class="boolean token">true</span><span class="punctuation token">,</span> msg<span class="punctuation token">,</span> NULL<span class="punctuation token">)</span><span class="punctuation token">;</span> + event<span class="punctuation token">.</span>keyCode <span class="operator token">=</span> keyCode<span class="punctuation token">;</span> + event<span class="punctuation token">.</span>location <span class="operator token">=</span> nsIDOMKeyEvent<span class="punctuation token">:</span><span class="punctuation token">:</span>DOM_KEY_LOCATION_MOBILE<span class="punctuation token">;</span> + event<span class="punctuation token">.</span>time <span class="operator token">=</span> timeMs<span class="punctuation token">;</span> + event<span class="punctuation token">.</span>flags <span class="operator token">|</span><span class="operator token">=</span> flags<span class="punctuation token">;</span> + <span class="keyword token">return</span> nsWindow<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">DispatchInputEvent</span><span class="punctuation token">(</span>event<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>After that, the events are either consumed by Gecko itself or are dispatched to Web applications as <a href="https://developer.mozilla.org/en-US/docs/DOM_Client_Object_Cross-Reference/DOM_Events" title="/en-US/docs/DOM_Client_Object_Cross-Reference/DOM_Events">DOM events</a> for further processing.</p> + +<h3 id="Graphics">Graphics</h3> + +<p>At the very lowest level, Gecko uses <a href="http://www.khronos.org/opengles/2_X/" title="http://www.khronos.org/opengles/2_X/">OpenGL ES 2.0</a> to draw to a GL context that wraps the hardware frame buffers. This is done in the Gonk implementation of <code><a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsWindow.cpp" rel="custom">nsWindow</a></code> by code similar to this:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">gNativeWindow <span class="operator token">=</span> <span class="keyword token">new</span> <span class="class-name token">android</span><span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">FramebufferNativeWindow</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +sGLContext <span class="operator token">=</span> GLContextProvider<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">CreateForWindow</span><span class="punctuation token">(</span>this<span class="punctuation token">)</span><span class="punctuation token">;</span></code></pre> + +<p>The <code>FramebufferNativeWindow</code> class is brought in directly from Android; see <a href="https://github.com/android/platform_frameworks_base/blob/ics-mr1-release/libs/ui/FramebufferNativeWindow.cpp" title="https://github.com/android/platform_frameworks_base/blob/ics-mr1-release/libs/ui/FramebufferNativeWindow.cpp"><code>FramebufferNativeWindow.cpp</code></a>. This uses the <strong>gralloc</strong> API to access the graphics driver in order to map buffers from the framebuffer device into memory.</p> + +<p>Gecko uses its <a href="https://developer.mozilla.org/en-US/docs/Gecko/Layers" title="/en-US/docs/Gecko/Layers">Layers</a> system to composite drawn content to the screen. In summary, what happens is this:</p> + +<ol> + <li>Gecko draws separate regions of pages into memory buffers. Sometimes these buffers are in system memory; other times, they're textures mapped into Gecko's address space, which means that Gecko is drawing directly into video memory. This is typically done in the method <a href="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#83" title="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#201"><code>BasicThebesLayer::PaintThebes()</code></a>.</li> + <li>Gecko then composites all of these textures to the screen using OpenGL commands. This composition occurs in <a href="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/opengl/ThebesLayerOGL.cpp#124" title="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#201"><code>ThebesLayerOGL::RenderTo()</code></a>.</li> +</ol> + +<p>The details of how Gecko handles the rendering of web content is outside the scope of this document.</p> + +<h3 id="Hardware_Abstraction_Layer_(HAL)">Hardware Abstraction Layer (HAL)</h3> + +<p>The Gecko hardware abstraction layer is one of the porting layers of Gecko. It handles low-level access to system interfaces across multiple platforms using a C++ API that's accessible to the higher levels of Gecko. These APIs are implemented on a per-platform basis inside the Gecko HAL itself. This hardware abstraction layer is not exposed directly to JavaScript code in Gecko — this part of the interaction is handled by the Web APIs.</p> + +<p>Let's look at the process form a high level. When a user makes a request to use a phone feature (such as dialing a number, accessing a local wifi network, or connecting via Bluetooth), all layers in the Firefox OS technology stack are involved in carrying out the request. Apps and web content in the Gaia layer submits requests to access the underlying device via Web API calls (invoked from within HTML5 functions), which are implemented in Gecko. Gecko in turn submits the request to Gonk. A single request from Gecko can trigger a complex series of operations, initiated and managed by Gonk, in the mobile phone.</p> + +<h4 id="How_the_HAL_works">How the HAL works</h4> + +<p>Let's consider the <a href="/de/docs/Web/API/Window/navigator/vibrate" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>Vibration</code></a> API as an example. The Gecko HAL for this API is defined in <a href="https://dxr.mozilla.org/mozilla-central/source/hal/Hal.h" rel="custom">hal/Hal.h</a>. In essence (simplifying the method signature for clarity's sake), you have this function:</p> + +<pre class="line-numbers language-html"><code class="language-html">void Vibrate(const nsTArray<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>uint32</span><span class="punctuation token">></span></span> &pattern);</code></pre> + +<p>This is the function called by Gecko code to turn on vibration of the device according to the specified pattern; a corresponding function exists to cancel any ongoing vibration. The Gonk implementation of this method is in <a href="https://dxr.mozilla.org/mozilla-central/source/hal/gonk/GonkHal.cpp" rel="custom">hal/gonk/GonkHal.cpp</a>:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">void <span class="function token">Vibrate</span><span class="punctuation token">(</span>const nsTArray<span class="operator token"><</span>uint32_t<span class="operator token">></span> <span class="operator token">&</span>pattern<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="function token">EnsureVibratorThreadInitialized</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + sVibratorRunnable<span class="operator token">-</span><span class="operator token">></span><span class="function token">Vibrate</span><span class="punctuation token">(</span>pattern<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>This code sends the request to start vibrating the device to another thread, which is implemented in <code>VibratorRunnable::Run()</code>. This thread's main loop looks like this:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp"><span class="keyword token">while</span> <span class="punctuation token">(</span><span class="operator token">!</span>mShuttingDown<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">if</span> <span class="punctuation token">(</span>mIndex <span class="operator token"><</span> mPattern<span class="punctuation token">.</span><span class="function token">Length</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">)</span> <span class="punctuation token">{</span> + uint32_t duration <span class="operator token">=</span> mPattern<span class="punctuation token">[</span>mIndex<span class="punctuation token">]</span><span class="punctuation token">;</span> + <span class="keyword token">if</span> <span class="punctuation token">(</span>mIndex <span class="operator token">%</span> <span class="number token">2</span> <span class="operator token">==</span> <span class="number token">0</span><span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="function token">vibrator_on</span><span class="punctuation token">(</span>duration<span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="punctuation token">}</span> + mIndex<span class="operator token">++</span><span class="punctuation token">;</span> + mMonitor<span class="punctuation token">.</span><span class="function token">Wait</span><span class="punctuation token">(</span><span class="function token">PR_MillisecondsToInterval</span><span class="punctuation token">(</span>duration<span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="punctuation token">}</span> + <span class="keyword token">else</span> <span class="punctuation token">{</span> + mMonitor<span class="punctuation token">.</span><span class="function token">Wait</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="punctuation token">}</span> +<span class="punctuation token">}</span></code></pre> + +<p><code>vibrator_on()</code> is the Gonk HAL API that turns on the vibrator motor. Internally, this method sends a message to the kernel driver by writing a value to a kernel object using <code>sysfs</code>.</p> + +<h4 id="Fallback_HAL_API_implementations">Fallback HAL API implementations</h4> + +<p>The Gecko HAL APIs are supported across all platforms. When Gecko is built for a platform that doesn't expose an interface to vibration motors (such as a desktop computer), then a fallback implementation of the HAL API is used. For vibration, this is implemented in <a href="https://dxr.mozilla.org/mozilla-central/source/hal/fallback/FallbackVibration.cpp" rel="custom">hal/fallback/FallbackVibration.cpp</a>.</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">void <span class="function token">Vibrate</span><span class="punctuation token">(</span>const nsTArray<span class="operator token"><</span>uint32_t<span class="operator token">></span> <span class="operator token">&</span>pattern<span class="punctuation token">)</span> <span class="punctuation token">{</span> +<span class="punctuation token">}</span></code></pre> + +<h4 id="Sandbox_implementations">Sandbox implementations</h4> + +<p>Because most web content runs in content processes with low privileges, we can't assume those processes have the privileges needed to be able to (for example), turn on and off the vibration motor. In addition, we want to have a central location for handling potential race conditions. In the Gecko HAL, this is done through a "sandbox" implementation of the HAL. This sandbox implementation simply proxies requests made by content processes and forwards them to the "Gecko server" process. The proxy requests are sent using IPDL.</p> + +<p>For vibration, this is handled by the <code>Vibrate()</code> function implemented in <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/SandboxHal.cpp" rel="custom">hal/sandbox/SandboxHal.cpp</a>:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">void <span class="function token">Vibrate</span><span class="punctuation token">(</span>const nsTArray<span class="operator token"><</span>uint32_t<span class="operator token">></span><span class="operator token">&</span> pattern<span class="punctuation token">,</span> const WindowIdentifier <span class="operator token">&</span>id<span class="punctuation token">)</span> <span class="punctuation token">{</span> + AutoInfallibleTArray<span class="operator token"><</span>uint32_t<span class="punctuation token">,</span> <span class="number token">8</span><span class="operator token">></span> <span class="function token">p</span><span class="punctuation token">(</span>pattern<span class="punctuation token">)</span><span class="punctuation token">;</span> + + WindowIdentifier <span class="function token">newID</span><span class="punctuation token">(</span>id<span class="punctuation token">)</span><span class="punctuation token">;</span> + newID<span class="punctuation token">.</span><span class="function token">AppendProcessID</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="function token">Hal</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="operator token">-</span><span class="operator token">></span><span class="function token">SendVibrate</span><span class="punctuation token">(</span>p<span class="punctuation token">,</span> newID<span class="punctuation token">.</span><span class="function token">AsArray</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">,</span> <span class="function token">GetTabChildFrom</span><span class="punctuation token">(</span>newID<span class="punctuation token">.</span><span class="function token">GetWindow</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>This sends a message defined by the <code>PHal</code> interface, described by IPDL in <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/PHal.ipdl" rel="custom">hal/sandbox/PHal.ipdl</a>. This method is described more or less as follows:</p> + +<pre class="line-numbers language-html"><code class="language-html">Vibrate(uint32_t[] pattern);</code></pre> + +<p>The receiver of this message is the <code>HalParent::RecvVibrate()</code> method in <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/SandboxHal.cpp" rel="custom">hal/sandbox/SandboxHal.cpp</a>, which looks like this:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">virtual bool <span class="function token">RecvVibrate</span><span class="punctuation token">(</span>const InfallibleTArray<span class="operator token"><</span>unsigned int<span class="operator token">></span><span class="operator token">&</span> pattern<span class="punctuation token">,</span> + const InfallibleTArray<span class="operator token"><</span>uint64_t<span class="operator token">></span> <span class="operator token">&</span>id<span class="punctuation token">,</span> + PBrowserParent <span class="operator token">*</span>browserParent<span class="punctuation token">)</span> MOZ_OVERRIDE <span class="punctuation token">{</span> + + hal<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">Vibrate</span><span class="punctuation token">(</span>pattern<span class="punctuation token">,</span> newID<span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">return</span> <span class="boolean token">true</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>This omits some details that aren't relevant to this discussion; however, it shows how the message progresses from a content process through Gecko to Gonk, then to the Gonk HAL implementation of <code>Vibrate()</code>, and eventually to the Vibration driver.</p> + +<h3 id="DOM_APIs">DOM APIs</h3> + +<p><strong>DOM interfaces</strong> are, in essence, how web content communicates with Gecko. There's more involved than that, and if you're interested in added details, you can read <a href="https://developer.mozilla.org/en-US/docs/DOM/About_the_Document_Object_Model" title="/en-US/docs/DOM/About_the_Document_Object_Model">about the DOM</a>. DOM interfaces are defined using <a href="https://developer.mozilla.org/en-US/docs/XPIDL" title="/en-US/docs/XPIDL">IDL</a>, which comprises both a foreign function interface (FFI) and object model (OM) between JavaScript and C++.</p> + +<p>The vibration API is exposed to web content through an IDL interface, which is provided in <code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/interfaces/base/nsIDOMNavigator.idl" rel="custom">nsIDOMNavigator.idl</a>:</code></p> + +<pre class="line-numbers language-html"><code class="language-html">[implicit_jscontext] void mozVibrate(in jsval aPattern);</code></pre> + +<p>The <a href="https://developer.mozilla.org/en-US/docs/SpiderMonkey/JSAPI_Reference/Jsval" title="/en-US/docs/SpiderMonkey/JSAPI_Reference/JSVAL_IS_OBJECT"><code>jsval</code></a> argument indicates that <code>mozVibrate()</code> (which is our vendor-prefixed implementation of this non-finalized vibration specification) accepts as input any JavaScript value. The IDL compiler, <a href="https://developer.mozilla.org/en-US/docs/XPIDL/xpidl" title="/en-US/docs/XPIDL/xpidl"><code>xpidl</code></a>, generates a C++ interface that's then implemented by the <code>Navigator</code> class in <code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/base/Navigator.cpp" rel="custom">Navigator.cpp</a></code>.</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">NS_IMETHODIMP Navigator<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">MozVibrate</span><span class="punctuation token">(</span>const jsval<span class="operator token">&</span> aPattern<span class="punctuation token">,</span> JSContext<span class="operator token">*</span> cx<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="comment token">// ...</span> + hal<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">Vibrate</span><span class="punctuation token">(</span>pattern<span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">return</span> NS_OK<span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>There's a lot more code in this method than what you see here, but it's not important for the purposes of this discussion. The point is that the call to <code>hal::Vibrate()</code> transfers control from the DOM to the Gecko HAL. From there, we enter the HAL implementation discussed in the previous section and work our way down toward the driver. On top of that, the DOM implementation doesn't care at all what platform it's running on (Gonk, Windows, OS X, or anything else). It also doesn't care whether the code is running in a content process or in the Gecko server process. Those details are all left to lower levels of the system to deal with.</p> + +<p>The vibration API is a very simple API, which makes it a good example. The <a href="https://developer.mozilla.org/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">SMS API</a> is an example of a more complex API which uses its own "remoting" layer connecting content processes to the server.</p> + +<h2 id="Radio_Interface_Layer_(RIL)">Radio Interface Layer (RIL)</h2> + +<p>The RIL was mentioned in the section <a href="#The_userspace_process_architecture">The userspace process architecture</a>. This section will examine how the various pieces of this layer interact in a bit more detail.</p> + +<p>The main components involved in the RIL are:</p> + +<dl> + <dt><code>rild</code></dt> + <dd>The daemon that talks to the proprietary modem firmware.</dd> + <dt><code>rilproxy</code></dt> + <dd>The daemon that proxies messages between <code>rild</code> and Gecko (which is implemented in the <code>b2g</code> process). This overcomes the permission problem that arises when trying to talk to <code>rild</code> directly, since <code>rild</code> can only be communicated with from within the <code>radio</code> group.</dd> + <dt><code>b2g</code></dt> + <dd>This process, also known as the <strong>chrome process</strong>, implements Gecko. The portions of it that relate to the Radio Interface Layer are <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">dom/system/gonk/ril_worker.js</a>, which implements a worker thread that talks to <code>rild</code> through <code>rilproxy</code> and implements the radio state machine; and the <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> interface, which is the main thread's <a href="https://developer.mozilla.org/en-US/docs/XPCOM" title="/en-US/docs/XPCOM">XPCOM</a> service that acts primarily as a message exchange between the <code>ril_worker.js</code> thread and various other Gecko components, including the Gecko content process.</dd> + <dt>Gecko's content process</dt> + <dd>Within Gecko's content process, the <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIRILContentHelper" title="">nsIRILContentHelper</a></code> interface provides an XPCOM service that lets code implementing parts of the DOM, such as the <a href="https://developer.mozilla.org/en-US/docs/API/WebTelephony" title="/en-US/docs/API/WebTelephony">Telephony</a> and <a href="https://developer.mozilla.org/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">SMS</a> APIs talk to the radio interface, which is in the chrome process.</dd> +</dl> + +<h3 id="Example_Communicating_from_rild_to_the_DOM">Example: Communicating from rild to the DOM</h3> + +<p>Let's take a look at an example of how the lower level parts of the system communicate with DOM code. When the modem receives an incoming call, it notifies <code>rild</code> using a proprietary mechanism. <code>rild</code> then prepares a message for its client according to the "open" protocol, which is described in <a href="https://github.com/mozilla-b2g/android-hardware-ril/blob/master/include/telephony/ril.h" title="https://github.com/mozilla-b2g/android-hardware-ril/blob/master/include/telephony/ril.h"><code>ril.h</code></a>. In the case of an incoming call, a <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code> message is generated and sent by <code>rild</code> to <code>rilproxy</code>.</p> + +<p><code>rilproxy</code>, implemented in <a href="https://github.com/mozilla-b2g/rilproxy/blob/master/src/rilproxy.c" title="https://github.com/mozilla-b2g/rilproxy/blob/master/src/rilproxy.c"><code>rilproxy.c</code></a>, receives this message in its main loop, which polls its connection to <code>rild</code> using code like this:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">ret <span class="operator token">=</span> <span class="function token">read</span><span class="punctuation token">(</span>rilproxy_rw<span class="punctuation token">,</span> data<span class="punctuation token">,</span> <span class="number token">1024</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + +<span class="keyword token">if</span><span class="punctuation token">(</span>ret <span class="operator token">></span> <span class="number token">0</span><span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="function token">writeToSocket</span><span class="punctuation token">(</span>rild_rw<span class="punctuation token">,</span> data<span class="punctuation token">,</span> ret<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>Once the message is received from <code>rild</code>, it's then forwarded along to Gecko on the socket that connects <code>rilproxy</code> to Gecko. Gecko receives the forwarded message on its <a href="https://dxr.mozilla.org/mozilla-central/source/ipc/ril/Ril.cpp" rel="custom">IPC thread</a>:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">int ret <span class="operator token">=</span> <span class="function token">read</span><span class="punctuation token">(</span>fd<span class="punctuation token">,</span> mIncoming<span class="operator token">-</span><span class="operator token">></span>Data<span class="punctuation token">,</span> <span class="number token">1024</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="comment token">// ... handle errors ...</span> +mIncoming<span class="operator token">-</span><span class="operator token">></span>mSize <span class="operator token">=</span> ret<span class="punctuation token">;</span> +sConsumer<span class="operator token">-</span><span class="operator token">></span><span class="function token">MessageReceived</span><span class="punctuation token">(</span>mIncoming<span class="punctuation token">.</span><span class="function token">forget</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span></code></pre> + +<p>The consumer of these messages is <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/SystemWorkerManager.cpp" rel="custom">SystemWorkerManager</a>, which repackages the messages and dispatches them to the <code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">ril_worker.js</a></code> thread that implements the RIL state machine; this is done in the <code>RILReceiver::MessageReceived()</code> method:</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">virtual void <span class="function token">MessageReceived</span><span class="punctuation token">(</span>RilRawData <span class="operator token">*</span>aMessage<span class="punctuation token">)</span> <span class="punctuation token">{</span> + nsRefPtr<span class="operator token"><</span>DispatchRILEvent<span class="operator token">></span> <span class="function token">dre</span><span class="punctuation token">(</span><span class="keyword token">new</span> <span class="class-name token">DispatchRILEvent</span><span class="punctuation token">(</span>aMessage<span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + mDispatcher<span class="operator token">-</span><span class="operator token">></span><span class="function token">PostTask</span><span class="punctuation token">(</span>dre<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>The task posted to that thread in turn calls the <code>onRILMessage()</code> function, which is implemented in JavaScript. This is done using the JavaScript API function <code><a href="https://developer.mozilla.org/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_CallFunctionName" title="/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_CallFunctionName">JS_CallFunctionName</a>()</code>:</p> + +<pre class="line-numbers language-html"><code class="language-html">return JS_CallFunctionName(aCx, obj, "onRILMessage", NS_ARRAY_LENGTH(argv), + argv, argv);</code></pre> + +<p><code>onRILMessage()</code> is implemented in <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">dom/system/gonk/ril_worker.js</a>, which processes the message bytes and chops them into parcels. Each complete parcel is then dispatched to individual handler methods as appropriate:</p> + +<pre class="brush:js; line-numbers language-js"><code class="language-js">handleParcel<span class="punctuation token">:</span> <span class="keyword token">function</span> <span class="function token">handleParcel</span><span class="punctuation token">(</span>request_type<span class="punctuation token">,</span> length<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">let</span> method <span class="operator token">=</span> <span class="keyword token">this</span><span class="punctuation token">[</span>request_type<span class="punctuation token">]</span><span class="punctuation token">;</span> + <span class="keyword token">if</span> <span class="punctuation token">(</span><span class="keyword token">typeof</span> method <span class="operator token">==</span> <span class="string token">"function"</span><span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">if</span> <span class="punctuation token">(</span>DEBUG<span class="punctuation token">)</span> <span class="function token">debug</span><span class="punctuation token">(</span><span class="string token">"Handling parcel as "</span> <span class="operator token">+</span> method<span class="punctuation token">.</span>name<span class="punctuation token">)</span><span class="punctuation token">;</span> + method<span class="punctuation token">.</span><span class="function token">call</span><span class="punctuation token">(</span><span class="keyword token">this</span><span class="punctuation token">,</span> length<span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="punctuation token">}</span> +<span class="punctuation token">}</span></code></pre> + +<p>This code works by getting the request type from the object, making sure it's defined as a function in the JavaScript code, then calling the method. Since ril_worker.js implements each request type in a method given the same name as the request type, this is very simple.</p> + +<p>In our example, <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code>, the following handler is called:</p> + +<pre class="brush:js; line-numbers language-js"><code class="language-js">RIL<span class="punctuation token">[</span>UNSOLICITED_RESPONSE_CALL_STATE_CHANGED<span class="punctuation token">]</span> <span class="operator token">=</span> <span class="keyword token">function</span> <span class="function token">UNSOLICITED_RESPONSE_CALL_STATE_CHANGED</span><span class="punctuation token">(</span><span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">this</span><span class="punctuation token">.</span><span class="function token">getCurrentCalls</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span><span class="punctuation token">;</span></code></pre> + +<p>As you see in the code above, when notification is received that the call state has changed, the state machine simply fetches the current call state by calling the <code>getCurrentCall()</code> method:</p> + +<pre class="brush:js; line-numbers language-js"><code class="language-js">getCurrentCalls<span class="punctuation token">:</span> <span class="keyword token">function</span> <span class="function token">getCurrentCalls</span><span class="punctuation token">(</span><span class="punctuation token">)</span> <span class="punctuation token">{</span> + Buf<span class="punctuation token">.</span><span class="function token">simpleRequest</span><span class="punctuation token">(</span>REQUEST_GET_CURRENT_CALLS<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>This sends a request back to <code>rild</code> to request the state of all currently active calls. The request flows back along a similar path the <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code> message followed, but in the opposite direction (that is, from <code>ril_worker.js</code> to <code>SystemWorkerManager</code> to <code>Ril.cpp</code>, then <code>rilproxy</code> and finally to the <code>rild</code> socket). <code>rild</code> then responds in kind, back along the same path, eventually arriving in <code>ril_worker.js</code>'s handler for the <code>REQUEST_GET_CURRENT_CALLS</code> message. And thus bidirectional communication occurs.</p> + +<p>The call state is then processed and compared to the previous state; if there's a change of state, ril_worker.js notifies the <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> service on the main thread:</p> + +<pre class="brush:js; line-numbers language-js"><code class="language-js">_handleChangedCallState<span class="punctuation token">:</span> <span class="keyword token">function</span> <span class="function token">_handleChangedCallState</span><span class="punctuation token">(</span>changedCall<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">let</span> message <span class="operator token">=</span> <span class="punctuation token">{</span>type<span class="punctuation token">:</span> <span class="string token">"callStateChange"</span><span class="punctuation token">,</span> + call<span class="punctuation token">:</span> changedCall<span class="punctuation token">}</span><span class="punctuation token">;</span> + <span class="keyword token">this</span><span class="punctuation token">.</span><span class="function token">sendDOMMessage</span><span class="punctuation token">(</span>message<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p><code><a href="/de/docs/XPCOM_Interface_Referenz/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> is implemented in <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/RadioInterfaceLayer.js" rel="custom">dom/system/gonk/RadioInterfaceLayer.js</a>; the message is received by its <code>onmessage()</code> method:</p> + +<pre class="brush:js; line-numbers language-js"><code class="language-js">onmessage<span class="punctuation token">:</span> <span class="keyword token">function</span> <span class="function token">onmessage</span><span class="punctuation token">(</span>event<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">let</span> message <span class="operator token">=</span> event<span class="punctuation token">.</span>data<span class="punctuation token">;</span> + <span class="function token">debug</span><span class="punctuation token">(</span><span class="string token">"Received message from worker: "</span> <span class="operator token">+</span> JSON<span class="punctuation token">.</span><span class="function token">stringify</span><span class="punctuation token">(</span>message<span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">switch</span> <span class="punctuation token">(</span>message<span class="punctuation token">.</span>type<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">case</span> <span class="string token">"callStateChange"</span><span class="punctuation token">:</span> + <span class="comment token">// This one will handle its own notifications.</span> + <span class="keyword token">this</span><span class="punctuation token">.</span><span class="function token">handleCallStateChange</span><span class="punctuation token">(</span>message<span class="punctuation token">.</span>call<span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">break</span><span class="punctuation token">;</span> + <span class="punctuation token">.</span><span class="punctuation token">.</span><span class="punctuation token">.</span></code></pre> + +<p>All this really does is dispatch the message to the content process using the Parent Process Message Manager (PPMM):</p> + +<pre class="brush:js; line-numbers language-js"><code class="language-js">handleCallStateChange<span class="punctuation token">:</span> <span class="keyword token">function</span> <span class="function token">handleCallStateChange</span><span class="punctuation token">(</span>call<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="punctuation token">[</span>some internal state updating<span class="punctuation token">]</span> + ppmm<span class="punctuation token">.</span><span class="function token">sendAsyncMessage</span><span class="punctuation token">(</span><span class="string token">"RIL:CallStateChanged"</span><span class="punctuation token">,</span> call<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>In the content process, the message is received by <code>receiveMessage()</code> method in the <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIRILContentHelper" title="">nsIRILContentHelper</a></code> service, from the Child Process Message Manager (CPMM):</p> + +<pre class="brush:js; line-numbers language-js"><code class="language-js">receiveMessage<span class="punctuation token">:</span> <span class="keyword token">function</span> <span class="function token">receiveMessage</span><span class="punctuation token">(</span>msg<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">let</span> request<span class="punctuation token">;</span> + <span class="function token">debug</span><span class="punctuation token">(</span><span class="string token">"Received message '"</span> <span class="operator token">+</span> msg<span class="punctuation token">.</span>name <span class="operator token">+</span> <span class="string token">"': "</span> <span class="operator token">+</span> JSON<span class="punctuation token">.</span><span class="function token">stringify</span><span class="punctuation token">(</span>msg<span class="punctuation token">.</span>json<span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">switch</span> <span class="punctuation token">(</span>msg<span class="punctuation token">.</span>name<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">case</span> <span class="string token">"RIL:CallStateChanged"</span><span class="punctuation token">:</span> + <span class="keyword token">this</span><span class="punctuation token">.</span><span class="function token">_deliverTelephonyCallback</span><span class="punctuation token">(</span><span class="string token">"callStateChanged"</span><span class="punctuation token">,</span> + <span class="punctuation token">[</span>msg<span class="punctuation token">.</span>json<span class="punctuation token">.</span>callIndex<span class="punctuation token">,</span> msg<span class="punctuation token">.</span>json<span class="punctuation token">.</span>state<span class="punctuation token">,</span> + msg<span class="punctuation token">.</span>json<span class="punctuation token">.</span>number<span class="punctuation token">,</span> msg<span class="punctuation token">.</span>json<span class="punctuation token">.</span>isActive<span class="punctuation token">]</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">break</span><span class="punctuation token">;</span></code></pre> + +<p>This, in turn, calls the <code><a href="https://developer.mozilla.org/de/docs/XPCOM_Interface_Reference/nsIRILTelephonyCallback#callStateChanged()">nsIRILTelephonyCallback.callStateChanged()</a></code> methods on every registered telephony callback object. Every web application that accesses the <a href="/de/docs/Web/API/Window/navigator/mozTelephony" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>window.navigator.mozTelephony</code></a> API has registered one such callback object that dispatches events to the JavaScript code in the web application, either as a state change of an existing call object or a new <code>incoming</code> call event.</p> + +<pre class="brush:cpp; line-numbers language-cpp"><code class="language-cpp">NS_IMETHODIMP Telephony<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">CallStateChanged</span><span class="punctuation token">(</span>PRUint32 aCallIndex<span class="punctuation token">,</span> PRUint16 aCallState<span class="punctuation token">,</span> + const nsAString<span class="operator token">&</span> aNumber<span class="punctuation token">,</span> bool aIsActive<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="punctuation token">[</span><span class="punctuation token">.</span><span class="punctuation token">.</span><span class="punctuation token">.</span><span class="punctuation token">]</span> + + <span class="keyword token">if</span> <span class="punctuation token">(</span>modifiedCall<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="comment token">// Change state.</span> + modifiedCall<span class="operator token">-</span><span class="operator token">></span><span class="function token">ChangeState</span><span class="punctuation token">(</span>aCallState<span class="punctuation token">)</span><span class="punctuation token">;</span> + + <span class="comment token">// See if this should replace our current active call.</span> + <span class="keyword token">if</span> <span class="punctuation token">(</span>aIsActive<span class="punctuation token">)</span> <span class="punctuation token">{</span> + mActiveCall <span class="operator token">=</span> modifiedCall<span class="punctuation token">;</span> + <span class="punctuation token">}</span> + + <span class="keyword token">return</span> NS_OK<span class="punctuation token">;</span> + <span class="punctuation token">}</span> + + nsRefPtr<span class="operator token"><</span>TelephonyCall<span class="operator token">></span> call <span class="operator token">=</span> + TelephonyCall<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">Create</span><span class="punctuation token">(</span>this<span class="punctuation token">,</span> aNumber<span class="punctuation token">,</span> aCallState<span class="punctuation token">,</span> aCallIndex<span class="punctuation token">)</span><span class="punctuation token">;</span> + nsRefPtr<span class="operator token"><</span>CallEvent<span class="operator token">></span> event <span class="operator token">=</span> CallEvent<span class="punctuation token">:</span><span class="punctuation token">:</span><span class="function token">Create</span><span class="punctuation token">(</span>call<span class="punctuation token">)</span><span class="punctuation token">;</span> + nsresult rv <span class="operator token">=</span> event<span class="operator token">-</span><span class="operator token">></span><span class="function token">Dispatch</span><span class="punctuation token">(</span><span class="function token">ToIDOMEventTarget</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">,</span> <span class="function token">NS_LITERAL_STRING</span><span class="punctuation token">(</span><span class="string token">"incoming"</span><span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="function token">NS_ENSURE_SUCCESS</span><span class="punctuation token">(</span>rv<span class="punctuation token">,</span> rv<span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">return</span> NS_OK<span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>Applications can receive these events and update their user interface and so forth:</p> + +<pre class="brush:js; line-numbers language-js"><code class="language-js">handleEvent<span class="punctuation token">:</span> <span class="keyword token">function</span> <span class="function token">fm_handleEvent</span><span class="punctuation token">(</span>evt<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">switch</span> <span class="punctuation token">(</span>evt<span class="punctuation token">.</span>call<span class="punctuation token">.</span>state<span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">case</span> <span class="string token">'connected'</span><span class="punctuation token">:</span> + <span class="keyword token">this</span><span class="punctuation token">.</span><span class="function token">connected</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">break</span><span class="punctuation token">;</span> + <span class="keyword token">case</span> <span class="string token">'disconnected'</span><span class="punctuation token">:</span> + <span class="keyword token">this</span><span class="punctuation token">.</span><span class="function token">disconnected</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> + <span class="keyword token">break</span><span class="punctuation token">;</span> + <span class="keyword token">default</span><span class="punctuation token">:</span> + <span class="keyword token">break</span><span class="punctuation token">;</span> + <span class="punctuation token">}</span> +<span class="punctuation token">}</span></code></pre> + +<p>Take a look at the implementation of <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js" title="https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js"><code>handleEvent()</code> in the Dialer application</a> as an extended example.</p> + +<h3 id="3G_data">3G data</h3> + +<p>There is a RIL message that initiates a "data call" to the cellular service; this enables data transfer mode in the modem. This data call ends up creating and activating a <a href="https://de.wikipedia.org/wiki/Point-to-Point Protocol" title="Point-to-Point Protocol">Point-to-Point Protocol</a> (PPP) interface device in the Linux kernel that can be configured using the usual interfaces.</p> + +<div class="note"> +<p><strong>Note:</strong> This section needs to be written.</p> +</div> + +<h3 id="Related_DOM_APIs">Related DOM APIs</h3> + +<p>This section lists DOM APIs that are related to RIL communications:</p> + +<ul> + <li><a href="https://developer.mozilla.org/en-US/docs/API/WebTelephony/Introduction_to_WebTelephony" title="/en-US/docs/API/WebTelephony/Introduction_to_WebTelephony">Telephony API</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/API/WebSMS/Introduction_to_WebSMS" title="/en-US/docs/API/WebSMS/Introduction_to_WebSMS">SMS API</a></li> + <li>Mobile Connection API</li> +</ul> + +<h2 id="WiFi">WiFi</h2> + +<p>The WiFi backend for Firefox OS simply uses <code>wpa_supplicant</code> to do most of the work. That means that the backend's primary job is to simply manage the supplicant, and to do some auxiliary tasks such as loading the WiFi driver and enabling or disabling the network interface. In essence, this means that the backend is a state machine, with the states following the state of the supplicant.</p> + +<div class="note"> +<p><strong>Note:</strong> Much of the interesting stuff that happens in WiFi depends deeply on possible state changes in the <code>wpa_supplicant</code> process.</p> +</div> + +<p>The implementation of the WiFi component is broken up into two files:</p> + +<dl> + <dt><a href="https://dxr.mozilla.org/mozilla-central/source/dom/wifi/DOMWifiManager.js" rel="custom">dom/wifi/DOMWifiManager.js</a></dt> + <dd>Implements the API that's exposed to web content, as defined in <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIWifi.idl" title="">nsIWifi.idl</a></code>.</dd> + <dt><a href="https://dxr.mozilla.org/mozilla-central/source/dom/wifi/WifiWorker.js" rel="custom">dom/wifi/WifiWorker.js</a></dt> + <dd>Implements the state machine and the code that drives the supplicant.</dd> +</dl> + +<p>These two files communicate with one another using the <a href="https://developer.mozilla.org/en-US/docs/The_message_manager" title="/en-US/docs/The_message_manager">message manager</a>. The backend listens for messages requesting certain actions, such as "associate", and responds with a message when the requested action has been completed.</p> + +<p>The DOM side listens for the response methods as well as several event messages that indicate state changes and information updates.</p> + +<div class="note"> +<p><strong>Note:</strong> Any synchromous DOM APIs are implemented by caching data on that side of the pipe. Synchronous messages are avoided whenever possible.</p> +</div> + +<h3 id="WifiWorker.js">WifiWorker.js</h3> + +<p>This file implements the main logic behind the WiFi interface. It runs in the chrome process (in multi-process builds) and is instantiated by the SystemWorkerManager. The file is generally broken into two sections: a giant anonymous function and <code>WifiWorker</code> (and its prototype). The anonymous function ends up being the <code>WifiManager</code> by providing a local API, including notifications for events such as connection to the supplicant and scan results being available. In general, it contains little logic and lets its sole consumer control its actions while it simply responds with the requested information and controls the details of the connection with the supplicant.</p> + +<p>The <code>WifiWorker</code> object sits between the <code>WifiManager</code> and the DOM. It reacts to events and forwards them to the DOM; in turn, it receives requests from the DOM and performs the appropriate actions on the supplicant. It also maintains state information about the supplicant and what it needs to do next.</p> + +<h3 id="DOMWifiManager.js">DOMWifiManager.js</h3> + +<p>This implements the DOM API, transmitting messages back and forth between callers and the actual WiFi worker. There's very little logic involved.</p> + +<div class="note"> +<p><strong>Note:</strong> In order to avoid synchronous messages to the chrome process, the WiFi Manager does need to cache the state based on the received event.</p> +</div> + +<p>There's a single synchronous message, which is sent at the time the DOM API is instantiated, in order to get the current state of the supplicant.</p> + +<h3 id="DHCP">DHCP</h3> + +<p>DHCP and DNS are handled by <code>dhcpcd</code>, the standard Linux DHCP client. However, it's not able to react when the network connection is lost. Because of this, Firefox OS kills and restarts <code>dhcpcd</code> each time it connects to a given wireless network.</p> + +<p><code>dhcpcd</code> is also responsible for setting the default route; we call into the network manager to tell the kernel about DNS servers.</p> + +<h2 id="Network_Manager">Network Manager</h2> + +<p>The Network Manager configures network interfaces opened by the 3G data and WiFi components.</p> + +<div class="note"> +<p><strong>Note:</strong> This needs to be written.</p> +</div> + +<h2 id="Processes_and_threads">Processes and threads</h2> + +<p>Firefox OS uses POSIX threads to implement all application threads — this includes the main thread of each application as well as web workers and helper threads. Control groups are used to prioritize process and thread execution thus relying on the Linux kernel's completely fair scheduler. Depending on the status of a process we assign it to different control group. We've currently got 6 priority levels corresponding to 5 control groups:</p> + +<table class="standard-table"> + <caption>Process priority levels</caption> + <thead> + <tr> + <th scope="col">Priority</th> + <th scope="col">Control group</th> + <th scope="col">Used for</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>MASTER</code></td> + <td> </td> + <td>Main b2g process</td> + </tr> + <tr> + <td><code>FOREGROUND_HIGH</code></td> + <td><code>apps/critical</code></td> + <td>Critical applications holding the <code>cpu</code> or <code>highpriority</code> wakelock; this is currently reserved for the clock and communications applications</td> + </tr> + <tr> + </tr> + <tr> + <td><code>FOREGROUND</code></td> + <td><code>apps</code></td> + <td>Foreground applications</td> + </tr> + <tr> + <td><code>FOREGROUND_KEYBOARD</code></td> + <td><code>apps</code></td> + <td>Keyboard application</td> + </tr> + <tr> + <td><code>BACKGROUND_PERCEIVABLE</code></td> + <td><code>apps/bg_perceivable</code></td> + <td>Background applications playing audio or holding the holding the <code>cpu</code> or <code>highpriority</code> wakelock and having at least a system message handler registered</td> + </tr> + <tr> + <td><code>BACKGROUND</code></td> + <td><code>apps/bg_non_interactive</code></td> + <td>All other applications running in the background</td> + </tr> + </tbody> +</table> + +<p>Some levels share the same control group, that's because those levels currently differ in the way they're treated by the <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Out_of_memory_management_on_Firefox_OS">out of memory killer</a>. All priorities can be adjusted at build time via preferences; the relevant entries can be found in the <a href="http://hg.mozilla.org/mozilla-central/file/54e8c6492dc4/b2g/app/b2g.js#l610"><code>b2g/app/b2g.js</code></a> file.</p> + +<p>The following control groups are currently used:</p> + +<table class="standard-table"> + <caption>Control groups</caption> + <thead> + <tr> + <th scope="col">Path</th> + <th scope="col">CPU allocation</th> + <th scope="col">Description</th> + </tr> + </thead> + <tbody> + <tr> + <td> </td> + <td>50% of total CPU time</td> + <td>Root control group reserved for the main b2g process and system daemons</td> + </tr> + <tr> + <td><code>apps</code></td> + <td>50% of total CPU time</td> + <td>Regular applications</td> + </tr> + <tr> + <td><code>apps/critical</code></td> + <td>95% of <code>apps</code></td> + <td>Critical applications</td> + </tr> + <tr> + <td><code>apps/bg_perceivable</code></td> + <td>10% of <code>apps</code></td> + <td>Perceivable background applications</td> + </tr> + <tr> + <td><code>apps/bg_non_interactive</code></td> + <td>5% of <code>apps</code></td> + <td>Background applications</td> + </tr> + </tbody> +</table> + +<div class="note"> +<p><strong>Note</strong>: for more information on the out-of-memory killer, and how Firefox OS manages low memory situations, read <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Out_of_memory_management_on_Firefox_OS">Out of memory management on Firefox OS</a>.</p> +</div> + +<p>Within a process the main thread inherits the "nice value" of the process whilst web worker threads are given a "nice value" that is one point higher than the main thread thus running at lower priority. This is done in order to prevent CPU-intensive workers from excessively slowing down the main thread. All threads of an application are currently assigned to the same control group. Process priorities are changed whenever a major event happens such as an application being sent into the background or foreground, a new application starting up or an existing application grabbing a CPU wakelock.</p> + +<div class="note"> +<p><strong>Note:</strong> cgroups support on ICS devices is currently broken due to a kernel bug.</p> +</div> diff --git a/files/de/archive/b2g_os/platform/index.html b/files/de/archive/b2g_os/platform/index.html new file mode 100644 index 0000000000..db8c4e9960 --- /dev/null +++ b/files/de/archive/b2g_os/platform/index.html @@ -0,0 +1,81 @@ +--- +title: Firefox OS Plattform +slug: Archive/B2G_OS/Platform +tags: + - Architektur + - Firefox OS + - Plattform + - Übersicht +translation_of: Archive/B2G_OS/Platform +--- +<p>Die Firefox OS Plattform besteht aus vielen Komponenten. Du musst seine Architektur nicht verstehen, um Apps für Firefox OS zu entwickeln. Falls Du aber an der Plattform selbst oder an ihrer Portierung mitentwickelst oder einfach nur neugierig bist, dann könnte diese Dokumentation interessant für Dich sein.</p> + +<table class="topicpage-table"> + <tbody> + <tr> + <td> + <h2 class="Documentation" id="Documentation" name="Documentation">Dokumentationen zur Firefox OS Plattform</h2> + + <dl> + <dt><a href="/de/docs/Mozilla/Firefox_OS/Introduction" title="en-US/docs/Mozilla/Firefox_OS/Introduction">Firefox OS Architektur: Überblick</a></dt> + <dd>Ein Überblick über die interne Struktur von Firefox OS; vor allem für diejenigen interessant, die an der Plattform oder ihrer Portierung mitentwickeln.</dd> + <dt><a href="/de/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="en-US/docs/Mozilla/Firefox_OS/Building and installing Boot to Gecko">Firefox OS Architektur: Apps</a></dt> + <dd>Ein Überblick über das Anwendungs-Modell von Firefox OS.</dd> + <dt><a href="/de/docs/Mozilla/Firefox_OS/Platform/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a></dt> + <dd>Dokumentation über Gaia, die Benutzeroberfläche von Firefox OS Geräten. Gaia ist eine Web-Anwendung, die auf der Firefox OS Betriebssystem-Schicht läuft.</dd> + <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gonk" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gonk">Gonk</a></dt> + <dd>Dokumentation über Gonk, die Betriebssystem-Schicht unterhalb von Gaia. Gonk besteht aus einem Linux Kernel und einer Hardware-Abstraktionsschicht, mit der Gecko kommuniziert.</dd> + <dt><a href="/de/docs/Mozilla/Gecko" title="/en-US/docs/Mozilla/Gecko">Gecko</a></dt> + <dd>Gecko ist die Ebene im Firefox OS, die dieselben offenen Web Standard-Implementierungen bereit stellt wie sie auch von Firefox, Thunderbird und vielen anderen Anwendungen genutzt werden.</dd> + <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security" title="/en-US/docs/Mozilla/Firefox_OS/Security"> Sicherheit</a></dt> + <dd>Dokumentation über die Sicherheit in Firefox OS; dies beinhaltet alle Themen rund um die Sicherheit von Firefox OS Geräten: für die App-Entwicklung, für die Integration von Geräten in Netzwerke und so weiter.</dd> + <dt><a href="https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Out_of_memory_management_on_Firefox_OS">Speicherengpässe in Firefox OS</a></dt> + <dd>Dieser Artikel erläutert wie Firefox OS mit Hilfe des "low memory killers" und der "low memory notifications" mit Speicherengpässen umgeht.</dd> + <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart">Feature Liste</a></dt> + <dd>Eine Liste mit den verfügbaren Features pro Firefox OS Release.</dd> + <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Settings_list" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Settings_list">Firefox OS Einstellungen</a></dt> + <dd>Eine Liste allgemeiner Einstellungen, die mit dem <a href="https://developer.mozilla.org/en-US/docs/WebAPI/Settings" title="/en-US/docs/WebAPI/Settings">Settings</a> API vorgenommen werden können.</dd> + </dl> + + <p><span class="alllinks"><a href="https://developer.mozilla.org/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">Alle anzeigen...</a></span></p> + </td> + <td> + <h2 class="Community" id="Community" name="Community">Wir helfen Dir</h2> + + <p>Wenn Du mit Firefox OS arbeitest oder Apps für Firefox OS Geräte entwickelst, dann kann Dir unsere große MDN-Geimeinschaft bei Fragen und Problemen helfen!</p> + + <ul> + <li>Besuche das Boot to Gecko Projekt Forum: {{ DiscussionList("dev-b2g", "mozilla.dev.b2g") }}</li> + </ul> + + <ul> + <li>Stell Deine Fragen in Mozilla's Boot to Gecko IRC Channel: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li> + </ul> + + <p><span class="alllinks"><a class="external external-icon" href="http://www.catb.org/%7Eesr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Bitte vergiss nicht die <em>netiquette</em>...</a></span></p> + + <p> </p> + + + <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Verwandte Artikel</h2> + + <ul> + <li><a href="/de/docs/Mobile" title="en-US/docs/Mobile">Mobil</a></li> + <li><a href="/de/docs/HTML" title="en-US/docs/HTML">HTML</a></li> + <li><a href="/de/docs/CSS" title="en-US/docs/CSS">CSS</a></li> + <li><a href="/de/docs/JavaScript" title="en-US/docs/JavaScript">JavaScript</a></li> + </ul> + + <h2 class="Tools" id="Quellen">Quellen</h2> + + <ul> + <li><a class="link-https" href="https://wiki.mozilla.org/B2G/FAQ" title="B2G/FAQ">Mozilla wiki FAQ</a></li> + <li><a class="link-https" href="https://wiki.mozilla.org/B2G/Schedule_Roadmap" title="https://wiki.mozilla.org/B2G/Schedule_Roadmap">Roadmap</a></li> + <li><a href="/en-US/docs/Mozilla/Firefox_OS/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Feature_support_chart">Feature Liste</a></li> + </ul> + </td> + </tr> + </tbody> +</table> + +<p> </p> diff --git a/files/de/archive/b2g_os/quickstart/deine_erste_app/index.html b/files/de/archive/b2g_os/quickstart/deine_erste_app/index.html new file mode 100644 index 0000000000..abd858245b --- /dev/null +++ b/files/de/archive/b2g_os/quickstart/deine_erste_app/index.html @@ -0,0 +1,339 @@ +--- +title: Deine erste App +slug: Archive/B2G_OS/Quickstart/deine_erste_app +tags: + - Anfänger + - Apps + - FirefoxOS + - Guide +translation_of: Archive/B2G_OS/Quickstart/Your_first_app +--- +<div class="note"> + <p><span id="result_box" lang="de"><span class="hps"><strong>Hinweis</strong>: Das</span> <span class="hps atn">Quickstart-</span><span>Abschnitt</span> <span class="hps">wurde mit einem neuen</span><span>, fokussierter</span> <span class="hps">Quick</span> <span class="hps">Artikel, der</span> <span class="hps">alle bisherigen</span> <span class="hps">Artikel</span> <span class="hps">ersetzt</span> <span class="hps">aktualisiert.</span> <span class="hps">Wir</span> <span class="hps">hoffen, dass Sie</span> <span class="hps">diese</span> <span class="hps">nützlicher</span><span class="hps"> finden, und</span> <span class="hps">eine schnellere</span> <span class="hps">Lernerfahrung</span> <span class="hps">als die ältere</span>n <span class="hps">Artikel haben</span><span>.</span></span></p> +</div> +<article class="brush: js"> + <div class="summary"> + <p>Offene Web-Anwendungen (Web-Entwickler) geben, was sie seit Jahren gewünscht haben: ein Cross-Plattform-Umgebung, um installierbare Apps mit nur HTML, CSS und JavaScript erstellen gewidmet - mit Firefox OS, der erste dedizierte Open Web App-Plattform.</p> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:3:0:5]">Dieser</span><span> </span><span id="Dst[0][5:9:7:15]">Leitfaden</span><span> </span><span id="Dst[0][11:14:17:20]">soll</span><span> </span><span id="Dst[0][23:25:22:24]">Sie</span><span> </span><span id="Dst[0][27:40:26:44]">unternehmungslustig</span><span> </span><span id="Dst[0][42:48:46:52]">schnell</span><span> </span><span id="Dst[0][50:53:54:56]">mit</span><span> </span><span id="Dst[0][55:55:58:62]">einer</span><span> </span><span id="Dst[0][57:61:64:76]">grundlegenden</span><span> </span><span id="Dst[0][63:74:78:88]">Architektur</span><span> </span><span id="Dst[0][76:78:90:92]">und</span><span> </span><span id="Dst[0][86:97:94:104]">Anweisungen</span><span> zu </span><span id="Dst[0][80:84:109:113]">bauen <font lang="de">inspirieren</font></span><span>, </span><span id="Dst[0][99:100:116:117]">so</span><span> </span><span id="Dst[0][102:105:119:122]">dass</span><span> </span><span id="Dst[0][107:109:124:126]">Sie</span><span> </span><span id="Dst[0][122:124:128:130]">die</span><span> </span><span id="Dst[0][126:129:132:138]">nächste</span><span> </span><span id="Dst[0][131:135:140:144]">große</span><span> </span><span id="Dst[0][137:139:146:148]">app</span><span> </span><span id="Dst[0][115:120:150:158]">erstellen</span><span> </span><span id="Dst[0][111:113:160:165]">können</span><span>!</span></div> + </div> + </div> + <p>Wenn Sie dieser Anleitung folgen möchten, können Sie unsere <a href="https://github.com/chrisdavidmills/mdn-app-template">Schnellstart-app-Vorlage</a> herunterladen. Finden Sie mehr heraus was unser <a href="/en-US/docs/Project:MDN/Style_guide/Sample_app_coding_guidelines#Apps_template">Apps-Vorlage-Guide</a> enthält.</p> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <h2 id="div[0]" name="div[0]"><span id="Dst[0][0:2:0:2]">App</span><span>-</span><span id="Dst[0][4:12:4:11]">Struktur</span></h2> + <p> </p> + </div> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <h3 id="div[0]" name="div[0]"><span id="Dst[0][0:7:0:7]">Verpackt</span><span> vs. </span><span id="Dst[0][13:18:13:21]">gehostete</span><span> </span><span id="Dst[0][20:23:23:33]">Anwendungen</span></h3> + </div> + <p>Es gibt zwei Arten der offenen Web-apps : <code>verpackt</code> und <code>gehostet</code>. Verpackte apps sind im Wesentlichen die Zip-Dateien, alle Anwendung Anlagewerten: HTML, CSS, JavaScript, Bilder, Manifest, etc.. Gehostete Anwendungen laufen von einem Server in einer bestimmten Domain, genau wie eine standard-Website. Beide app-Arten benötigen ein gültiges Manifest. Wenn Ihre app auf dem Firefox-Marktplatz kommt, wird Ihre Anwendung als Zip-Datei hochladen oder geben Sie die URL an, wo Ihre gehostete Anwendung ist.</p> + <div style="width: 480px; margin: 0 auto;"> + <p><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/Q7x-B13y33Q/?feature=player_detailpage" width="480"></iframe></p> + <div style=""> + <p>In Partnerschaft mit Treehouse erstellt : <a class="button" href="http://teamtreehouse.com/?cid=1154">Zu die Treehouse Seite</a></p> + </div> + </div> + <p>Für die Zwecke dieses Leitfadens erstellen Sie eine gehostete app die werden dann an Ihre Adresse "localhost" geschickt. Sobald Ihre app bereit ist um auf die Liste des Firefox-Marktplatz zukommen, können Sie die Entscheidung, als verpackte app oder als gehostete Anwendung zu starten.</p> + <h3 id="Manifeste_App">Manifeste App</h3> + <p>Alle Firefox-app erfordern eine <a href="/en-US/docs/Web/Apps/Manifest">manifest.webapp</a> -Datei im Stammverzeichnis der app. Die manifest.webapp -Datei enthält wichtige Informationen über die app wie Version, Name, Beschreibung, Symbolspeicherort, Locale Zeichenfolgen, Domains, wo die app aus, installiert werden kann, und vieles mehr. Nur der Name und die Beschreibung sind erforderlich. Das einfache Manifest innerhalb der app-Vorlage enthalten ist, die der folgenden ähnelt:</p> + <pre class="brush: js">{ + "version": "0.1", + "name": "Open Web App", + "description": "Die eeindruckende Open Web App", + "launch_path": "/app-template/index.html", + "icons": { + "16": "/app-template/app-icons/icon-16.png", + "48": "/app-template/app-icons/icon-48.png", + "128": "/app-template/app-icons/icon-128.png" + }, + "developer": { + "name": "Ihr Name", + "url": "http://ihrebeeindruckendeapp.eu" + }, + "locales": { + "es": { + "description": "Su nueva aplicación impresionante Open Web", + "developer": { + "url": "http://ihrebeeindruckendeapp.eu" + } + }, + "it": { + "description": "La tua nuova fantastica Open Web App", + "developer": { + "url": "http://ihrebeeindruckendeapp.eu" + } + } + }, + "default_locale": "de" +}</pre> + <div style="width: 480px; margin: 0 auto;"> + <p><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/dgAUgHQOm8M#t/?feature=player_detailpage" width="480"></iframe></p> + <div class="video-caption"> + <p>In Partnerschaft mit Treehouse erstellt : <a class="button" href="http://teamtreehouse.com/?cid=1154">Zu die Treehouse Seite</a></p> + </div> + </div> + <p> </p> + <p>Eine grundlegende Manifest ist alles, was Sie brauchen um loszulegen. Lesen Sie mehr über <a href="/en-US/docs/Web/Apps/Manifest">Manifeste Apps</a>.</p> + <h2 id="App_Layout_Design">App Layout & Design</h2> + <p>Das Design ist zunehmend wichtig, da die Bildschirmauflösungen standard auf verschiedenen Geräten geworden ist. Selbst wenn das Hauptziel Ihrer App mobile Plattformen wie Firefox-OS ist, haben andere Geräte wahrscheinlich auch darauf zugriff. Mit <a href="//developer.mozilla.org/docs/CSS/Media_queries">CSS Media Queries</a> können Sie das Layout des Gerät anpassen, wie in diesem CSS-Beispiel gezeigt:</p> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + </div> + </div> + <pre class="brush: css"> +/* Im folgenden Text werden Beispiele von Verschiedenen CSS Media Queries gezeigt */ + + /* Grundlegende Desktop/Bildschirm breite */ +@media only screen and (min-width : 1224px) { + /* style */ +} + +/* iPhone breite */ +@media + only screen and (-webkit-min-device-pixel-ratio : 1.5), + only screen and (min-device-pixel-ratio : 1.5) { + /* styles */ +} + +/* Geräteeinstellungen auf verschiedenen Ausrichtungen */ +@media screen and (orientation:portrait) { + /* styles */ +} +@media screen and (orientation:landscape) { + /* styles */ +}</pre> + <p>Es gibt viele JavaScript und CSS-Frameworks für responsive Design und mobile app Entwicklung (<a href="http://twitter.github.com/bootstrap">Bootstrap</a>, etc.) Wählen Sie die Framework(s), die am besten zu Ihrer app-Entwicklung passen.</p> + <h2 id="Web_APIs">Web APIs</h2> + <p>JavaScript-APIs werden erstellt und so schnell wie Geräte erweitert. Mozillas <a href="https://wiki.mozilla.org/WebAPI">WebAPI</a> Aufwand bringt Dutzende von mobilen Standardfunktionen von JavaScript-APIs.<span id="Dst[0][0:0:0:3]"> Eine</span><span> </span><span id="Dst[0][2:5:5:9]">Liste</span><span> </span><span id="Dst[0][7:8:11:13]">der</span><span> </span><span id="Dst[0][10:15:15:20]">Geräte</span><span>-</span><span id="Dst[0][17:23:22:28]">Support</span><span> </span><span id="Dst[0][25:27:30:32]">und</span><span> </span><span id="Dst[0][29:34:34:39]">Status</span><span> </span><span id="Dst[0][36:47:41:45]">steht</span><span> </span><span id="Dst[0][49:50:47:49]">auf</span><span> </span><span id="Dst[0][52:54:51:53]">der</span><span> </span><span id="Dst[0][63:66:55:59]">Seite</span><span> </span><span id="Dst[0][56:61:61:66]">des <a href="https://wiki.mozilla.org/WebAPI">WebAPI</a></span><span> zur Verfügung</span><span>.</span><span> </span><span id="Dst[0][69:78:83:92]">JavaScript</span><span>-</span><span id="Dst[0][80:86:94:100]">Feature</span><span>-</span><span id="Dst[0][88:96:102:110]">Erkennung</span><span> </span><span id="Dst[0][98:99:112:114]">ist</span><span> </span><span id="Dst[0][101:105:116:125]">immer noch</span><span> </span><span id="Dst[0][107:109:127:129]">die</span><span> </span><span id="Dst[0][111:114:131:135]">beste</span><span> </span><span id="Dst[0][116:123:137:142]">Praxis</span><span>,</span><span> </span><span id="Dst[0][126:127:145:147]">wie</span><span> </span><span id="Dst[0][135:136:149:150]">im</span><span> </span><span id="Dst[0][142:150:152:160]">folgenden</span><span> </span><span id="Dst[0][152:158:162:169]">Beispiel</span><span> </span><span id="Dst[0][129:133:171:177]">gezeigt</span><span>:</span>// Wenn dieses Gerät das Vibrieren API unterstützt</p> + <pre class="brush: js">// Wenn dieses Gerät Vibration API unterstützt ... + +if('vibrate' in navigator) { + // ... Vibration in Sekunden + navigator.vibrate(1000); +}</pre> + <p>Im folgenden Beispiel wird das Anzeigeformat von einer <code><div></code> basierend auf die Änderungen in der Ladezustand des Geräts geändert :</p> + <pre class="brush: java">// Erstellen Sie die Batterie Indiktator Hörer +(function() { + var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery, + indicator, indicatorPercentage; + + if(battery) { + indicator = document.getElementById('indicator'), + indicatorPercentage = document.getElementById('indicator-percentage'); + + // Zuhörer für Änderung + battery.addEventListener('chargingchange', updateBattery); + battery.addEventListener('levelchange', updateBattery); + + // Aktualisiert sofort + updateBattery(); + } + + function updateBattery() { + // Prozent aktualisieren Breite und Text + var level = (battery.level * 100) + '%'; + indicatorPercentage.style.width = level; + indicatorPercentage.innerHTML = 'Battery: ' + level; + // Ladestatus Updaten + indicator.className = battery.charging ? 'charging' : ''; + } +})();</pre> + <p>Im Beispiel oben sobald Sie bestätigen, dass die <a href="https://developer.mozilla.org/en-US/docs/DOM/window.navigator.battery">Batterie-API</a> unterstützt wird, können Sie Ereignis-Listener für Chargingchange und Levelchange um das Element Anzeige aktualisieren hinzufügen. Versuchen Sie, die folgenden auf die Quickstart-Vorlage, und sehen Sie, wenn Sie es funktioniert.</p> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span class="dhighlight" id="Dst[0][0:4:0:13]">Überprüfen Sie</span><span> </span><span id="Dst[0][6:8:15:17]">die</span><span> </span><a href="https://wiki.mozilla.org/WebAPI"><span id="Dst[0][10:15:19:24]">WebAPI</span></a><span>-</span><span id="Dst[0][17:20:26:30]">Seite</span><span> </span><span id="Dst[0][22:31:32:41]">regelmäßig</span><span>, </span><span id="Dst[0][33:34:44:45]">um</span><span> sich </span><span id="Dst[0][52:55:52:54]">mit</span><span> </span><span id="Dst[0][57:62:56:60]">Gerät</span><span> </span><span id="Dst[0][64:66:62:64]">API</span><span> </span><span id="Dst[0][68:75:66:71]">Status</span><span> </span><span id="Dst[0][41:42:73:79]">aktuell</span><span> </span><span id="Dst[0][44:45:81:82]">zu</span><span> </span><span id="Dst[0][36:39:84:89]">halten</span><span>.</span></div> + <div> + </div> + </div> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <h2 id="div[0]" name="div[0]"><span id="Dst[0][8:10:0:2]">API</span><span>-</span><span class="dhighlight" id="Dst[0][12:24:4:13]">Funktionen</span> <span id="Dst[0][0:6:18:29]">installieren</span></h2> + <div> + </div> + </div> + <p>In unserem Quickstart-app Beispielvorlage, haben wir eine installierungs-Schaltfläche, die Sie anklicken können, wenn Sie die app als standard website haben möchten ,<br> + und diese Website auf Firefox-OS als app zu installieren. Das Knopf-Markup ist nichts Besonderes:</p> + <pre class="brush: html"><button id="install-btn">App Installieren</button></pre> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:3:0:4]">Diese</span><span> </span><span id="Dst[0][5:12:6:21]">Tastenfunktionen</span><span> </span><span id="Dst[0][28:29:23:26]">wird</span><span> </span><span id="Dst[0][43:47:28:35]">mithilfe</span><span> </span><span id="Dst[0][49:51:37:39]">der</span><span> </span><span id="Dst[0][53:59:41:52]">installieren</span><span>-</span><span id="Dst[0][61:63:54:56]">API</span><span> </span><span id="Dst[0][31:41:58:70]">implementiert</span><span> </span><span id="Dst[0][65:68:72:77]">(siehe</span><span> </span><span id="Dst[0][70:81:79:90]">install.js):</span></div> + <div> + </div> + </div> + <pre class="brush: js">var mainifest_url = location.href + 'manifest.webapp'; + +function install(ev) { + ev.preventDefault(); +//Manifest URL Definieren +// App Installieren + var installLocFind = navigator.mozApps.install(manifest_url); + installLocFind.onsuccess = function(data) { + // Wenn die App Installiert ist + }; + installLocFind.onerror = function() { + // App ist nicht Installiert + // installapp.error.name + alert(installLocFind.error.name); + }; +}; + +// Eine Verweis auf die Schaltfläche und rufen Sie install() auf Klick wenn die App nicht Installiert ist. Wenn sie installiert ist ist die Schaltfläche ausgeblendet. +var button = document.getElementById('install-btn'); + +var installCheck = navigator.mozApps.checkInstalled(manifest_url); + +installCheck.onsuccess = function() { + if(installCheck.result) { + button.style.display = "none"; + } else { + button.addEventListener('click', install, false); + }; +}; +</pre> + <p>Gehen Sie kurz alles durch was vor sich geht :</p> + <ol> + <li> + <div> + <span id="Dst[1][0:1:0:2]">Wir</span><span> </span><span id="Dst[1][3:5:4:11]">erhalten</span><span> </span><span id="Dst[1][7:7:13:17]">einen</span><span> </span><span id="Dst[1][9:17:19:25]">Verweis</span><span> </span><span id="Dst[1][19:20:27:29]">auf</span><span> </span><span id="Dst[1][22:24:31:33]">die</span><span> Schaltfläche "</span><span id="Dst[1][26:32:49:60]">installieren</span><span id="Dst[1][34:39:61:61]">"</span><span> </span><span id="Dst[1][41:43:63:65]">und</span><span> </span><span id="Dst[1][45:49:67:75]">speichern</span><span> Sie </span><span id="Dst[1][51:52:81:83]">sie</span><span> </span><span id="Dst[1][54:55:85:86]">in</span><span> </span><span id="Dst[1][57:59:88:90]">die</span><span> Schaltfläche "</span><span id="Dst[1][61:68:106:114]">Variablen</span><span id="Dst[1][70:75:115:115]">"</span><span>.</span></div> + </li> + <li>Wir verwenden <code>navigator.mozApps.checkInstalled</code> um zu prüfen, ob die App definiert durch das Manifest im <code>http://people.mozilla.com/~cmills/location-finder/manifest.webapp</code> bereits auf dem Gerät installiert ist. Dieser Text wird als Variable <code>installCheck</code> gespeichert.</li> + <li>Wenn der Test erfolgreich durchgeführt wird, dann wird sein Success Ereignis ausgelöst, daher wird <code>installCheck.onsuccess = function() { ... }</code> ausgeführt.</li> + <li>Wenn die App bereits Installiert ist wird die Schaltfläche ausgeblendet.</li> + <li> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:1:0:3]">Wenn</span><span> </span><span id="Dst[0][3:5:5:7]">die</span><span> </span><span id="Dst[0][7:9:9:11]">app</span><span> nicht </span><span id="Dst[0][17:25:19:29]">installiert</span><span> </span><span id="Dst[0][11:15:31:33]">ist</span><span>,</span><span> </span><span id="Dst[0][31:33:36:40]">fügen</span><span> </span><span id="Dst[0][28:29:42:44]">wir</span><span> </span><span id="Dst[0][35:35:46:50]">einen</span><span> </span><span id="Dst[0][37:41:52:56]">Click</span><span>-</span><span id="Dst[0][43:47:58:65]">Ereignis</span><span>-</span><span id="Dst[0][49:56:67:74]">Listener</span><span> </span><span id="Dst[0][58:59:76:78]">zur</span><span> </span><span id="Dst[0][61:70:80:91]">Schaltfläche</span><span>,</span><span> </span><span id="Dst[0][73:74:94:100]">so dass</span><span> </span><span id="Dst[0][76:78:102:104]">die</span><span> </span><span id="Dst[0][90:97:106:113]">Funktion</span><span> </span><code><span id="Dst[0][80:88:115:123]">install()</span><span> </span></code><span id="Dst[0][102:104:125:134]">ausgeführt</span><span> </span><span id="Dst[0][99:100:136:139]">wird</span><span>, </span><span id="Dst[0][106:109:142:145]">wenn</span><span> </span><span id="Dst[0][111:113:147:149]">die</span><span> </span><span id="Dst[0][115:120:151:162]">Schaltfläche</span><span> </span><span id="Dst[0][125:131:164:171]">geklickt</span><span> </span><span id="Dst[0][122:123:173:176]">wird</span><span>.</span></div> + </div> + </div> + </div> + </li> + <li>Wenn die Schaltfläche angeklickt wird, und die Funktion <code>install() </code>ausgeführt wird, wird die Betriebsstätte für die manifest-Datei in eine Variable namens <code>manifest_url</code> und installieren dann die app unter Verwendung <code>navigator.mozApps.install(manifest_url)</code>, einen Verweis auf die Installation in der <code>InstallLocFind</code>-Variablen zu speichern. Sie werden bemerken, dass diese Installation auch Erfolg und Fehler-Ereignisse auslöst, damit Sie Aktionen abhängig ausführen können, ob die Installation erfolgreich oder nicht passiert ist.</li> + </ol> + <p>Vielleicht möchten Sie den <a href="/en-US/docs/Web/Apps/JavaScript_API">Umsetzung Stand der API</a> prüfen, wenn dann aber zuerst nach installierbare Webanwendungen.</p> + <div class="note"> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <strong><span id="Dst[0][0:3:0:6]">Hinweis</span></strong><span>:</span><span> </span><span id="Dst[0][6:16:9:22]">Installierbare</span><span> </span><span id="Dst[0][18:21:24:29]">offene</span><span> </span><span id="Dst[0][23:25:31:33]">Web</span><span>-</span><span id="Dst[0][27:30:35:45]">Anwendungen</span><span> </span><span id="Dst[0][32:35:47:51]">haben</span><span> </span><span id="Dst[0][37:37:53:56]">eine</span><span> </span><span id="Dst[0][63:77:58:78]">Sicherheitsrichtlinie</span><span> </span><span id="Dst[0][39:45:80:88]">"einzelne</span><span> </span><span id="Dst[0][47:49:90:92]">app</span><span> </span><span id="Dst[0][51:53:94:96]">pro</span><span> </span><span id="Dst[0][55:60:98:106]">Herkunft"</span><span id="Dst[0][78:78:107:107]">;</span><span> </span><span id="Dst[0][80:88:109:121]">Grundsätzlich</span><span> </span><span id="Dst[0][95:99:123:134]">können Sie nicht</span><span> </span><span id="Dst[0][106:109:140:143]">mehr</span><span> </span><span id="Dst[0][111:114:145:147]">als</span><span> </span><span id="Dst[0][116:118:149:152]">eine</span><span> </span><span id="Dst[0][120:130:154:167]">installierbare</span><span> </span><span id="Dst[0][132:134:169:171]">app</span><span> </span><span id="Dst[0][136:138:173:175]">pro</span><span> </span><span id="Dst[0][140:145:177:184]">Herkunft</span><span> </span><span id="Dst[0][101:104:186:191]">hosten</span><span>.</span><span> </span><span id="Dst[0][148:151:194:197]">Dies</span><span> </span><span id="Dst[0][153:157:199:209]">vereinfacht</span><span> das </span><span id="Dst[0][159:165:215:220]">Testen</span><span> </span><span id="Dst[0][167:167:222:224]">ein</span><span> </span><span id="Dst[0][169:171:226:230]">wenig</span><span> </span><span id="Dst[0][173:183:232:244]">komplizierter</span><span>,</span><span> </span><span id="Dst[0][186:188:247:250]">aber</span><span> es </span><span id="Dst[0][190:198:252:255]">gibt</span><span> </span><span id="Dst[0][200:204:260:263]">noch</span><span> </span><span id="Dst[0][206:209:265:268]">Wege</span><span>, </span><span id="Dst[0][211:216:271:272]">um</span><span> </span><span id="Dst[0][218:221:274:279]">dieses</span><span>,</span><span> </span><span id="Dst[0][224:230:282:284]">wie</span><span> das </span><span id="Dst[0][232:239:290:302]">Erstellen von</span><span> </span><span id="Dst[0][241:261:304:327]">verschiedenen Subdomains</span><span> </span><span id="Dst[0][263:265:329:331]">für</span><span> </span><span id="Dst[0][267:270:333:336]">apps</span><span>,</span><span> </span><span id="Dst[0][273:279:339:344]">testen</span><span> </span><span id="Dst[0][281:284:346:348]">sie</span><span> </span><span id="Dst[0][286:290:350:352]">mit</span><span> </span><span id="Dst[0][292:294:354:356]">der</span><span> </span><span id="Dst[0][296:302:358:364]">Firefox</span><span>-</span><span id="Dst[0][304:305:366:367]">OS</span><span>-</span><span id="Dst[0][307:315:369:377]">Simulator</span><span>,</span><span> </span><span id="Dst[0][318:319:380:383]">oder</span><span> </span><span id="Dst[0][321:327:385:390]">testen</span><span> </span><span id="Dst[0][329:331:392:394]">die</span><span> </span><span id="Dst[0][333:339:396:402]">Install</span><span>-</span><span id="Dst[0][341:353:404:417]">Funktionalität</span><span> </span><span id="Dst[0][355:356:419:421]">auf</span><span> </span><span id="Dst[0][358:364:423:429]">Firefox</span><span> </span><span id="Dst[0][366:380:431:448]">Aurora/nächtliche,</span><span> </span><span id="Dst[0][382:386:450:456]">welches</span><span> </span><span id="Dst[0][395:397:458:462]">Ihnen</span><span> </span><span id="Dst[0][388:393:464:470]">erlaubt</span><span> </span><span id="Dst[0][399:400:472:473]">zu</span><span> </span><span id="Dst[0][410:420:475:488]">installierbare</span><span> </span><span id="Dst[0][422:429:490:503]">Webanwendungen</span><span> </span><span id="Dst[0][431:432:505:507]">auf</span><span> </span><span id="Dst[0][434:436:509:511]">dem</span><span> </span><span id="Dst[0][438:444:513:519]">Desktop</span><span> zu </span><span id="Dst[0][402:408:524:535]">installieren</span><span>.</span><span> </span><span id="Dst[0][447:449:538:542]">Siehe</span><span> </span><a href="/en-US/docs/Web/Apps/FAQs/About_app_manifests"><span id="Dst[0][451:454:544:547]">FAQs</span><span> </span><span id="Dst[0][456:460:549:552]">über</span><span> </span><span id="Dst[0][462:465:554:557]">apps</span><span> </span><span id="Dst[0][467:475:559:567]">Manifeste</span></a><span> </span><span id="Dst[0][477:479:569:571]">für</span><span> </span><span id="Dst[0][481:484:573:579]">weitere</span><span> </span><span id="Dst[0][486:496:581:593]">Informationen</span><span> </span><span id="Dst[0][498:499:595:597]">zur</span><span> </span><span id="Dst[0][501:507:599:606]">Herkunft</span><span>.</span></div> + </div> + </div> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <h3 id="div[0]" name="div[0]"><span id="Dst[0][0:4:0:4]">WebRT</span><span> </span><span id="Dst[0][6:9:6:9]">APIs</span><span> </span><span id="Dst[0][11:28:11:11]">(</span><span id="Dst[0][30:34:12:15]">APIs</span><span> auf der </span><span id="Dst[0][11:28:25:33]">Grundlage</span><span> von </span><span id="Dst[0][11:28:39:52]">Berechtigungen</span><span id="Dst[0][30:34:53:53]">)</span></h3> + </div> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:4:0:1]">Es</span><span> </span><span id="Dst[0][6:8:3:6]">gibt</span><span> </span><span id="Dst[0][10:10:8:11]">eine</span><span> </span><span id="Dst[0][12:17:13:17]">Reihe</span><span> </span><span id="Dst[0][19:20:19:21]">von</span><span> </span><span id="Dst[0][22:28:23:29]">WebAPIs</span><span id="Dst[0][30:33:30:34]">, </span><span id="Dst[0][49:51:43:46]">aber</span><span> die </span><span id="Dst[0][53:59:48:56]">benötigen</span><span> </span><span id="Dst[0][61:71:58:71]">spezielle Berechtigungen</span><span> </span><span id="Dst[0][73:75:73:75]">für</span><span> </span><span id="Dst[0][77:80:77:82]">dieses</span><span> </span><span id="Dst[0][91:97:94:100]">Feature</span><span> </span><span id="Dst[0][105:111:102:110]">aktiviert</span><span> </span><span id="Dst[0][102:103:112:117]">werden</span><span>.</span><span> </span><span id="Dst[0][114:117:120:123]">Apps</span><span> </span><span id="Dst[0][119:121:125:130]">können</span><span> </span><span id="Dst[0][123:130:132:143]">registrieren</span><span> </span><span id="Dst[0][132:150:145:170]">Berechtigungsanforderungen</span><span> </span><span id="Dst[0][152:157:172:180]">innerhalb</span><span> </span><span id="Dst[0][159:161:182:184]">der</span><span> </span><code><span id="Dst[0][163:177:186:200]">manifest.webapp</span></code><span>-</span><span id="Dst[0][179:182:202:206]">Datei</span><span> </span><span id="Dst[0][184:187:208:210]">wie</span><span> </span><span id="Dst[0][189:190:212:216]">folgt</span><span>:</span></div> + <div> + </div> + </div> + <pre class="brush: js">// Neuer Key im Manifest : "permissions" +// Anforderung der Zugriffe auf eine belibige Anzahl von APIs +// Hier bitten wir um die berechtigung für die SystemXHR API +"permissions": { + "systemXHR": {} +}</pre> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:2:0:2]">Die</span><span> </span><span id="Dst[0][4:8:4:7]">drei</span><span> </span><span id="Dst[0][10:15:9:14]">Stufen</span><span> </span><span id="Dst[0][17:18:16:18]">der</span><span> </span><span id="Dst[0][20:29:20:31]">Berechtigung</span><span> </span><span id="Dst[0][31:33:33:36]">sind</span><span> </span><span id="Dst[0][35:36:38:40]">wie</span><span> </span><span id="Dst[0][38:44:42:46]">folgt</span><span>:</span></div> + <div> + </div> + </div> + <ul> + <li> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:5:0:5]">Normal</span><span> </span><span id="Dst[0][7:7:7:7]">—</span><span> </span><span id="Dst[0][9:12:9:12]">APIs</span><span id="Dst[0][14:17:13:17]">, die</span><span> </span><span id="Dst[0][30:32:19:22]">jede</span><span> </span><span id="Dst[0][34:37:24:26]">Art</span><span> </span><span id="Dst[0][39:40:28:30]">von</span><span> </span><span id="Dst[0][42:48:32:41]">speziellen</span><span> </span><span id="Dst[0][50:67:43:64]">Zugriffsberechtigungen</span><span> </span><span id="Dst[0][19:23:66:70]">nicht</span><span> </span><span id="Dst[0][25:28:72:79]">brauchen</span><span>.</span></div> + </div> + </li> + <li> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:9:0:12]">Privilegierte</span><span> </span><span id="Dst[0][11:11:14:14]">—</span><span> </span><span id="Dst[0][13:16:16:19]">APIs</span><span> </span><span id="Dst[0][28:29:21:23]">für</span><span> </span><span id="Dst[0][31:40:25:34]">Entwickler</span><span> </span><span id="Dst[0][49:50:36:37]">in</span><span> </span><span id="Dst[0][52:56:39:43]">ihren</span><span> </span><span id="Dst[0][58:69:45:55]">Anwendungen</span><span> zu </span><span id="Dst[0][45:47:60:68]">verwenden</span><span>, </span><span id="Dst[0][72:81:71:77]">solange</span><span> </span><span id="Dst[0][83:86:79:81]">sie</span><span> </span><span id="Dst[0][111:112:83:84]">in</span><span> </span><span id="Dst[0][114:116:86:88]">der</span><span> </span><span id="Dst[0][118:120:90:92]">app</span><span> Zugriffsberechtigungen </span><span id="Dst[0][18:26:117:125]">verfügbar</span><span> </span><span id="Dst[0][122:135:127:141]">Manifestdateien</span><span> </span><span id="Dst[0][138:140:143:145]">und</span><span> </span><span id="Dst[0][142:151:147:155]">verteilen</span><span> </span><span id="Dst[0][153:156:157:161]">diese</span><span> </span><span id="Dst[0][158:164:163:167]">durch</span><span> </span><span id="Dst[0][166:166:169:172]">eine</span><span> </span><span id="Dst[0][168:174:174:190]">vertrauenswürdige</span><span> </span><span id="Dst[0][176:181:192:197]">Quelle</span><span>.</span></div> + </div> + </li> + <li> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span class="dhighlight" id="Dst[0][0:8:0:12]">Zertifizierte</span><span> </span><span id="Dst[0][10:10:14:14]">—</span><span> </span><span id="Dst[0][12:15:16:19]">APIs</span><span id="Dst[0][17:20:20:24]">, die</span><span> </span><span id="Dst[0][30:37:26:33]">wichtige</span><span> </span><span id="Dst[0][39:47:35:44]">Funktionen</span><span> </span><span id="Dst[0][49:50:46:48]">auf</span><span> </span><span id="Dst[0][52:52:50:54]">einem</span><span> </span><span id="Dst[0][54:59:56:60]">Gerät</span><span>,</span><span> </span><span id="Dst[0][62:68:63:65]">wie</span><span> </span><span id="Dst[0][70:72:67:69]">den</span><span> </span><span id="Dst[0][74:77:71:76]">Aufruf</span><span>-</span><span id="Dst[0][79:84:78:83]">Dialer</span><span> </span><span id="Dst[0][86:88:85:87]">und</span><span> </span><span id="Dst[0][90:98:89:97]">messaging</span><span>-</span><span id="Dst[0][100:107:99:105]">Dienste</span><span> zu </span><span id="Dst[0][22:28:110:116]">steuern</span><span>.</span><span> </span><span id="Dst[0][110:114:119:123]">Diese</span><span> </span><span id="Dst[0][116:118:125:128]">sind</span><span> in der </span><span id="Dst[0][120:128:137:141]">Regel</span><span> </span><span id="Dst[0][130:132:143:147]">nicht</span><span> </span><span id="Dst[0][134:142:149:157]">verfügbar</span><span> </span><span id="Dst[0][144:146:159:161]">für</span><span> </span><span id="Dst[0][148:169:163:177]">Drittentwickler</span><span>.</span></div> + </div> + </li> + </ul> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][4:7:0:6]">Weitere</span><span> </span><span id="Dst[0][9:19:8:20]">Informationen</span><span> </span><span id="Dst[0][21:22:22:23]">zu</span><span> </span><span id="Dst[0][24:26:25:27]">app</span><span>-</span><span id="Dst[0][28:44:29:47]">Berechtigungsstufen</span>,<a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Packaged_apps#Types_of_packaged_apps"><span id="Dst[0][5:9:0:4]"> Arten</span><span> </span><span id="Dst[0][11:12:6:8]">von</span><span> </span><span id="Dst[0][14:21:10:19]">verpackten</span><span> </span><span id="Dst[0][23:26:21:24]">apps</span></a><span> </span><span id="Dst[0][0:3:26:30]">lesen</span>.<span id="Dst[0][0:2:0:2]"> Sie</span><span> </span><span id="Dst[0][4:11:4:9]">finden</span><span> </span><span id="Dst[0][17:20:11:17]">weitere</span><span> </span><span id="Dst[0][22:32:19:31]">Informationen</span><span> </span><span id="Dst[0][34:38:33:36]">über</span><span> </span><span id="Dst[0][58:68:60:73]">Berechtigungen</span><span id="Dst[0][45:48:45:48]"> welche APIs</span><span> </span><span id="Dst[0][50:56:50:58]">erfordern</span><span> </span><span>,</span><span> </span><span id="Dst[0][71:73:76:78]">und</span><span> </span><span id="Dst[0][75:78:80:85]">welche</span><span> </span><span id="Dst[0][80:90:87:100]">Berechtigungen</span><span> </span><span id="Dst[0][92:94:102:105]">sind</span><span> </span><span id="Dst[0][96:103:107:118]">erforderlich</span><span>,</span><span> </span><span id="Dst[0][106:107:121:122]">um</span><span> </span><a href="/en-US/docs/Web/Apps/App_permissions"><span id="Dst[0][109:111:124:126]">App</span><span>-</span><span id="Dst[0][113:123:128:141]">Berechtigungen</span></a><span>.</span></div> + <div> + </div> + </div> + <div class="note"> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:3:0:5]">Es ist</span><span> </span><span id="Dst[0][5:13:7:13]">wichtig</span><span> </span><span id="Dst[0][15:16:15:16]">zu</span><span> </span><span id="Dst[0][18:21:18:25]">beachten</span><span id="Dst[0][23:26:26:31]">, dass</span><span> </span><span id="Dst[0][28:30:33:37]">nicht</span><span> </span><span id="Dst[0][32:34:39:42]">alle</span><span> </span><span id="Dst[0][36:38:44:46]">Web</span><span>-</span><span id="Dst[0][40:43:48:51]">APIs</span><span> </span><span id="Dst[0][67:72:53:54]">in</span><span> </span><span id="Dst[0][74:76:56:58]">der</span><span> </span><span id="Dst[0][78:84:60:66]">Firefox</span><span>-</span><span id="Dst[0][86:87:68:69]">OS</span><span>-</span><span id="Dst[0][89:97:71:79]">Simulator</span><span> </span><span id="Dst[0][55:65:81:89]">umgesetzt</span><span> </span><span id="Dst[0][50:53:91:96]">werden</span><span>.</span></div> + </div> + </div> + <h2 id="Tools_Testen">Tools & Testen</h2> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:6:0:5]">Testen</span><span> </span><span id="Dst[0][8:9:7:9]">ist</span><span> </span><span id="Dst[0][11:20:11:21]">unglaublich</span><span> </span><span id="Dst[0][22:30:23:29]">wichtig</span><span>, </span><span id="Dst[0][32:35:32:35]">wenn</span><span> </span><span id="Dst[0][48:53:37:42]">mobile</span><span> </span><span id="Dst[0][55:61:44:49]">Geräte</span><span> </span><span id="Dst[0][37:46:51:61]">unterstützt</span><span>.</span><span> </span><span id="Dst[0][64:68:64:65]">Es</span><span> </span><span id="Dst[0][70:72:67:70]">gibt</span><span> </span><span id="Dst[0][74:77:72:76]">viele</span><span> </span><span id="Dst[0][79:85:78:85]">Optionen</span><span> </span><span id="Dst[0][87:89:87:89]">zum</span><span> </span><span id="Dst[0][91:97:91:96]">Testen</span><span> von </span><span id="Dst[0][99:109:102:116]">installierbaren</span><span> </span><span id="Dst[0][111:114:118:121]">open</span><span>-</span><span id="Dst[0][116:118:123:125]">Web</span><span>-</span><span id="Dst[0][120:123:127:130]">apps</span><span>.</span></div> + <div> + </div> + </div> + <h3 id="Firefox_OS_Simulator">Firefox OS Simulator</h3> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:9:0:11]">Installation</span><span> </span><span id="Dst[0][11:13:13:15]">und</span><span> </span><span id="Dst[0][15:19:17:26]">Verwendung</span><span> </span><span id="Dst[0][21:23:28:30]">der</span><span> </span><a href="https://marketplace.firefox.com/developers/docs/firefox_os_simulator"><span id="Dst[0][25:31:32:38]">Firefox</span><span>-</span><span id="Dst[0][33:34:40:41]">OS</span><span>-</span><span id="Dst[0][36:44:43:51]">Simulator</span></a><span> </span><span id="Dst[0][46:47:53:55]">ist</span><span> </span><span id="Dst[0][49:51:57:59]">der</span><span> </span><span id="Dst[0][53:59:61:70]">einfachste</span><span> </span><span id="Dst[0][61:63:72:74]">Weg</span><span> </span><span id="Dst[0][65:66:76:78]">zum</span><span> </span><span id="Dst[0][68:73:80:88]">aufstehen</span><span> </span><span id="Dst[0][75:77:90:92]">und</span><span> </span><span id="Dst[0][79:85:94:99]">laufen</span><span> </span><span id="Dst[0][87:90:101:103]">mit</span><span> </span><span id="Dst[0][92:95:105:109]">Ihrer</span><span> </span><span id="Dst[0][97:100:111:113]">app</span><span>. </span><span id="Dst[0][102:106:116:119]">Nach</span><span> der </span><span id="Dst[0][108:118:125:136]">Installation</span><span> </span><span id="Dst[0][120:122:138:140]">des</span><span> </span><span id="Dst[0][124:132:142:151]">Simulators</span><span> </span><span id="Dst[0][138:139:153:155]">ist</span><span> </span><span id="Dst[0][135:136:157:158]">es</span><span> </span><span id="Dst[0][152:155:160:162]">aus</span><span> </span><span id="Dst[0][157:159:164:166]">dem</span><span> </span><span id="Dst[0][161:165:168:172]">Tools</span><span id="Dst[0][167:168:173:174]">-></span><span> </span><span id="Dst[0][170:172:176:178]">Web</span><span> </span><span id="Dst[0][174:182:180:188]">Developer</span><span id="Dst[0][184:185:189:190]">-></span><span> </span><span id="Dst[0][187:193:192:198]">Firefox</span><span>-</span><span id="Dst[0][195:196:200:201]">OS</span><span>-</span><span id="Dst[0][198:206:203:211]">Simulator</span><span>-</span><span id="Dst[0][208:211:213:216]">Menü</span><span> </span><span id="Dst[0][141:150:218:227]">zugänglich</span><span>.</span><span> </span><span id="Dst[0][214:216:230:232]">Der</span><span> </span><span id="Dst[0][218:226:234:242]">Simulator</span><span> </span><span id="Dst[0][228:235:244:250]">startet</span><span> </span><span id="Dst[0][237:240:252:254]">mit</span><span> </span><span id="Dst[0][242:242:256:260]">einer</span><span> </span><span id="Dst[0][244:253:262:271]">JavaScript</span><span>-</span><span id="Dst[0][255:261:273:279]">Konsole</span><span>, </span><span id="Dst[0][263:264:282:286]">damit</span><span> </span><span id="Dst[0][266:268:288:290]">Sie</span><span> </span><span id="Dst[0][280:283:292:295]">Ihre</span><span> </span><span id="Dst[0][285:295:297:305]">Anwendung</span><span> </span><span id="Dst[0][302:307:307:308]">in</span><span> </span><span id="Dst[0][309:311:310:312]">den</span><span> </span><span id="Dst[0][313:321:314:322]">Simulator</span><span> </span><span id="Dst[0][274:278:324:331]">Debuggen</span><span> </span><span id="Dst[0][270:272:333:338]">können</span><span>.</span></div> + <div> + </div> + </div> + <h3 id="App_Manager">App Manager</h3> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:2:0:2]">Das</span><span> </span><span id="Dst[0][4:6:4:7]">neue</span><span> </span><span id="Dst[0][8:10:9:12]">Kind</span><span> </span><span id="Dst[0][12:13:14:16]">auf</span><span> </span><span id="Dst[0][15:17:18:20]">den</span><span> </span><span id="Dst[0][19:23:22:26]">Block</span><span> </span><span id="Dst[0][25:39:28:42]">im Hinblick auf</span><span> die </span><span id="Dst[0][41:53:48:56]">Testtools</span><span> </span><span id="Dst[0][55:63:58:62]">nennt</span><span> man </span><span id="Dst[0][65:67:68:70]">den</span><span> </span><a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_App_Manager"><span id="Dst[0][69:71:72:74]">App</span><span>-</span><span id="Dst[0][73:79:76:82]">Manager</span></a><span>.</span><span> Mit </span><span id="Dst[0][82:85:89:94]">diesem</span><span> </span><span id="Dst[0][87:90:96:99]">Tool</span><span> </span><span id="Dst[0][92:97:101:106]">können</span><span> </span><span id="Dst[0][99:101:108:110]">Sie</span><span> </span><span id="Dst[0][106:112:112:121]">Verbindung</span><span> mit </span><span id="Dst[0][133:133:127:131]">einem</span><span> </span><span id="Dst[0][135:144:133:143]">kompatiblen</span><span> </span><span id="Dst[0][146:151:145:149]">Gerät</span><span> </span><span id="Dst[0][153:155:151:154]">über</span><span> </span><span id="Dst[0][157:159:156:158]">USB</span><span> </span><span id="Dst[0][161:163:160:164]">(oder</span><span> </span><span id="Dst[0][165:165:166:168]">ein</span><span> </span><span id="Dst[0][167:173:170:176]">Firefox</span><span>-</span><span id="Dst[0][175:176:178:179]">OS</span><span>-</span><span id="Dst[0][178:188:181:190]">Simulator)</span><span> </span><span id="Dst[0][114:120:192:198]">desktop</span><span> </span><span id="Dst[0][122:128:200:206]">Firefox</span><span>,</span><span> </span><span id="Dst[0][195:198:209:212]">apps</span><span> </span><span id="Dst[0][200:207:214:219]">direkt</span><span> </span><span id="Dst[0][209:210:221:223]">auf</span><span> </span><span id="Dst[0][212:214:225:227]">das</span><span> </span><span id="Dst[0][216:221:229:233]">Gerät</span><span> </span><span id="Dst[0][190:193:235:242]">schieben</span><span>,</span><span> </span><span id="Dst[0][233:236:245:248]">apps</span><span> zu </span><span id="Dst[0][224:231:253:262]">validieren</span><span> </span><span id="Dst[0][239:241:264:266]">und</span><span> </span><span id="Dst[0][243:247:268:275]">Debuggen</span><span> </span><span id="Dst[0][249:252:277:279]">sie</span><span>, </span><span id="Dst[0][254:255:282:284]">wie</span><span> </span><span id="Dst[0][257:260:286:288]">sie</span><span> </span><span id="Dst[0][266:267:290:292]">auf</span><span> </span><span id="Dst[0][269:271:294:296]">dem</span><span> </span><span id="Dst[0][273:278:298:302]">Gerät</span><span> </span><span id="Dst[0][262:264:304:313]">ausgeführt</span><span>.</span></div> + <div> + </div> + </div> + <h3 id="Unit_Tests">Unit Tests</h3> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:3:0:3]">Unit</span><span>-</span><span id="Dst[0][5:9:5:9]">Tests</span><span> </span><span id="Dst[0][11:13:11:14]">sind</span><span> </span><span id="Dst[0][15:23:16:19]">sehr</span><span> </span><span id="Dst[0][25:32:21:28]">wertvoll</span><span>, </span><span id="Dst[0][34:37:31:34]">wenn</span><span> Sie </span><span id="Dst[0][47:48:40:42]">auf</span><span> </span><span id="Dst[0][50:58:44:56]">verschiedenen</span><span> </span><span id="Dst[0][60:66:58:64]">Geräten</span><span> zu </span><span id="Dst[0][39:45:69:74]">testen</span><span> </span><span id="Dst[0][68:70:76:78]">und</span><span> </span><span id="Dst[0][72:77:80:83]">baut</span><span>.</span><span> </span><span id="Dst[0][80:87:86:93]">jQuery's</span><span> </span><a href="http://qunitjs.com"><span id="Dst[0][89:93:95:99]">QUnit</span></a><span> </span><span id="Dst[0][95:96:101:103]">ist</span><span> </span><span id="Dst[0][98:98:105:108]">eine</span><span> </span><span id="Dst[0][100:106:110:117]">beliebte</span><span> </span><span id="Dst[0][108:118:119:132]">Client-seitige</span><span> </span><span id="Dst[0][128:134:134:147]">Dienstprogramm</span><span> zum </span><span id="Dst[0][120:126:153:158]">Testen</span><span>,</span><span> </span><span id="Dst[0][137:139:161:164]">aber</span><span> </span><span id="Dst[0][145:151:166:171]">können</span><span> </span><span id="Dst[0][141:143:173:175]">Sie</span><span> </span><span id="Dst[0][153:155:177:192]">einen beliebigen</span><span> </span><span id="Dst[0][157:159:194:197]">Satz</span><span> </span><span id="Dst[0][161:162:199:201]">von</span><span> </span><span id="Dst[0][164:176:203:211]">Testtools</span><span id="Dst[0][178:182:212:220]">, die Sie</span><span> </span><span id="Dst[0][178:182:222:228]">möchten</span><span>.</span></div> + <div> + </div> + </div> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <h3 id="div[0]" name="div[0]"><span id="Dst[0][11:17:0:6]">Firefox</span><span> </span><span id="Dst[0][19:20:8:9]">OS</span><span> </span><span id="Dst[0][22:23:11:13]">auf</span><span> </span><span id="Dst[0][25:25:15:19]">einem</span><span> </span><span id="Dst[0][27:32:21:25]">Gerät</span><span> </span><span id="Dst[0][0:9:27:38]">installieren</span></h3> + </div> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:4:0:1]">Da</span><span> </span><span id="Dst[0][6:12:3:9]">Firefox</span><span>-</span><span id="Dst[0][14:15:11:12]">OS</span><span> </span><span id="Dst[0][20:21:14:16]">ein</span><span> </span><span id="Dst[0][23:26:18:21]">open</span><span>-</span><span id="Dst[0][28:33:23:28]">Source</span><span>-</span><span id="Dst[0][35:42:30:38]">Plattform</span><span> ist </span><span id="Dst[0][60:62:44:47]">sind</span><span> </span><span id="Dst[0][45:48:49:52]">Code</span><span> </span><span id="Dst[0][50:52:54:56]">und</span><span> </span><span id="Dst[0][54:58:58:62]">Tools</span><span> </span><span id="Dst[0][77:81:64:72]">Erstellen</span><span> </span><span id="Dst[0][83:85:74:76]">und</span><span> </span><span id="Dst[0][87:93:78:89]">installieren</span><span> </span><span id="Dst[0][95:101:91:97]">Firefox</span><span>-</span><span id="Dst[0][103:104:99:100]">OS</span><span> </span><span id="Dst[0][106:107:102:104]">auf</span><span> </span><span id="Dst[0][109:112:106:110]">Ihrem</span><span> </span><span id="Dst[0][114:116:112:118]">eigenen</span><span> </span><span id="Dst[0][118:123:120:124]">Gerät</span><span> </span><span id="Dst[0][64:72:126:134]">verfügbar</span><span>.</span><span> </span><span id="Dst[0][126:130:137:141]">Build</span><span> </span><span id="Dst[0][132:134:143:147]">sowie</span><span> </span><span id="Dst[0][136:160:149:172]">Installationsanweisungen</span><span> </span><span id="Dst[0][166:169:174:176]">und</span><span> </span><span id="Dst[0][174:178:178:188]">Anmerkungen</span><span> </span><span id="Dst[0][180:181:190:191]">zu</span><span> </span><span id="Dst[0][183:186:193:199]">welchen</span><span> </span><span id="Dst[0][188:194:201:207]">Geräten</span><span> </span><span id="Dst[0][196:197:209:210]">es</span><span> </span><span id="Dst[0][216:217:212:214]">auf</span><span>,</span><span> </span><span id="Dst[0][206:214:217:227]">installiert</span><span> </span><span id="Dst[0][203:204:229:234]">werden</span><span> </span><span id="Dst[0][199:201:236:239]">kann</span><span> </span><span id="Dst[0][220:222:241:246]">finden</span><span> Sie </span><span id="Dst[0][233:234:252:254]">auf</span><span> </span><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform"><span id="Dst[0][236:238:256:258]">MDN</span></a><span>.</span></div> + <div> + </div> + </div> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <span id="Dst[0][0:8:0:8]">Spezielle</span><span> </span><span id="Dst[0][10:16:10:16]">Firefox</span><span>-</span><span id="Dst[0][18:19:18:19]">OS</span><span> </span><span id="Dst[0][21:29:21:30]">Entwickler</span><span> </span><span id="Dst[0][31:37:32:39]">Vorschau</span><span> </span><span id="Dst[0][39:45:41:46]">Geräte</span><span> </span><span id="Dst[0][47:54:48:53]">stehen</span><span> </span><span id="Dst[0][56:64:55:67]">zur Verfügung</span><span>:</span><span> </span><span id="Dst[0][67:70:70:78]">Lesen Sie</span><span> </span><span id="Dst[0][72:74:80:85]">unsere</span><span> </span><a href="https://marketplace.firefox.com/developers/dev_phone"><span id="Dst[0][76:84:87:96]">Entwickler</span><span>-</span><span id="Dst[0][86:92:98:105]">Vorschau</span><span>-</span><span id="Dst[0][94:98:107:113]">Telefon</span><span>-</span><span id="Dst[0][100:103:115:119]">Seite</span><span> </span></a><span id="Dst[0][105:107:121:123]">für</span><span> </span><span id="Dst[0][109:112:125:131]">weitere</span><span> </span><span id="Dst[0][114:124:133:145]">Informationen</span><span>.</span></div> + <div> + </div> + <div> + </div> + </div> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <h2 id="div[0]" name="div[0]"><span id="Dst[0][0:2:0:2]">App</span><span>-</span><span id="Dst[0][4:13:4:13]">einreichen</span><span> </span><span id="Dst[0][15:17:15:17]">und</span><span> </span><span id="Dst[0][19:30:19:28]">Verteilung</span></h2> + </div> + <p>Wenn Ihre app abgeschlossen ist, können Sie es selbst hosten wie eine standard-Website oder app (Lesen Sie <a href="/en-US/docs/Web/Apps/Publishing/Self-publishing_Apps">self-publishing-Anwendungen</a> für weitere Informationen), oder es kann <a href="https://marketplace.firefox.com/developers/submit/app/manifest">eingereicht</a> werden, auf den <a href="https://marketplace.firefox.com">Firefox-Markt</a>. Ihre Anwendung Manifest überprüft werden können Sie wählen, welche Geräte Ihr app unterstützt (z.B. Firefox OS, Desktop, Firefox, Firefox Mobile, Firefox Tablet). Sobald validiert, können die app Liste innerhalb der Marktplatz Sie fügen Sie zusätzliche Informationen über Ihre app (Screenshots, Beschreibungen, Preise, etc.) und offiziell einreichen. Sobald die App genehmigt ist, ist Ihre app der Welt für die Beschaffung und Installation zur Verfügung.</p> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <h3 id="div[0]" name="div[0]"><span id="Dst[0][5:15:5:14]">Marktplatz</span><span> </span><span id="Dst[0][17:17:16:16]">&</span><span id="Dst[0][0:3:0:3]"> Mehr</span><span id="Dst[0][27:37:18:24]"> Angaben</span></h3> + </div> + <ol> + <li><a href="/en-US/docs/Web/Apps/Publishing/Submitting_an_app"><span id="Dst[0][0:9:0:5]">Senden</span><span> Sie </span><span id="Dst[0][11:12:11:14]">eine</span><span> </span><span id="Dst[0][14:16:16:18]">App</span><span> </span><span id="Dst[0][18:19:20:22]">auf</span><span> </span><span id="Dst[0][21:23:24:26]">den</span><span> </span><span id="Dst[0][25:31:28:34]">Firefox</span><span>-</span><span id="Dst[0][33:34:36:37]">OS</span><span>-</span><span id="Dst[0][36:46:39:43]">Markt</span></a><a href="/en-US/docs/Web/Apps/Publishing/Submitting_an_app">z</a></li> + <li><a href="/en-US/docs/Web/Apps/Publishing/Marketplace_review_criteria"><span id="Dst[0][0:10:0:9]">Marktplatz</span><span>-</span><span id="Dst[0][12:26:11:23]">Prüfkriterien</span></a></li> + <li> + <div class="mttextarea" dir="ltr" id="TranslationOutput"> + <div> + <a href="http://s.vid.ly/embeded.html?link=8k2n4w&autoplay=false"><span id="Dst[0][0:2:0:2]">App</span><span>-</span><span id="Dst[0][4:13:4:13]">einreichen</span><span>-</span><span id="Dst[0][15:19:15:19]">Video</span><span>-</span><span id="Dst[0][21:31:21:29]">Anleitung</span></a></div> + </div> + </li> + </ol> + <p> </p> + <p> </p> + <p>Übersetzung bei <strong>Enes E.</strong></p> +</article> diff --git a/files/de/archive/b2g_os/quickstart/einfuerung_zu_firefox_os/index.html b/files/de/archive/b2g_os/quickstart/einfuerung_zu_firefox_os/index.html new file mode 100644 index 0000000000..b262d5f208 --- /dev/null +++ b/files/de/archive/b2g_os/quickstart/einfuerung_zu_firefox_os/index.html @@ -0,0 +1,13 @@ +--- +title: Einführung zu Firefox OS +slug: Archive/B2G_OS/Quickstart/Einfuerung_zu_Firefox_OS +translation_of: Archive/B2G_OS/Quickstart/Intro_to_Firefox_OS +--- +<div class="summary"> + <p>Firefox OS ist ein neues Mobilbetriebssystem, entwickelt von Mozillas Boot to Gecko (B2G) Projekt. Es besteht aus einem Linux Kernel und bootet als eine auf Gecko basierende Laufzeitumgebung, die es Nutzern ermöglicht Anwendungen, geschrieben in <a href="//developer.mozilla.org/docs/HTML">HTML</a>, <a href="//developer.mozilla.org/docs/JavaScript">JavaScript</a>, und mit anderen offenen APIs für Webanwendungen, auszuführen.</p> +</div> +<p><strong>Firefox OS</strong> (also referred to by its codename "Boot to Gecko" or "B2G") is Mozilla's open source mobile operating system, based a Linux kernel, which boots into a Gecko-based runtime engine that lets users run applications developed entirely using <a href="//developer.mozilla.org/docs/HTML">HTML</a>, <a href="/en-US/docs/Web/CSS">CSS</a>, <a href="//developer.mozilla.org/docs/JavaScript">JavaScript</a>, and open web application APIs. Firefox OS is a mobile operating system that's free from proprietary technology while still a powerful platform that provides application developers an opportunity to create excellent products. In addition, it's flexible and capable enough to make the end user happy.</p> +<p style="width: 480px; margin: 0 auto;"><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/-9vktI70iHc/?feature=player_detailpage" width="480"></iframe></p> +<p>Firefox OS comes with a suite of pre-installed applications called <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a>, which handle the fundamental functions of the phone such as settings, calls, SMS, taking and storing photos, etc.</p> +<p>For Web developers, the most important part to understand is that the entire user interface is a Web app, one that is capable of displaying and launching other Web apps. Any modifications you make to the user interface and any applications you create to run on Firefox OS are Web pages, albeit with enhanced access to the mobile device's hardware and services.</p> +<p>Firefox OS is currently under heavy development; we are constantly working on ways to make it easier for you to use and hack on Gaia and create apps. However, you need knowledge about systems in order to do things like build the entire Firefox OS stack, or flash a phone with a build of Firefox OS. To find such information, and lots more besides, head on over to our <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS content zone</a>.</p> diff --git a/files/de/archive/b2g_os/quickstart/for_mobile_developers/index.html b/files/de/archive/b2g_os/quickstart/for_mobile_developers/index.html new file mode 100644 index 0000000000..e4a00e9335 --- /dev/null +++ b/files/de/archive/b2g_os/quickstart/for_mobile_developers/index.html @@ -0,0 +1,40 @@ +--- +title: App development for mobile developers +slug: Archive/B2G_OS/Quickstart/For_mobile_developers +translation_of: Archive/B2G_OS/Quickstart/For_mobile_developers +--- +<div class="summary"> + <p>If you are a native mobile platform developer, why should you look into developer open web apps? This article talks you through open web app advantages, and the basic steps required to create one.</p> +</div> +<h2 id="Advantages">Advantages</h2> +<p>For mobile application developers, the open web apps project offers these advantages:</p> +<ul> + <li><strong>Simplicity</strong>: Develop on a single technology stack (HTML5/CSS/JavaScript) and deliver across all platforms, from smartphones to tablets to desktops.</li> + <li><strong>Standards</strong>: The technology stack is defined by standards bodies (W3C and Ecma) that operate in the open, rather than by particular technology or platform vendors.</li> + <li><strong>Freedom</strong>: You're not locked in to a vendor-controlled ecosystem. You can distribute your app through the Firefox Marketplace, your own website, or any other store based on Mozilla's open app store technology.</li> + <li><strong>Reach</strong>: You have the potential to reach Firefox's 450 million desktop users, as well as users of other desktop browsers and mobile users.</li> +</ul> +<h2 id="Steps_to_developing_a_Web_app">Steps to developing a Web app</h2> +<dl> + <dt> + 1. Develop your app using open Web technologies.</dt> + <dd> + You probably already know at least a bit about HTML, CSS, and JavaScript. The <a href="/en-US/learn">Learn</a> section of this website has resources to help you ramp up even more. As a mobile app developer, you already have a <a class="external" href="http://www.lukew.com/ff/entry.asp?933">Mobile First</a> approach to Web design.</dd> + <dt> + 2. Add an <a href="/en-US/docs/Web/Apps/Manifest">app manifest</a>.</dt> + <dd> + All that inherently separates a Web app from a normal website is a single, JSON-format text file.</dd> + <dt> + 3. Publish the app, either on your own site or in an app store (or both).</dt> + <dd> + Publishing it yourself requires <a href="/en-US/docs/Web/Apps/JavaScript_API">adding some code to your site to manage installing and updating the app</a> in users' browsers.</dd> +</dl> +<h2 id="Optional_features">Optional features</h2> +<p>{{ page("/en-US/docs/Web/Apps/For_Web_developers", "Optional_features") }}</p> +<h2 id="Useful_technologies">Useful technologies</h2> +<p>See <a href="/en-US/docs/Web/Apps/For_Web_developers#Useful_technologies">Useful technologies</a>.</p> +<h2 id="See_also">See also</h2> +<ul> + <li><a href="http://smus.com/mobile-web-app-tech-stack">A mobile Web application stack</a></li> + <li><a href="/en-US/docs/Web/Apps/Apps_for_Android">Open Web Apps for Android</a></li> +</ul> diff --git a/files/de/archive/b2g_os/quickstart/index.html b/files/de/archive/b2g_os/quickstart/index.html new file mode 100644 index 0000000000..ebe1f7c220 --- /dev/null +++ b/files/de/archive/b2g_os/quickstart/index.html @@ -0,0 +1,49 @@ +--- +title: Build +slug: Archive/B2G_OS/Quickstart +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/B2G_OS/Quickstart +--- +<div class="summary"> + <p>Quickstart information on coding open web apps.</p> +</div> +<dl> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_open_web_apps">Introduction to open web apps</a></dt> + <dd> + What are open web apps? How they differ from regular web pages? Why is this significant? This article aims to answer these questions and more.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/Your_first_app">Your first app</a></dt> + <dd> + This article takes you through the basic steps and additional knowledge on top of regular web development required to create installable open web apps.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_Firefox_OS">Introduction to Firefox OS</a></dt> + <dd> + An introduction to Firefox OS, Mozilla's new open web app-based mobile platform.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_manifests">Introduction to manifests</a></dt> + <dd> + An FAQ designed to answer any questions you may have about manifests, hosting apps, origins, and other such topics.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/For_Web_developers">App development for web developers</a></dt> + <dd> + If you're a web developer, how do open web apps differ from what you're used to? This article explains all.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/For_mobile_developers">App development for mobile developers</a></dt> + <dd> + If you're a native mobile application developer, what advantages can open web apps bring to you, and how do they differ from what you are used to? Here are some ideas.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/Developing_app_functionality">Developing app functionality</a></dt> + <dd> + This page talks about the kinds of different functionality that you might want to build into your apps, with links to further information.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/Payments">Payments</a></dt> + <dd> + How do you build functionality to make people pay for installing your open web apps? Here is the lowdown.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/Quickstart/Build/App_tools">App tools</a></dt> + <dd> + Last for this section, we provide some links to more information on the tools available to help you develop great open web apps.</dd> +</dl> diff --git a/files/de/archive/b2g_os/quickstart/open_web_apps_and_web_standards/index.html b/files/de/archive/b2g_os/quickstart/open_web_apps_and_web_standards/index.html new file mode 100644 index 0000000000..f0767b57ed --- /dev/null +++ b/files/de/archive/b2g_os/quickstart/open_web_apps_and_web_standards/index.html @@ -0,0 +1,38 @@ +--- +title: Offene Web Apps und Web Standards +slug: Archive/B2G_OS/Quickstart/Open_Web_apps_and_Web_standards +translation_of: Archive/B2G_OS/Quickstart/Intro_to_open_web_apps +--- +<p><img alt="Multi devices" src="/files/4523/multidevices.png" style="width: 640px; height: 225px;"></p> +<h2 id="Das_Web_ist_die_Plattform">Das Web ist die Plattform</h2> +<p>Open Web Apps are a great opportunity for those who need to develop applications that work on the largest number of devices, and for those who cannot afford to develop an app for every vendor platform (such as Android, iOS, and "classical" desktop web browsers). The difference between an app and a website is that you can install an app and more thoroughly integrate it into your device. It’s not a bookmark — it’s part of a system. Open Web Apps hold that great promise. They are an opportunity that we should not miss, otherwise the Web might become fragmented once more.</p> +<p>With this in mind it should be clear that Open Web Apps (OWA in short) are intended to be standardized and to become part of "the Web". If successful, OWA should eventually work on all browsers, operating systems anddevices.</p> +<p>At Mozilla we are working hard to create this apps platform that is backed entirely by the open Web. It’s not intended to be a “Mozilla platform” or a “Firefox platform”. <strong>The Web is the platform</strong>. We’re creating a set of open APIs and implementations to show how portable apps can exist on the Web without vendor lock-in. Other groups like Facebook and Google Chrome are also working on apps platforms backed by the Web. <a href="https://developers.facebook.com/docs/guides/canvas/">Facebook apps</a> are meant to hook into Facebook and <a href="http://www.google.com/intl/en/chrome/webstore/apps.html">Chrome apps</a> are designed for Chrome OS devices and Google servers. Chrome apps are the most similar to Open Web Apps. We continue to collaborate with the Google Chrome team as app standards evolve and we definitely share a lot of the same vision. There is tremendous potential for all Web based app platforms to converge and we invite all vendors to help us build the right Open Web App APIs.</p> +<p>Even though currently you must have a Mozilla Firefox-based engine ("Web runtime") to use Open Web Apps, it is not intended that this always will be the case. Many parts of the Open Web Apps project are still being worked out and it isn't possible to implement everything in all browsers at once. Although many parts of Open Web Apps are already standardized, many other parts are still in flux. It is intended and hoped that Open Web Apps will be a standard capability that is available in all major browsers.</p> +<p>Therefore, when you read the MDN pages that deal with Open Web Apps, please keep in mind that even though much of the information is specific to Firefox right now, it will hopefully enable you to develop Open Web Apps for all browsers in the future.</p> +<h2 id="Web_standards">Web standards</h2> +<p>OWA technology is not a single piece, it is an umbrella that groups many different technologies and some of them are very young. At the moment, parts of OWA are standardized (HTML5, CSS, JavaScript, IndexedDB, etc.). Other parts are not yet standardized and the Mozilla implementation is thus specific to Firefox or to some other Mozilla technology. As the Mozilla mission is to share and to empower everyone, this situation is only temporary. That's why in the OWA docs we will try to clearly identify the parts of OWA that are not yet standardized.</p> +<p>Please also note that there may be some OWA-related proposals and potential standards that are not used by Mozilla.</p> +<h3 id="Intended_eventual_standards">Intended eventual standards</h3> +<p>So here are the parts not standardized yet across the different Web platforms and that still are Firefox-only for the moment:</p> +<ul> + <li><a href="/en-US/docs/Apps/Manifest">OWA manifest</a> for defining an app</li> + <li><a href="/en-US/docs/Apps/Apps_JavaScript_API">The Complete OWA API</a> for working with apps</li> + <li><a href="https://wiki.mozilla.org/WebAPI">Web APIs</a> to access things like phone, geolocation, etc. Also see <a href="http://arewemobileyet.com/">arewemobileyet.com</a> for a status report.</li> + <li><a href="/en-US/docs/Persona">Identity (Persona)</a> to work with user data</li> + <li><a href="https://wiki.mozilla.org/WebAPI/WebPayment">WebPayment API</a> to facilitate in-app payments and app purchases from any Marketplace</li> + <li><a href="https://wiki.mozilla.org/Apps/WebApplicationReceipt">OWA Receipts</a> to verify paid apps on any device and sell apps from any Marketplace</li> +</ul> +<h3 id="Marketplace">Marketplace</h3> +<h4 id="Buy_Once_Run_Everywhere">Buy Once, Run Everywhere</h4> +<p>From the ground up Mozilla has been building an apps system that lets users buy an app once and run it on all of their HTML5 devices. Very soon Mozilla will <a href="http://bits.blogs.nytimes.com/2012/09/07/a-firefox-smartphone-for-the-poor/">launch the first Firefox OS phone</a> but that will be just one device on which to run your apps. When you purchase an app through the <a href="https://marketplace.firefox.com/">Firefox Marketplace</a>, the system installs a receipt on your device. The <a href="https://wiki.mozilla.org/Apps/WebApplicationReceipt">receipt</a> is a JSON Web Token with metadata that links to the Marketplace’s public key and its verification service URL. When an app starts up it can verify the receipt but the receipt on the device <em>is not tied</em> to the Firefox Marketplace. The receipt is just a cryptographically verifiable proof of purchase. Anyone can sell open Web apps if they follow the receipt specs. <strong>When you buy an app, it is intended to be portable across any device that supports the Open Web Apps system.</strong></p> +<p>Mozilla is building the infrastructure needed to run Open Web Apps on any HTML5 device. <a href="http://www.mozilla.org/en-US/firefox/mobile/features/">Firefox for Android</a> will let you install and run apps (you can try it today on the <a href="http://nightly.mozilla.org/">nightly</a> build). Installed app icons go to your home screen just like regular Android apps. You can also install and run Web apps on your Windows, Mac, or Linux desktop using Firefox (this currently works in the <a href="http://nightly.mozilla.org/">nightly</a> build). Currently some version of Firefox is required, but it is intended that the Open Web Apps system will eventually be supported by all major browsers as a set of standards. From day one Mozilla has included all major HTML5 compliant browsers in its proof of concepts; you can take a look at this hosted JavaScript <a href="https://apps.persona.org/include.js">shim</a> for ideas on how to support the apps platform on a non-Firefox browser.</p> +<p>In the future the Open Web Apps system will support <a href="http://docs.services.mozilla.com/aitc/">syncing your installed apps</a> across devices. Since receipts are portable you could just sync them yourself if you wanted to. In case it’s not obvious, you can always run a free open Web app in any browser because it is no different than a website. It might, however, use new <a href="https://wiki.mozilla.org/WebAPI/">mobile specific web APIs</a> which are not implemented on all platforms.</p> +<h3 id="WebPayment_API">WebPayment API</h3> +<h4 id="Commerce_For_Apps">Commerce For Apps</h4> +<p>Part of the success of mobile app platforms like iOS and Android is that they make it very easy to try out new business models through mobile payments. Those models are still evolving but commerce is no doubt something that, at the moment, is awkward on the desktop Web and more natural on mobile. Specifically, it’s very convenient to charge something to your phone bill when you’re already accessing it from your phone anyway. With the launch of Firefox OS, the apps ecosystem will support app purchases and in-app payments through the <a href="https://wiki.mozilla.org/WebAPI/WebPayment" style="">WebPayment API</a>. Supporting commerce is crucial for the growth of an apps platform. <strong>The use of the proposed payment API is completely <em>optional</em></strong>. Mozilla won’t prevent any app from using its own in-app payment system.</p> +<h2 id="See_also">See also</h2> +<ul> + <li><a href="https://blog.mozilla.org/webdev/2012/09/14/apps-the-web-is-the-platform/">Apps: The Web Is The Platform</a>, by Kumar McMillan (the blog post from which lots of the content of this article is borrowed)</li> + <li><a href="https://plus.google.com/113127438179392830442/posts/fR3iiuN4kEF">See the Web platform succeed for applications</a>, by Paul Irish</li> +</ul> diff --git a/files/de/archive/b2g_os/releases/1.4/index.html b/files/de/archive/b2g_os/releases/1.4/index.html new file mode 100644 index 0000000000..47b18c0fbc --- /dev/null +++ b/files/de/archive/b2g_os/releases/1.4/index.html @@ -0,0 +1,71 @@ +--- +title: Firefox OS 1.4 for developers +slug: Archive/B2G_OS/Releases/1.4 +translation_of: Archive/B2G_OS/Releases/1.4 +--- +<div class="summary"> + <p><span class="seoSummary"><strong>Firefox OS 1.4</strong> ist derzeit noch eien Vorabversion. Die Gecko Komponenten basieren auf Firefox 30 (dazu:<span class="seoSummary"><a href="/en-US/docs/Mozilla/Firefox/Releases/30" title="/en-US/docs/Mozilla/Firefox/Releases/28">Firefox 30 release notes for developers</a>). Diese Seite beschreibt die neu hinzugefügten Entwicklerfunktionen in Firefox OS 1.4.</span></span></p> +</div> +<h2 id="CSS">CSS</h2> +<p>Gecko allgemein:</p> +<ul> + <li>Das Merkmal <a href="/de/docs/Web/CSS/background-blend-mode" title="Die background-blend-mode Eigenschaft beschreibt, wie sich die Hintergrundbilder eines Elementes, sowie dessen Hintergrundfarbe, miteinander vemischen."><code>background-blend-mode</code></a> ist jetzt standardmäßig aktiviert(<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=970600" title="FIXED: Enable background-blend-mode by default">Bug 970600</a>).</li> + <li>Das nicht standardmäßige Merkmal <a href="/de/docs/Web/CSS/overflow-clip-box" title="Die overflow-clip-box CSS Eigenschaft bestimmt, bezogen auf welche Box die Zuschnitt erfolgt, wenn ein Überlauf stattfindet."><code>overflow-clip-box</code></a> ist jetzt lediglich für die Nutzung in UA stylesheets aktiviert(<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=966992" title="FIXED: Implement overflow-clip-box: content-box">Bug 966992</a>).</li> + <li>Das Merkmal <a href="/de/docs/Web/CSS/line-height" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>line-height</code></a> beeinflusst jetzt auch einzeilige Texteingaben (<code><input type=text|password|email|search|tel|url|unknown></code> types), es kann diese allerdings nicht unter eine Größe von <code>1.0</code> verkleinern (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=349259" title="FIXED: CSS Property 'line-height' has no effects on input text fields">Bug 349259</a>).</li> + <li>Das Merkmal <a href="/de/docs/Web/CSS/line-height" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>line-height</code></a> beeinflusst jetz auch <code>type=button</code>, ohne Einschränkungen</li> + <li>Änderungen des Namens des Keyframes beeinflussen nicht die gegenwärtigen Elemente (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=978648" title="FIXED: Change to keyframes' name does not affect current elements">Bug 978648</a>).</li> +</ul> +<h2 id="JavaScript">JavaScript</h2> +<p><a href="/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> general:</p> +<ul> + <li>New ES6-compatible <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Array_comprehensions">array comprehensions</a> <code>[for (item of iterable) item]</code> and <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Generator_comprehensions">generator comprehensions</a> <code>(for (item of iterable) item)</code> have been implemented (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=979865" title="FIXED: Implement ES6 array and generator comprehensions">Bug 979865</a>).</li> + <li>Typed arrays are now extensible and support new named properties (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=695438" title="FIXED: TypedArrays don't support new named properties">Bug 695438</a>).</li> + <li>The <a href="/de/docs/Web/JavaScript/Reference/Global_Objects/Error/stack" title="Die nicht standardisierte stack Eigenschaft des Error Objektes zeigt den Verlauf der aufgerufenen Funktionen. Dabei wird die Reihenfolge der Aufrufe, der Zeile und die Datei der Aufrufes und die übergebenen Argumenten angegeben. Der stack String verläuft von den jüngsten Aufrufen zu den vorherigen Aufrufen, bis zum globalen Scope zurück."><code>Error.prototype.stack</code></a> property now contains column numbers (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=762556" title="FIXED: Error stack should contain column number">Bug 762556</a>) and has been improved <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/Stack#Stack_of_eval'ed_code">when using <code>Function()</code> and <code>eval()</code> calls</a>. This can help you to better debug minified or generated JavaScript code.</li> +</ul> +<h2 id="InterfacesAPIsDOM">Interfaces/APIs/DOM</h2> +<p>Firefox OS specific:</p> +<ul> + <li>Availability of camera object now conditional on availability of <span id="summary_alias_container"><span id="short_desc_nonedit_display">Navigator.HasCameraSupport (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=983180" title="FIXED: [Camera][Gecko] Make availability of camera object conditional on Navigator.HasCameraSupport">Bug 983180</a>).</span></span></li> + <li>Face Tracking API implemented (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=965420" title="FIXED: [Madai][Camera][Gecko] Implement face-tracking API">Bug 965420</a>).</li> + <li>Clean up done on the <a href="/en-US/docs/Web/API/Camera_Control_API">Camera Control API</a> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=909542" title="FIXED: Camera Control API clean-up/streamline">Bug 909542</a>).</li> + <li><a href="/en-US/docs/Web/API/Network_Information_API">Network Information API</a> now supported on Firefox OS (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=960426" title="FIXED: Support Network Information API in Firefox OS">Bug 960426</a>).</li> + <li><a href="/en-US/docs/Web/API/Wifi_Direct_API">Wifi Direct API</a> now implemented (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=811635" title="FIXED: B2G Wifi: Support Wifi Direct">Bug 811635</a>).</li> +</ul> +<p>Gecko general:</p> +<ul> + <li><code>URLSearchParams.size</code> support has been removed from Gecko; this has been removed from the DOM spec until iterator support is finalised (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=959988" title="FIXED: Remove URLSearchParams.prototype.size">Bug 959988</a>).</li> + <li><a href="/en-US/docs/Web/API/Identity_Provider_API">Identity Provider API</a> for WebRTC implemented (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=884573" title="FIXED: PeerConnection.js persona integration">Bug 884573</a>).</li> + <li>The <a href="/de/docs/Web/HTML/Element/shadow" title="Das HTML <shadow> Element wird als shadow DOM insertion point genutzt. Es kann eventuell gesehen werden, wenn mehrerere shadow roots unter einem shadow host erstellt wurden. Es wird mit Web Components genutzt."><code><shadow></code></a> element is now implemented (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=887538" title="FIXED: Implement web components shadow element.">Bug 887538</a>).</li> + <li><a href="/de/docs/Web/API/FileSystem/createFile" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>createFile()</code></a> method implemented on the <a href="/en-US/docs/Web/API/File_System_API">File System API</a> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=934367" title="FIXED: [Filesystem API] Implement createFile method for device storage.">Bug 934367</a>).</li> + <li>Device Storage API now using <a href="/en-US/docs/Web/API/File_System_API">File System API</a> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=910412" title="FIXED: Change DeviceStorage API to use FileSystem API spec">Bug 910412</a>). The plan is to deprecate the former at a later date.</li> + <li><a href="/de/docs/Web/API/Navigator/sendBeacon" title="Die navigator.sendBeacon() Methode dient dazu, kleinere Datenmengen asynchron per HTTP vom User Agent zum Server zu senden."><code>Navigator.sendBeacon</code></a> has been implemented, easing telemetry collection (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=936340" title="FIXED: Implement navigator.sendBeacon">Bug 936340</a>).</li> + <li>Added a <code>relList</code> property returning a <a href="/de/docs/Web/API/DOMTokenList" title="Die DOMTokenList Schnittstelle repräsentiert eine Sammlung von durch Leerzeichen getrennte Zeichen/ Merkmale (Tokens). Solch eine Ansammlung wird wiedergegben von Element.classList, HTMLLinkElement.relList, HTMLAnchorElement.relList oder HTMLAreaElement.relList. Deren Index beginnt bei 0 wie bei JavaScript Array Objekten. DOMTokenList achten immer auf die Groß- und Kleinschreibung."><code>DOMTokenList</code></a> to <a href="/de/docs/Web/API/HTMLLinkElement" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>HTMLLinkElement</code></a>, <a href="/de/docs/Web/API/HTMLAreaElement" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>HTMLAreaElement</code></a> and <a href="/de/docs/Web/API/HTMLAnchorElement" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>HTMLAnchorElement</code></a> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=968637" title="FIXED: add the DOMTokenList relList to HTMLLinkElement, HTMLAreaElement and HTMLAnchorElement">Bug 968637</a>).</li> + <li>As per the latest specification, the first argument of <a href="/de/docs/Web/API/OscillatorNode/start" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>OscillatorNode.start</code></a> and <a href="/de/docs/Web/API/OscillatorNode/stop" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>OscillatorNode.stop</code></a> is now optional and defaults to <code>0</code> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=982541" title="FIXED: Update OscillatorNode.{start, stop} to have the first argument optional and default to zero">Bug 982541</a>).</li> + <li>The method <a href="/de/docs/Web/API/Navigator/requestWakeLock" title="This Navigator.requestWakeLock() method of the Wake Lock API is used to request a MozWakeLock on any resource of the device. This means that you can prevent that resource from becoming unavailable as long as your app holds a lock for that resource. For example, a voice recording app can obtain a lock to keep the screen on during recording so that it can give prover visual feedback to the user that recording is progressing."><code>Navigator.requestWakeLock()</code></a> and the non-standard <a href="/de/docs/Web/API/MozWakeLock" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>MozWakeLock</code></a> are no longer available from the Web on Desktop (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=963366" title="FIXED: Hide navigator.requestWakeLock and MozWakeLock from the web except on Firefox OS">Bug 963366</a>).</li> + <li>The <code>DOM_VK_ENTER</code> constant has been removed from <a href="/de/docs/Web/API/KeyboardEvent" title="KeyboardEvent Objekte beschreiben eine Benutzerinteraktion mit dem Keyboard. Jedes Event beschreibt eine Taste. Der Eventtyp (keydown, keypress, oder keyup) identifiziert welche Art von Aktivität ausgeführt wurde."><code>KeyboardEvent</code></a> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=969247" title="FIXED: Get rid of related code of NS_VK_ENTER and nsIDOMKeyEvent::DOM_VK_ENTER">Bug 969247</a>).</li> + <li>Web components' <a href="/de/docs/Web/API/Document/register" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>Document.register</code></a> has been adapted to follow the behavior described in the latest version of the specification (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=856140" title="FIXED: Update document.register to adhere to the latest Custom Element spec">Bug 856140</a>).</li> + <li>Basic support for Hit regions on canvas has been added: the methods <a href="/de/docs/Web/API/CanvasRenderingContext2D/addHitRegion" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>CanvasRenderingContext2D.addHitRegion()</code></a> and <a href="/de/docs/Web/API/CanvasRenderingContext2D/removeHitRegion" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>CanvasRenderingContext2D.removeHitRegion()</code></a> have been added. These are disabled by default; to activate them set the preference <code>canvas.hitregions.enabled</code> to <code>true</code> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=966591" title="FIXED: Add basic support for Hit regions in Canvas">Bug 966591</a>).</li> + <li>The non-standard, and deprecated since Firefox 15, <a href="/de/docs/Web/API/Blob/mozSlice" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>Blob.mozSlice</code></a> is no longer supported (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=961804" title="FIXED: Drop support for Blob.mozSlice">Bug 961804</a>).</li> + <li>The non-standard <a href="/de/docs/Web/API/ArchiveReader" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>ArchiveReader</code></a> and <a href="/de/docs/Web/API/ArchiveRequest" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>ArchiveRequest</code></a> are no longer exposed to the Web (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=968883" title="FIXED: ArchiveReader and ArchiveRequest should not be exposed interfaces">Bug 968883</a>).</li> + <li>Constructors cannot be called as functions anymore. They need to be preceded by the keyword <code>new</code> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=916644" title="FIXED: Disallow calling WebIDL constructors as functions on the web">Bug 916644</a>).</li> + <li>Added support for a new value (<code>alpha</code>) for the second, optional, parameter of the <a href="/de/docs/Web/API/Canvas/getContext" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>Canvas.getContext()</code></a> method allowing to define if alpha blending must be stored or not for this context. When not, the per-pixel alpha value in this store is always <code>1.0</code>. This allows the back-end to implement a fast-track (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=982480" title="FIXED: Add support for the alpha option to the canvas context options">Bug 982480</a>).</li> +</ul> +<h2 id="SVG">SVG</h2> +<p>Gecko general:</p> +<ul> + <li><a href="/de/docs/Web/SVG/Element/feDropShadow" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code><feDropShadow></code></a>, and its interface <a href="/de/docs/Web/API/SVGFEDropShadowElement" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>SVGFEDropShadowElement</code></a>, from the Filter Effects Module are now supported (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=964200" title="FIXED: Implement Filter Effects Module feDropShadow filter">Bug 964200</a>).</li> +</ul> +<h2 id="Manifest">Manifest</h2> +<ul> + <li>The <code><a href="/en-US/Apps/Build/Manifest#precompile">precompile</a></code> manifest field is now supported, which specifies that asm.js code contained within the app should be compiled at install time, install of during first run.</li> +</ul> +<h2 id="See_also">See also</h2> +<ul> + <li>Firefox OS 1.4 Notes (will be linked to once they are published.)</li> +</ul> +<h2 id="Older_versions">Older versions</h2> +<p></p><div class="multiColumnList"> +<ul> +<li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.3">Firefox OS 1.3 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.2">Firefox OS 1.2 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.1">Firefox OS 1.1 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.0.1">Firefox OS 1.0.1 for developers</a></li></ul> +</div><p></p> +<p> </p> diff --git a/files/de/archive/b2g_os/releases/2.0/index.html b/files/de/archive/b2g_os/releases/2.0/index.html new file mode 100644 index 0000000000..175d141e00 --- /dev/null +++ b/files/de/archive/b2g_os/releases/2.0/index.html @@ -0,0 +1,112 @@ +--- +title: Firefox OS 2.0 for developers +slug: Archive/B2G_OS/Releases/2.0 +translation_of: Archive/B2G_OS/Releases/2.0 +--- +<div class="summary"> +<p>This page details the developer features newly implemented in Gecko that are specific to Firefox OS 2.0.</p> +</div> + +<div class="note"> +<p>Firefox OS 2.0's Gecko component is based on Firefox 31/32.</p> +</div> + +<h2 id="New_product_features">New product features</h2> + +<p>This section provides a summary of the new features available in Firefox OS 2.0. For more details on specific platform changes (API additions, etc.), see the <a href="#Platform_additions_in_detail">Platform additions in detail</a> section.</p> + +<dl> + <dt>NFC</dt> + <dd><span class="author-g-x59co88jbi1y2uah b i">This release includes support for device-to-device content sharing support with NFC <span class="author-g-x59co88jbi1y2uah b i">(Near Field Communication)</span>. You can pair your device with another, then <a href="/en-US/docs/Web/API/NFC_API/Using_the_NFC_API#The_P2P_Sharing_UI">swipe to share</a> your contacts, media, or favorite URLs with others.</span></dd> + <dt>Telephony</dt> + <dd><span class="author-g-x59co88jbi1y2uah b i">Firefox OS now supports both IPv4 and IPv6 addresses</span> in the network manager.</dd> + <dt>Find My Device</dt> + <dd><span class="author-g-9k649z122zgh819oqmty">If you’ve lost your Firefox OS smartphone, Find My Device can help you find it (see the <span class="author-g-9k649z122zgh819oqmty url"><a href="http://find.firefox.com">http://find.firefox.com</a> website</span>). You can see it on a map, make it play a sound and have it display a message. You can also remotely lock it or delete your personal info.</span><span class="author-g-9k649z122zgh819oqmty"> To get started, create a Firefox Account (<em>Settings > Firefox Accounts</em> on your device) and enable Find My Device (<span class="author-g-9k649z122zgh819oqmty"><em>Settings > Find My Device</em></span>).</span></dd> + <dt>Media</dt> + <dd><span class="author-g-4iwx7wjdkbf2wjjv b">You can now create your own ringtones using your own music collection, or songs you download from the Web.</span></dd> + <dt>Camera</dt> + <dd><span class="author-g-4iwx7wjdkbf2wjjv b">The Camera app now supports various focus modes: Touch, Continuous Auto and Face tracking</span>.</dd> + <dt>Productivity</dt> + <dd>We've done a visual refresh of the Email, Calender, and Clock apps.</dd> + <dt>Homescreen</dt> + <dd><span class="author-g-4f4wmtjtu8s4fjq7 b i">Firefox OS 2.0 introduces a simpler vertical-scrolling homescreen with larger icons.</span></dd> + <dt>Edge-gesture app switching</dt> + <dd><span class="author-g-4f4wmtjtu8s4fjq7 b i">Edge gestures are now available for switching between apps (swipe your thumb from the left edge of the screen to the right and vice versa, to switch between multiple open apps.)</span></dd> +</dl> + +<h2 id="New_partner_features">New partner features</h2> + +<dl> + <dt>E.ME integration</dt> + <dd>E.ME integration provides direct access to web apps while configurable search providers can search the web at the same time.</dd> +</dl> + +<h2 id="New_DevTools_features">New DevTools features</h2> + +<p>The Firefox <a href="/en-US/docs/Tools">Developer Tools</a> have had a large number of features added in Firefox versions 31 and 32; these aren't Firefox OS-specific, but you can take advantage of them when debugging your Firefox OS apps through <a href="/en-US/docs/Tools/WebIDE">WebIDE</a>. To find out more, read:</p> + +<ul> + <li><a href="https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/">Firefox Developer Tools Episode 31</a></li> + <li><a href="https://hacks.mozilla.org/2014/06/toolbox-inspector-scratchpad-improvements-firefox-developer-tools-episode-32/">Firefox Developer Tools Episode 32</a></li> +</ul> + +<h2 id="Platform_additions_in_detail">Platform additions in detail</h2> + +<div class="note"> +<p><strong>Note</strong>: Our list here includes features most important to Firefox OS. For an expanded list of general Gecko feature additions (which are generally also present in Firefox OS 2.0), consult the <a href="/en-US/docs/Mozilla/Firefox/Releases/31" title="/en-US/docs/Mozilla/Firefox/Releases/31">Firefox 31 release notes for developers</a> and <a href="/en-US/docs/Mozilla/Firefox/Releases/32" title="/en-US/docs/Mozilla/Firefox/Releases/32">Firefox 32 release notes for developers</a>.</p> +</div> + +<h3 id="Web_API">Web API</h3> + +<ul> + <li>The parameters of the <a href="/de/docs/Web/API/MozMobileNetworkInfo" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>MozMobileNetworkInfo</code></a> constructor have been made nullable (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1026727" title="FIXED: Unknown state is displayed instead of Connected during manual network selection">Bug 1026727</a>).</li> + <li>WebRTC: <span class="author-g-41mtsa1hor7b107c i"><a href="/de/docs/Web/API/MozGetUserMedia" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>mozGetUserMedia</code></a>, <a href="/de/docs/Web/API/MozRTCPeerConnection" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>mozRTCPeerConnection</code></a>, and <a href="/de/docs/Web/API/DataChannels" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben; bitte erwäge, mitzuwirken!"><code>DataChannels</code></a> are supported by default</span>.</li> + <li>New constraints for <a href="https://developer.mozilla.org/en-US/docs/Glossary/WebRTC">WebRTC</a>'s <a class="new" href="https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUserMedia.getUserMedia" title="The documentation about this has not yet been written; please consider contributing!"><code>getUserMedia()</code></a>, <code>width</code>, <code>height</code>, and <code>framerate</code>, have been added, to limit stream dimensions and frame rate (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=907352" title="FIXED: Implement width/height/framerate gUM constraints">bug 907352</a>): + <pre class="brush: json language-json"><code class="language-json"><span class="token punctuation">{</span> + mandatory<span class="token punctuation">:</span> <span class="token punctuation">{</span> + width<span class="token punctuation">:</span> <span class="token punctuation">{</span> min<span class="token punctuation">:</span> <span class="token number">640</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> + height<span class="token punctuation">:</span> <span class="token punctuation">{</span> min<span class="token punctuation">:</span> <span class="token number">480</span> <span class="token punctuation">}</span> + <span class="token punctuation">}</span><span class="token punctuation">,</span> + optional<span class="token punctuation">:</span> <span class="token punctuation">[</span> + <span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token number">650</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> + <span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token punctuation">{</span> min<span class="token punctuation">:</span> <span class="token number">650</span> <span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">,</span> + <span class="token punctuation">{</span> frameRate<span class="token punctuation">:</span> <span class="token number">60</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> + <span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token punctuation">{</span> max<span class="token punctuation">:</span> <span class="token number">800</span> <span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">,</span> + <span class="token punctuation">]</span> +<span class="token punctuation">}</span></code></pre> + </li> + <li>RTSP streaming support is now available (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=929372" title="FIXED: [RTSP][User Story]Support basic RTSP streaming function.">Bug 929372</a>).</li> + <li>The Resource Statistics API is implemented (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=951976" title="FIXED: API for Resource Statistics">Bug 951976</a>).</li> + <li>The Resource Timing API is implemented (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=822480" title="FIXED: Add in the Resource Timing API">Bug 822480</a>).</li> + <li>fastSeek API is now available for media elements (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=778077" title="FIXED: Implement fastSeek API on media elements (and switch the built-in controls over to it)">Bug 778077</a>).</li> + <li><span class="author-g-41mtsa1hor7b107c i">The <a href="/en-US/docs/Web/API/Network_Information_API">Network Information API</a> is now exposed to Firefox OS (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=960426" title="FIXED: Support Network Information API in Firefox OS">Bug 960426</a>).</span></li> + <li><span class="author-g-41mtsa1hor7b107c i"><span class="author-g-41mtsa1hor7b107c i">The Wifi capabilities of the device can now be returned using <code>WifiManager.getCapabilities()</code> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1002314" title="FIXED: [B2G]To have a webapi providing WIFI capabilities of device">Bug 1002314</a>).</span></span></li> + <li>The <a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator.vibrate" title="The Navigator.vibrate() method pulses the vibration hardware on the device, if such hardware exists. If the device doesn't support vibration, this method has no effect. If a vibration pattern is already in progress when this method is called, the previous pattern is halted and the new one begins instead."><code>Navigator.vibrate()</code></a> method behavior has been adapted to the latest specification: too long vibrations are now truncated (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1014581" title="FIXED: Update Vibration API to conform to latest W3C spec">bug 1014581</a>).</li> + <li><span class="author-g-41mtsa1hor7b107c i">The <a href="/en-US/docs/Web/API/Device_Storage_API">Device Storage API</a> now has mount and unmount capabilities (privileged) (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=971612" title='FIXED: Implement "mount", "unmount" API for device storage'>Bug 971612</a>).</span></li> + <li><span class="author-g-41mtsa1hor7b107c i"><span class="author-g-41mtsa1hor7b107c i">The Feature Detection API is now available (privileged) (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=983502" title="FIXED: Implement and expose the feature detection API to privileged apps">Bug 983502</a>).</span></span></li> + <li> The <a class="new" href="https://developer.mozilla.org/en-US/docs/Web/API/MSISDN_Verification_API">MSISDN Verification API</a> has been added (privileged) (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=988469" title="FIXED: MSISDN verification API for privileged apps">bug 988469</a>).</li> + <li>A new CameraControl API is now available (privileged) (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=909542" title="FIXED: Camera Control API clean-up/streamline">Bug 909542</a>).</li> + <li>The <a href="https://developer.mozilla.org/en-US/docs/Web/API/Data_Store_API">Data Store API</a> has been made available to <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers">Web Workers</a> (certified) (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=949325" title="FIXED: C++ wrapper to support DataStore API on the worker">bug 949325</a>).</li> + <li>The <a href="/en-US/docs/Web/API/Device_Storage_API">Device Storage API</a> now uses the File System API spec (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=910412" title="FIXED: Change DeviceStorage API to use FileSystem API spec">Bug 910412</a>).</li> + <li><span class="author-g-41mtsa1hor7b107c i">The deprecated Audio Data API has been removed</span> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=927245" title="FIXED: Remove deprecated Audio Data API implementation">Bug 927245</a>).</li> +</ul> + +<h3 id="CSS">CSS</h3> + +<ul> + <li><code>position:sticky</code> is now supported, and used in Gaia app layout (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=886646" title="FIXED: implement position:sticky">Bug 886646</a>).</li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow" title="The CSS flex-grow property specifies the flex grow factor of a flex item."><code>flex-grow</code></a> and <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink" title="The CSS flex-shrink property specifies the flex shrink factor of a flex item."><code>flex-shrink</code></a> can now to transition between zero and non-zero values (<a class="external external-icon" href="https://bugzilla.mozilla.org/show_bug.cgi?id=996945" title="FIXED: Allow flex-grow / flex-shrink to transition between zero and nonzero values">bug 996945</a>).</li> +</ul> + +<h3 id="Technology_support_improvements">Technology support improvements</h3> + +<ul> + <li>Firefox OS 2.0 now supports H.264 video hardware, allowing you to create and playback video encoded using this codec much more efficiently. See <a href="https://developer.mozilla.org/en-US/Firefox_OS/Media_support">Media support on Firefox OS</a> for details.</li> +</ul> + +<h2 id="Older_versions">Older versions</h2> + +<p></p><div class="multiColumnList"> +<ul> +<li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.4">Firefox OS 1.4 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.3">Firefox OS 1.3 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.2">Firefox OS 1.2 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.1">Firefox OS 1.1 for developers</a></li><li><a href="/en-US/docs/Mozilla/Firefox_OS/Releases/1.0.1">Firefox OS 1.0.1 for developers</a></li></ul> +</div><p></p> diff --git a/files/de/archive/b2g_os/releases/index.html b/files/de/archive/b2g_os/releases/index.html new file mode 100644 index 0000000000..3edbcd4c75 --- /dev/null +++ b/files/de/archive/b2g_os/releases/index.html @@ -0,0 +1,24 @@ +--- +title: Firefox OS developer release notes +slug: Archive/B2G_OS/Releases +tags: + - Firefox OS + - NeedsTranslation + - TopicStub +translation_of: Archive/B2G_OS/Releases +--- +<h2 id="Firefox_OS_release_notes_by_version">Firefox OS release notes by version</h2> +<p>This section provides articles covering each new release of Gaia and Gecko for Firefox OS, explaining what features were added and bugs eliminated in each update. There is also a linked summary table showing what APIs are supported by each version of Firefox OS.</p> +<div class="multiColumnList"> + {{ListSubpages("",1,0,1)}}</div> +<h2 id="Other_supporting_information">Other supporting information</h2> +<dl> + <dt> + <a href="/en-US/docs/Mozilla/Firefox_OS/API_support_table">Firefox OS API support table</a></dt> + <dd> + Lists the different APIs available, and what versions of Firefox have support for them.</dd> + <dt> + <a href="/en-US/docs/Web/Apps/App_permissions">App permissions</a></dt> + <dd> + Lists hosted, privileged and certified APIs, along with information on the permissions they need to have set in the App Manifest of your installable apps, such as the manifest permission name, app type required, description, access property, and default permission.</dd> +</dl> diff --git a/files/de/archive/b2g_os/simulator/index.html b/files/de/archive/b2g_os/simulator/index.html new file mode 100644 index 0000000000..5fa8770578 --- /dev/null +++ b/files/de/archive/b2g_os/simulator/index.html @@ -0,0 +1,86 @@ +--- +title: Firefox-OS-Simulator +slug: Archive/B2G_OS/Simulator +translation_of: Archive/B2G_OS/Simulator +--- +<div class="note"> +<p>Diese Seite beschreibt den Firefox-OS-Simulator für Entwickler für Firefox OS 1.2 oder neuer. Wenn Sie Apps für Firefox OS 1.1 entwickeln, sollten Sie sich stattdessen die Dokumentation für <a href="/docs/Tools/Firefox_OS_1.1_Simulator">Firefox-OS-1.1-Simulator</a> ansehen.</p> +</div> + +<p><span style="line-height: 1.5;">Der Firefox-OS-Simulator ist eine Version der höheren Schichten von Firefox OS, die ein Firefox-OS-Gerät simuliert, aber auf dem Desktop läuft</span><span style="line-height: 1.5;">. Dies bedeutet, dass Sie in vielen Fällen kein echtes Gerät benötigen, um Ihre App zu testen und zu debuggen. Er läuft in einem Fenster mit der selben Größe wie ein Firefox-OS-Gerät, enthält die Benutzeroberfläche sowie die integrierten Apps von <span style="line-height: 1.5;">FirefoxOS</span> und simuliert viele der APIs eines Firefox-OS-Geräts</span><span style="line-height: 1.5;">.</span></p> + +<p><span style="line-height: 1.5;">Der Simulator wird als Firefox-Add-on gepackt und verteilt. Sobald Sie ihn heruntergeladen und in Firefox installiert haben, können Sie ihn ausführen, Apps darauf laden und mit dem</span><span style="line-height: 1.5;"> </span><a href="/Firefox_OS/Using_the_App_Manager" style="line-height: 1.5;">App-Manager</a><span style="line-height: 1.5;"> Entwicklerwerkzeuge einsetzen.</span></p> + +<h2 id="Installation"><span style="line-height: 1.5;">Installation</span></h2> + +<p><span style="line-height: 1.5;">Um den Simulator zu installieren, klicken Sie auf die folgende Schaltfläche. (Es stehen mehrere Versionen zur Verfügung und zwecks maximaler Flexibilität sollten Sie alle installieren):</span></p> + +<p><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/" style="margin-bottom: 20px; padding: 10px; color: white; text-align: center; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; display: inline-block; background-color: rgb(129, 188, 46); white-space: nowrap; text-shadow: rgba(0, 0, 0, 0.247059) 0px 1px 0px; box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 0px 0px, rgba(0, 0, 0, 0.298039) 0px -1px 0px 0px inset;">Simulator installieren</a></p> + +<p>Um den Simulator zu starten, lesen sie die <a href="/Firefox_OS/Using_the_App_Manager#Using_a_Firefox_OS_Simulator_Add-on" style="font-size: 14px; font-weight: normal; line-height: 1.5;">Anweisungen in der Dokumentation des App-Managers</a>. Sobald der Simulator läuft, können Sie Apps darauf laden und dann mit dem App-Manager debuggen, genau wie mit einem echten Gerät. Ich habe unter Windows 7, Firefox 37.0.1 und mit Firefox OS Simulator die Erfahrung gemacht, dass erster Start in der WebIDE klappt nicht, dafür funktioniert 2. oder 3. Start. Auch dann, wenn eine Meldung: <em>"Zeitüberschreitung bei der operation: connecting to runtime Firefox OS 2.0</em>" in der WebIDE angezeigt wird.</p> + +<h2 id="Die_Simulator-Oberfläche" style="line-height: 30px;">Die Simulator-Oberfläche</h2> + +<p><span style="line-height: 22.00800132751465px;">Der Simulator erscheint als eigenes Fenster, so dass der simulierte Bildschirm 320×480 Pixel groß ist. Um Berührereignisse zu simulieren, können Sie mit der Maustaste klicken und die Maus bei gedrückter Taste ziehen. Durch Klicken und Ziehen von rechts nach links vom Startbildschirm aus sehen Sie also die integrierten Apps, sowie solche, die Sie hinzugefügt haben</span><span style="line-height: 22.00800132751465px;">:</span></p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/7569/simulator-1.2_de.png" style="width: 810px; height: 625px; display: block; margin: 0px auto;"></p> + +<p>Der Simulator verfügt am unteren Rand über deine Symbolleiste mit zwei Schaltflächen:</p> + +<ul> + <li>Die linke Schaltfläche bringt Sie zum Startbildschirm oder schaltet den Simulator aus, wenn Sie sie gedrückt halten,</li> + <li>die rechte Schaltfläche ändert die Ausrichtung des Simulator zwischen Hoch- und Querformat. Dies erzeugt das Ereignis <a href="https://developer.mozilla.org/docs/WebAPI/Managing_screen_orientation#Listening_orientation_change" title="/docs/WebAPI/Detecting_device_orientation">orientationchange</a>.</li> +</ul> + +<h2 id="Einschränkungen_des_Simulators">Einschränkungen des Simulators</h2> + +<p>Beachten Sie, dass der Firefox-OS-Simulator keine perfekte Simulation ist.</p> + +<h3 id="Hardware-Einschränkungen">Hardware-Einschränkungen</h3> + +<p>Abgesehen von der Bildschirmgröße simuliert der Simulator keine hardwareseitigen Einschränkungen eines Firefox-OS-Geräts, wie den verfügbaren Speicher oder die CPU-Geschwindigkeit.</p> + +<h3 id="Audio-Video-Codecs">Audio-/Video-Codecs</h3> + +<p>Die folgenden Codecs hängen von hardwarebeschleunigter Dekodierung ab und werden daher noch nicht unterstützt:</p> + +<ul> + <li>MP3</li> + <li>AAC</li> + <li>H.264 (MP4)</li> + <li>WebM</li> +</ul> + +<p>Dies bedeutet, dass es nicht möglich ist, mit dem Simulator die Wiedergabe von Videos in Apps und Websites wie YouTube zu testen, die diese Codecs benötigen.</p> + +<h3 id="Nicht_unterstützte_APIs"><a name="Unsupported-APIs">Nicht unterstützte APIs</a></h3> + +<p>Bestimmte APIs, die auf dem Gerät funktionieren, funktionieren nicht im Simulator, was meist daran liegt, weil die unterstützende Hardware auf dem Desktop nicht verfügbar ist. Wir haben Simulationen für bestimmte APIs, wie Geolokation, eingebaut und fügen in zukünftigen Versionen vermutlich weitere hinzu. Derzeug werden die folgenden APIs allerdings nicht unterstützt. Deren Verwendung kann zu Fehlermeldungen oder einfach falschen Ergebnissen führen:</p> + +<ul> + <li><a href="/WebAPI/WebTelephony" title="/WebAPI/WebTelephony">Telephony</a></li> + <li><a href="/docs/WebAPI/WebSMS" title="/docs/WebAPI/WebSMS">WebSMS</a></li> + <li><a href="/docs/WebAPI/WebBluetooth" title="/docs/WebAPI/WebBluetooth">WebBluetooth</a></li> + <li><a href="/docs/WebAPI/Using_Light_Events" title="/docs/WebAPI/Using_Light_Events">Ambient Light</a></li> + <li><a href="/docs/WebAPI/Proximity" title="/docs/WebAPI/Proximity">Proximity</a></li> + <li><a href="/docs/WebAPI/Network_Information" title="/docs/WebAPI/Network_Information">Network Information</a></li> + <li><a href="/docs/Online_and_offline_events" title="/docs/Online_and_offline_events">navigator.onLine and offline events</a></li> + <li><a href="/docs/WebAPI/Vibration" title="/docs/WebAPI/Vibration">Vibration</a></li> +</ul> + +<h2 id="Hilfe_erhalten"><a name="Simulator-help"></a>Hilfe erhalten</h2> + +<p><span style="line-height: 1.5;">Wenn Sie eine Frage haben, versuchen Sie, uns auf der </span><a href="https://lists.mozilla.org/listinfo/dev-developer-tools" style="line-height: 1.5;">Mailingliste dev-developer-tools</a><span style="line-height: 1.5;"> oder in </span><a href="irc://irc.mozilla.org/#devtools" style="line-height: 1.5;">#devtools auf irc.mozilla.org</a><span style="line-height: 1.5;"> zu erreichen.</span></p> + +<h3 id="Ausführliche_Protokollierung_aktivieren"><a name="Simulator-verbose-logging"></a>Ausführliche Protokollierung aktivieren</h3> + +<p>In der <a href="/docs/Tools/Web_Console">Web-Konsole</a>, die Sie über den <a href="/Firefox_OS/Using_the_App_Manager#Debugging">App-Manager</a> mit Ihrer App verknüpfen können, werden Nachrichten, von Ihrer App aufgezeichnet. Wenn Sie Nachrichten frühzeitig erfassen möchten, die während des Starts erscheinen, bevor die Konsole verbunden wird und funktioniert, können Sie im Simulator die ausführliche Protokollierung aktivieren.</p> + +<p>Öffnen Sie about:config und erstellen Sie ein neue Einstellung. Der Name der Einstellung hängt von der Version des Simulators ab:</p> + +<ul> + <li>extensions.fxos_1_3_simulator@mozilla.org.sdk.console.logLevel für Firefox OS 1.3</li> + <li>extensions.fxos_1_2_simulator@mozilla.org.sdk.console.logLevel für Firefox OS 1.2</li> +</ul> + +<p>Setzen Sie den String-Wert auf „all“ und deaktivieren und reaktivieren Sie das Add-on im Add-ons-Manager. Jetzt erscheinen zusätzliche Nachrichten über die Ausführung des Simulators in der <a href="/docs/Tools/Browser_Console">Browser-Konsole</a>.</p> diff --git a/files/de/archive/b2g_os/troubleshooting/index.html b/files/de/archive/b2g_os/troubleshooting/index.html new file mode 100644 index 0000000000..a83cc46042 --- /dev/null +++ b/files/de/archive/b2g_os/troubleshooting/index.html @@ -0,0 +1,44 @@ +--- +title: Troubleshooting Firefox OS +slug: Archive/B2G_OS/Troubleshooting +translation_of: Archive/B2G_OS/Troubleshooting +--- +<div class="summary"> +<p>This article provides tips for resolving common problems you may have while using Firefox OS. Please feel free to add more content to this page!</p> +</div> + +<h2 id="Networking_problems">Networking problems</h2> + +<p>If you are having trouble connecting to Wi-Fi networks, it may be helpful to delete the Wi-Fi configuration file:</p> + +<pre>adb shell rm /data/misc/wifi/wpa_supplicant.conf +adb reboot +</pre> + +<div class="note"> +<p><strong>Note:</strong> These instructions assume you have <a href="/en-US/docs/Mozilla/Firefox_OS/Installing_on_a_mobile_device#Configuring_the_udev_rule_for_your_device" title="en-US/docs/Mozilla/Firefox_OS/Installing_on_a_mobile_device#Configuring_the_udev_rule_for_your_device">configured the udev settings</a> for your device.</p> +</div> + +<h2 id="Bricked_Phone">Bricked Phone</h2> + +<p>If you happen to brick the phone, by, for example, trying to flash wrong images on it, try rebooting into the bootloader (fastboot or heimdal depending on your phone). The exact sequence varies depending on the phone. Try removing the usb cable, removing and then re-inserting the battery. For the Unagi and Otoro, press and hold volume up and power for several seconds until you see the splash screen. Verify that the phone is in bootloader mode by using <code>fastboot devices</code> (or <code>heimdall devices</code> for some Samsung phones). Once you can see your phone using <code>fastboot devices</code>, you can use <code>./flash.sh </code>to flash your image for Unagi.</p> + +<h2 id="Flashing_Red_LED_(otorounagi)">Flashing Red LED (otoro/unagi)</h2> + +<p>This means that the battery is too low to boot the phone. You can let it charge for a while (until the red LED stops flashing and a little bit longer), or you can unplug the USB cable, remove the battery, insert the USB cable, and re-insert the battery.</p> + +<h2 id="Failure_to_receive_SMS_after_switching_over_from_iPhone">Failure to receive SMS after switching over from iPhone</h2> + +<p>If you have switched your SIM card over from an iPhone to a Firefox OS (or another different platform) device, you may run into a problem whereby you can no longer receive text messages from iPhone users. This is because iPhone to iPhone SMS messages are sent using <a href="https://www.apple.com/ios/messages/">iMessage</a>, which works by routing iPhone-to-iPhone messages through Apple's servers instead of sending them as actual text messages, saving iPhone users money. Unfortunately when you leave iPhone, iMessage has no way of knowing you've left and SMS from other iPhone users will still go through iMessage, meaning that you won't receive them.</p> + +<p>To fix this you have to turn off iMessage for your SIM; there is a guide on how to do this at imore.com — read <a href="http://www.imore.com/text-issues-switching-iphone-android-heres-fix">Here's how to turn off iMessage</a>.</p> + +<h2 id="Device_not_appearing_to_ADB_on_OSX">Device not appearing to ADB on OSX</h2> + +<p>When running adb devices in OSX, some devices may simply not appear in the device list, for a variety of reasons. This can be fixed by adding your device's vendor ID to your <code>~/.android/adb_usb.ini</code> file, to provide a hint to ADB for finding your device.</p> + +<div class="note"> +<p><strong>Note</strong>: See <a href="http://stackoverflow.com/a/7136003/1027966">this stackoverflow post</a> for a lot more detail, including how to find the vendor ID of the attached device, and how to add it into <code>adb_usb.ini</code>.</p> +</div> + +<p> </p> diff --git a/files/de/archive/css3/index.html b/files/de/archive/css3/index.html new file mode 100644 index 0000000000..51f6b689bb --- /dev/null +++ b/files/de/archive/css3/index.html @@ -0,0 +1,976 @@ +--- +title: CSS3 +slug: Archive/CSS3 +tags: + - CSS + - CSS Bezüge + - Fortgeschritten +translation_of: Archive/CSS3 +--- +<p><span class="seoSummary"><strong>CSS3</strong> ist die neuste Version der <em>Cascading Style Sheets</em> Sprache und erweitert damit CSS2.1. Sie bringt langerwartete Neuheiten, wie abgerundete Ecken, Schatten, <a href="/en-US/docs/Web/Guide/CSS/Using_CSS_gradients" title="Using CSS gradients">Verläufe</a>, <a href="/en-US/docs/Web/Guide/CSS/Using_CSS_transitions" title="CSS transitions">Übergänge</a> und <a href="/en-US/docs/Web/Guide/CSS/Using_CSS_animations" title="CSS animations">Animationen</a>, sowie neue Layouts wie z.B. <a href="/en-US/docs/Web/Guide/CSS/Using_multi-column_layouts" title="Using CSS multi-column layouts">multi-columns</a>, <a href="/en-US/docs/Web/Guide/CSS/Flexible_boxes">flexible box</a> oder grid layouts.</span> Experimentelle Teile sind vendor-prefixed und sollten entweder in Productionsumgebungen vermieden oder mit großer Vorsicht verwendet werden, da sich sowohl Syntax, als auch Semantik in Zukunft noch ändern könnten.</p> + +<h2 id="Module_und_der_Standardisierungsprozess">Module und der Standardisierungsprozess</h2> + +<p>CSS2 brauchte 9 Jahre, von August 2002 bis Juni 2011, um als empfohlen angesehen zu werden. Was daran lag, dass ein paar zweitrangige Funktionen alle Vorschriften zurückhielten. Um die Standardisierung der fehlerfreien Funktionen zu beschleunigen, hat die <a class="external external-icon" href="http://www.w3.org/blog/CSS/" title="http://www.w3.org/blog/CSS/">CSS Working Group</a> <a href="https://www.w3.org/blog/CSS/"> </a>der W3C in der <a class="external external-icon" href="http://fantasai.inkedblade.net/weblog/2011/inside-csswg/modules" title="http://fantasai.inkedblade.net/weblog/2011/inside-csswg/modules">Beijing-Doktrin </a>beschlossen die CSS Sprache in mehrere Bausteine, Module genannt, zu zerlegen. Jedes Modul ist jetzt ein eigenständiger Teil der Sprache und bewegt sich mit eigener Geschwindigkeit zur Standardisierung zu. Während manche Module bereits von der W3C empfohlen werden, sind andere noch im frühen Entwicklungsstadium. Neue Module werden hinzugefügt, wenn neue Funktionen gebraucht werden.</p> + +<p><a href="/@api/deki/files/6120/=CSS_Modules_and_Snapshots.png" title="CSS_Modules_and_Snapshots.png"><img alt="CSS Modules and Snapshots as defined since CSS3" class="internal lwrap" src="/files/3623/CSS_Modules_and_Snapshots.png" style="float: left; width: 550px;"> </a>Formal gibt es kein CSS3 Standard. Da jedes Modul für sich standardisiert wird, besteht das Standard-CSS aus einem CSS2.1, dass verbessert und durch vollständige Module, die nicht zwingend auf dem selben Stand sind, erweitert wurde. Zu jeder Zeit kann eine Schattenkopie des CSS Standard definiert werden, indem man CSS2.1 und die ausgereiften Module betrachtet.</p> + +<p>Das W3 Konsortium veröffentlicht regelmäßig solche Schattenkopien, wie in <a class="external" href="http://www.w3.org/TR/css-beijing/" title="http://www.w3.org/TR/css-beijing/">2007</a>, <a class="external" href="http://www.w3.org/TR/css-2010/" title="http://www.w3.org/TR/css-2010/">2010</a> und <a href="https://www.w3.org/TR/css-2015/">2015</a>.</p> + +<p>Obwohl momentan kein Modul über dem Level 3 standardisiert wurde, wird sich das in Zukunft ändern. Manche Module, wie Selectors 4 oder CSS Borders und Backgrounds Level 4 sind bereits im Editor's Draft, obwohl sie noch nicht den First Published Working Draft Status erreicht haben.</p> + +<h2 id="CSS_Modulstatus" style="">CSS Modulstatus</h2> + +<h3 id="Stabile_Module">Stabile Module</h3> + +<p>Ein paar CSS Module sind bereits ziemlich stabil und haben bereits eines der drei Empfehlungslevel der CSSWG erreicht: Empfehlungskandidat, vorgeschlagene Empfehlung der Empfohlen. Diese können ohne Prefixe benutzt werden und sind weitesgehend stabil, obwohl ein paar Funktionen noch auf den Empfehlungskandidat-Status herabgesetzt werden können.</p> + +<p>These modules extend and amend the CSS2.1 specification which build the core of the specification. Together with it, they are the current snapshot of the CSS specification.</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td class="thirdColumn greenBg"><strong>{{ SpecName("CSS3 Colors", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Colors") }} since June 7th, 2011</td> + </tr> + <tr> + <td colspan="2"> + <p>Adds the {{ cssxref("opacity") }} property, and the <code>hsl</code><code>()</code>, <code>hsla()</code>, <code>rgba()</code> and <code>rgb()</code> functions to create {{cssxref("<color>")}} values. It also defines the <code>currentColor</code> keyword as a valid color.</p> + + <p>The <code>transparent</code> color is now a real color (thanks to the support for the alpha channel) and is a now an alias for <code>rgba(0,0,0,0.0)</code> .</p> + + <p>It deprecates the <a href="http://www.w3.org/TR/CSS2/ui.html#system-colors">system-color keywords that shouldn't be used in a production environment anymore</a>.</p> + </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Selectors", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Selectors") }} since September 29th, 2011</td> + </tr> + <tr> + <td colspan="2"> + <p>Adds:</p> + + <ul> + <li>Substring matching attribute selectors, <code>E[attribute^="value"]</code>, <code>E[attribute$="value"]</code>, <code>E[attribute*="value"]</code> .</li> + <li>New pseudo-classes: {{ cssxref(":target") }}, {{ cssxref(":enabled") }} and {{ cssxref(":disabled") }}, {{ cssxref(":checked") }}, {{ cssxref(":indeterminate") }}, {{ cssxref(":root") }}, {{ cssxref(":nth-child") }} and {{ cssxref(":nth-last-child") }}, {{ cssxref(":nth-of-type") }} and {{ cssxref(":nth-last-of-type") }}, {{ cssxref(":last-child") }}, {{ cssxref(":first-of-type") }} and {{ cssxref(":last-of-type") }}, {{ cssxref(":only-child") }} and {{ cssxref(":only-of-type") }},{{ cssxref(":empty") }}, and {{ cssxref(":not") }}.</li> + <li>Pseudo-elements are now characterized by two colons rather than one: <code>:after</code> becomes {{ cssxref("::after") }}, <code>:before</code> becomes {{ cssxref("::before") }}, <code>:first-letter</code> becomes {{ cssxref("::first-letter") }}, and <code>:first-line</code> becomes {{ cssxref("::first-line") }}.</li> + <li>The new <em>general sibling combinator</em> ( <code>h1~pre</code> ).</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<p>The <a class="external" href="http://dev.w3.org/csswg/selectors4/" title="http://dev.w3.org/csswg/selectors4/">next iteration of the Selectors specification</a> is already in progress, though it still hasn't reached the First Public Working Draft stage.</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Namespaces", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Namespaces") }} since September 29th, 2011</td> + </tr> + <tr> + <td colspan="2"> + <p>Adds the support for the XML Namespaces by defining the notion of <em>CSS qualified name</em>, using the ' <code>|</code> ' syntax and adding the {{ cssxref("@namespace") }} CSS at-rule.</p> + </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Media Queries", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Media Queries") }} since June 19th, 2012</td> + </tr> + <tr> + <td colspan="2"> + <p>Extends the former media type ( <code>print</code>, <code>screen</code>, <code>…</code> ) to a full language allowing <a href="/en/CSS/Media_queries" title="en/CSS/Media_queries">queries on the device media capabilities</a> like <code>only screen and (color)</code> .</p> + + <p>Media queries are not only used in CSS document but also in some attributes of HTML Elements, like the {{ htmlattrxref("media","link") }} attribute of the {{ HTMLElement("link") }} element.</p> + </td> + </tr> + </tbody> +</table> + +<p>The <a href="http://dev.w3.org/csswg/mediaqueries4" title="http://dev.w3.org/csswg/mediaqueries4">next iteration of this specification</a> is in the work, allowing to tailor a Web site regarding the input methods available on the user agent, with new media features like <code>hover</code> or <code>pointer</code>. Detection of EcmaScript support, using the <code>script</code> media features is also proposed.</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Style", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Style") }} since November 7th, 2013</td> + </tr> + <tr> + <td colspan="2">Formally defines the syntax of the content of the HTML <a href="/en/HTML/Global_attributes#attr-style" title="en/HTML/Global_attributes#attr-style"> <code>style</code> </a> global attribute.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Backgrounds", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Backgrounds") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Adds:</p> + + <ul> + <li>Support, on backgrounds, for any type of {{cssxref("<image>")}}, and not only for <code>uri()</code> defined ones.</li> + <li>Support for multiple background images.</li> + <li>The {{ cssxref("background-repeat") }} <code>space</code> and <code>round</code> values, and for the 2-value syntax of this CSS property.</li> + <li>The {{ cssxref("background-attachment") }} <code>local</code> value.</li> + <li>The CSS {{ cssxref("background-origin") }}, {{ cssxref("background-size") }}, and {{ cssxref("background-clip") }} properties.</li> + <li>Support for curved border corners, with the CSS {{ cssxref("border-radius") }}, {{ cssxref("border-top-left-radius") }}, {{ cssxref("border-top-right-radius") }}, {{ cssxref("border-bottom-left-radius") }}, and {{ cssxref("border-bottom-right-radius") }} properties.</li> + <li>Support for the use of an {{cssxref("<image>")}} as the border with the CSS {{ cssxref("border-image") }}, {{ cssxref("border-image-source") }}, {{ cssxref("border-image-slice") }}, {{ cssxref("border-image-width") }}, {{ cssxref("border-image-outset") }}, and {{ cssxref("border-image-repeat") }} properties.</li> + <li>Support for shadows of the element with the CSS {{ cssxref("box-shadow") }} property.</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<p>The <a class="external" href="http://dev.w3.org/csswg/css4-background/" title="http://dev.w3.org/csswg/css4-background/">CSS4 iteration of the Backgrounds and Borders specification</a> is already in progress, though it still hasn't reached the First Public Working Draft stage, it plans to add the ability to clip a border (with the CSS {{ cssxref("border-clip") }}, {{ cssxref("border-clip-top") }}, {{ cssxref("border-clip-right") }}, {{ cssxref("border-clip-bottom") }}, and {{ cssxref("border-clip-left") }} properties) or to control the shape of the border in a corner (using the CSS {{ cssxref("border-corner-shape") }} property).</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Multicol", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Multicol") }}</td> + </tr> + <tr> + <td colspan="2">Adds support for easy multi-column layouts using the CSS {{ cssxref("columns") }}, {{ cssxref("column-count") }}, {{ cssxref("column-fill") }}, {{ cssxref("column-gap") }}, {{ cssxref("column-rule") }}, {{ cssxref("column-rule-color") }}, {{ cssxref("column-rule-style") }}, {{ cssxref("column-rule-width") }}, {{ cssxref("column-span") }}, {{ cssxref("column-width") }}, {{ cssxref("break-after") }}, {{ cssxref("break-before") }}, and {{ cssxref("break-inside") }}.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Speech", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Speech") }}</td> + </tr> + <tr> + <td colspan="2">Defines the <code>speech</code> media type, an aural formatting model and numerous properties specific for speech-rendering user agents.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Images", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Images") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Defines the {{cssxref("<image>")}} data type.</p> + + <p>Extends the <code>url()</code> syntax to support image slices using media fragments.</p> + + <p>Adds:</p> + + <ul> + <li>The <code>dppx</code> unit to the {{cssxref("<resolution>")}} data type.</li> + <li>The <code>image()</code> function as a more flexible alternative to <code>url()</code> to define an image from an url.<br> + <em><strong>At risk</strong> </em> <strong> <em>:</em> </strong> <em> due to insufficient browser support, standardization of the <code>image()</code> function may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li> + <li>Support for <code>linear-gradient()</code>, <code>repeating-linear-gradient()</code>, <code>radial-gradient()</code> and <code>repeating-radial-gradient()</code>.</li> + <li>The ability to define how a replaced element should fit in its element, using the CSS {{ cssxref("object-fit") }} property.<br> + <em><strong>At risk</strong> </em> <strong> <em>:</em> </strong> <em> due to insufficient browser support, standardization of the {{ cssxref("object-fit") }} and property may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li> + <li>The ability to override the resolution and orientation of an external image using the CSS {{ cssxref("image-resolution") }} and {{ cssxref("image-orientation") }} properties.<br> + <em><strong>At risk</strong> </em> <strong> <em>:</em> </strong> <em> due to insufficient browser support, standardization of the {{ cssxref("image-resolution") }} and {{ cssxref("image-orientation") }} properties may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li> + </ul> + </td> + </tr> + </tbody> +</table> + +<p>The <a href="#Images_(Level_4)">CSS Image Values and Replaced Content Level 4</a> which will supersede CSS Image Level 3 is in development and is a {{Spec2("CSS4 Images")}}.</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Values", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Values") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Makes <code>initial</code> and <code>inherit</code> keywords usable on any CSS property.</p> + + <p>Formally defines the CSS data types of CSS 2.1, that were implicitely defined by their grammar token and some textual precisions.</p> + + <p>Adds:</p> + + <ul> + <li>Definition for new font-relative length units: <code>rem</code> and <code>ch</code> .</li> + <li>Definition for viewport-relative length units: <code>vw</code>, <code>vh</code>, <code>vmax</code>, and <code>vmin</code> .</li> + <li>Precision about the real size of the absolute length units, which are not really absolute, but defined in relation with the <em>reference pixel</em> .</li> + <li>Definition for {{ cssxref("<angle>") }}, {{cssxref("<time>")}}, {{cssxref("<frequency>")}}, {{cssxref("<resolution>")}}.</li> + <li>Normative value to the definition of {{cssxref("<color>")}}, {{cssxref("<image>")}}, and {{cssxref("<position>")}}.</li> + <li>Definition for the {{ cssxref("calc", "calc()") }}, {{ cssxref("attr", "attr()")}}, and <code>toggle()</code> functional notations.<br> + <em><strong>At risk:</strong> due to insufficient browser support, standardization of the <code>calc()</code>, <code>attr()</code>, and <code>toggle()</code> functional notations may be postponed to </em> <em>the next iteration of this module</em><em>.</em></li> + </ul> + </td> + </tr> + </tbody> +</table> + +<p>Several types definition, like <code><ident></code> and <code><custom-ident></code>, have been deferred to CSS Values and Units Module Level 4.</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Flexbox", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Flexbox") }}</td> + </tr> + <tr> + <td colspan="2">Add a flexbox layout to the CSS {{ cssxref("display") }} property and several new CSS properties to control it: {{ cssxref("flex") }}, {{ cssxref("flex-align") }}, {{ cssxref("flex-direction") }}, {{ cssxref("flex-flow") }}, {{ cssxref("flex-item-align") }}, {{ cssxref("flex-line-pack") }}, {{ cssxref("flex-order") }}, {{ cssxref("flex-pack") }}, and {{ cssxref("flex-wrap") }}.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Conditional", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Conditional") }}</td> + </tr> + <tr> + <td colspan="2">Adds features for conditional processing of parts of style sheets, conditioned on capabilities of the browser or the document the style sheet is being applied to. It consists mainly in allowing nested at-rules inside {{ cssxref("@media") }} and the adding of a new CSS at-rule, {{ cssxref("@supports") }}, and a new DOM method {{domxref("CSS.supports()")}}.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Text Decoration", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Text Decoration") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Extends:</p> + + <ul> + <li>the CSS {{ cssxref("text-decoration") }} property by making it a shorthand for the CSS {{ cssxref("text-decoration-line") }}, {{ cssxref("text-decoration-color") }}, and {{ cssxref("text-decoration-style") }} properties. And adds the {{ cssxref("text-decoration-skip") }}, and {{ cssxref("text-underline-position") }} properties.</li> + </ul> + + <p>Adds:</p> + + <ul> + <li>Support for East-Asian-script emphasis marks with the CSS {{ cssxref("text-emphasis") }}, {{ cssxref("text-emphasis-style") }}, {{ cssxref("text-emphasis-color") }}, and {{ cssxref("text-emphasis-position") }} properties.</li> + <li>Support for script shadows with the CSS {{ cssxref("text-shadow") }} property.</li> + </ul> + + <p>Clarifies:</p> + + <ul> + <li>The paint order of the decorations.</li> + </ul> + + <p><em><strong>At risk:</strong> due to insufficient browser support, standardization of the <code>text-decoration-skip</code>, line positioning rules and the ability to place both emphasis marks and ruby above the same base text may be postponed to </em> <em>the next iteration of this module</em><em>.</em></p> + </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Fonts", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Fonts") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Amends the CSS2.1 Font matching algorithm to be closer to what is really implemented.</p> + + <p>Adds:</p> + + <ul> + <li>Support for downloadable fonts via the CSS {{ cssxref("@font-face") }} at-rule.</li> + <li>The control of the contextual inter-glyph spacing via the CSS {{ cssxref("font-kerning") }} property.</li> + <li>The choice of language-specific glyphs via the CSS {{ cssxref("font-language-override") }} property.</li> + <li>The choice of glyphs with specific OpenType features via the CSS {{ cssxref("font-feature-settings") }} property.</li> + <li>The control of the aspect ratio to use when fallback fonts are selected via the CSS {{ cssxref("font-size-adjust") }} property.</li> + <li>The choice of alternative font faces using the CSS {{ cssxref("font-stretch") }}, {{ cssxref("font-variant-alternates") }}, {{ cssxref("font-variant-caps") }}, {{ cssxref("font-variant-east-asian") }}, {{ cssxref("font-variant-ligatures") }}, {{ cssxref("font-variant-numeric") }}, and {{ cssxref("font-variant-position") }} properties. It also extends the related CSS {{ cssxref("font-variant") }} shorthand property and introduces the {{ cssxref("@font-feature-values") }} at-rule.</li> + <li>The control of the automatic generation of an oblique or bold face when none are found via the CSS {{ cssxref("font-synthesis") }} property.</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Cascade", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Cascade") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Adds:</p> + + <ul> + <li>The <code>initial</code>, <code>unset</code> values for properties.</li> + <li>The CSS {{ cssxref("all") }} property.</li> + <li>The scoping mechanism.</li> + </ul> + + <p>Clarifies:</p> + + <ul> + <li>Interaction of media-dependent @import statements and style sheet loading requirements.</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Writing Modes", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Writing Modes") }}</td> + </tr> + <tr> + <td colspan="2">Defines the writing modes of both horizontal and vertical scripts and clarifies how the CSS {{ cssxref("direction") }} and {{ cssxref("unicode-bidi") }} properties interact with the new CSS {{ cssxref("text-orientation") }} property, and extends them where needed.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS Shapes", "", "") }}</strong></td> + <td>{{ Spec2("CSS Shapes") }}</td> + </tr> + <tr> + <td colspan="2">Defines geometric shapes, which can be applied to floats. These shapes describe areas, around which inline content wraps instead of wrapping around the bounding box.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS Masks", "", "") }}</strong></td> + <td>{{ Spec2("CSS Masks") }}</td> + </tr> + <tr> + <td colspan="2">Defines a way for partially or fully hiding portions of visual elements. It describes how to use another graphical element or image as a luminance or alpha mask.</td> + </tr> + </tbody> +</table> + +<h3 id="Modules_in_the_refining_phase">Modules in the refining phase</h3> + +<p>Specifications that are deemed to be in the <em>refining phase</em> are already fairly stable. Though changes are still expected, they shouldn't create incompatibilities with current implementations; they should mainly define behavior in edge cases.</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("Web Animations", "", "") }}</strong></td> + <td>{{ Spec2("Web Animations") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Counter Styles", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Counter Styles") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("Compositing", "", "") }}</strong></td> + <td>{{ Spec2("Compositing") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Syntax", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Syntax") }}</td> + </tr> + <tr> + <td colspan="2">Clarifies how charsets are determined; minor changes in parsing and tokenization algorithms.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS Will Change", "", "") }}</strong></td> + <td>{{ Spec2("CSS Will Change") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Transitions", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Transitions") }}</td> + </tr> + <tr> + <td colspan="2">Allows the definition of transitions effects between two properties values by adding the CSS {{ cssxref("transition") }}, {{ cssxref("transition-delay") }}, {{ cssxref("transition-duration") }}, {{ cssxref("transition-property") }}, and {{ cssxref("transition-timing-function") }} properties.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Animations", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Animations") }}</td> + </tr> + <tr> + <td colspan="2">Allows the definition of animations effects by adding the CSS {{ cssxref("animation") }}, {{ cssxref("animation-delay") }},{{ cssxref("animation-direction") }}, {{ cssxref("animation-duration") }}, {{ cssxref("animation-fill-mode") }}, {{ cssxref("animation-iteration-count") }}, {{ cssxref("animation-name") }}, {{ cssxref("animation-play-state") }}, and {{ cssxref("animation-timing-function") }} properties, as well as the {{ cssxref("@keyframes") }} at-rule.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Transforms", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Transforms") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Adds:</p> + + <ul> + <li>the support of bi-dimensional transforms to be applied to any element using the CSS {{ cssxref("transform") }} and {{ cssxref("transform-origin") }} properties. The supported transforms are: <code>matrix</code><code>()</code>, <code>translate()</code>, <code>translateX()</code>, <code>translateY()</code>, <code>scale()</code>, <code>scaleX()</code>, <code>scaleY()</code>, <code>rotate()</code>, <code>skewX()</code>, and <code>skewY()</code>.</li> + <li>the support of tri-dimensional transforms to be applied to any element by adding the CSS {{ cssxref("transform-style") }}, {{ cssxref("perspective") }}, {{ cssxref("perspective-origin") }}, and {{ cssxref("backface-visibility") }} properties and extended the {{ cssxref("transform") }} property with the following transforms are: <code>matrix</code> <code>3d()</code>, <code>translate3d()</code>, <code>translateZ()</code>, <code>scale3d()</code>, <code>scaleZ()</code>, <code>rotate3d()</code>, <code>rotateX</code><code>()</code>, <code>rotateY</code><code>()</code>, <code>rotateZ()</code>, and <code>perspective()</code>.</li> + </ul> + + <p><em><strong>Note:</strong> this specification is a merge of CSS 2D-Transforms, CSS 3D-Transforms and SVG transforms. </em></p> + </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255, 255, 220);"><strong>{{ SpecName("CSS3 Fragmentation", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Fragmentation") }}</td> + </tr> + <tr> + <td colspan="2">Defines how partitions of a Web page should happen, that is page, column breaks, and widows and orphans handling. + <p>Adds:</p> + + <ul> + <li>Support for defining the behavior of decorations, that is borders and background colors or images, when a box is breaked (at a page, column or line-break) with the CSS {{ cssxref("box-decoration-break") }} property.</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Text", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Text") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Extends:</p> + + <ul> + <li>the CSS {{ cssxref("text-transform") }} property with the value <code>full-width</code>.</li> + <li>the CSS {{ cssxref("text-align") }} property with the value <code>start</code>, <code>end</code>, <code>start end</code>, and <code>match-parent</code> for a better support of documents with multiple directionalities of text.</li> + <li>the CSS {{ cssxref("text-align") }} property with a {{cssxref("<string>")}} value to align on that character. This is useful to align number on the decimal point.</li> + <li>the CSS {{ cssxref("word-spacing") }} and {{ cssxref("letter-spacing") }} properties with range constraints to control flexibility in justification.</li> + </ul> + + <p>Adds:</p> + + <ul> + <li>Control on how whitespaces are displayed using the CSS {{ cssxref("text-space-collapse") }} and {{ cssxref("tab-size") }} properties.</li> + <li>Control on line breaks and word boundaries using the CSS {{ cssxref("line-break") }}, {{ cssxref("word-break") }}, {{ cssxref("hyphens") }}, {{ cssxref("text-wrap") }}, {{ cssxref("overflow-wrap") }}, and {{ cssxref("text-align-last") }} properties.</li> + <li>Control on how justification is happening, in order to support more type of scripts, using the CSS {{ cssxref("text-justify") }} property.</li> + <li>Control on edge effect using the CSS {{ cssxref("text-indent") }} and {{ cssxref("hanging-punctuation") }} properties.</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<p>A few features present in early CSS Text Level 3 draft have being <a class="external" href="http://dev.w3.org/csswg/css3-text/#recent-changes" title="http://dev.w3.org/csswg/css3-text/#recent-changes">postponed to the next iteration of this module</a> .</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Variables", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Variables") }}</td> + </tr> + <tr> + <td colspan="2">Defines a mechanism allowing to define variables in CSS.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("Compositing", "", "") }}</strong></td> + <td>{{ Spec2("Compositing") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<h3 id="Modules_in_the_revising_phase">Modules in the revising phase</h3> + +<p>Modules that are in the revising phase are much less stable than those in the refining phase. Often the syntax is still under scrutiny and may evolve a lot, in a non-compatible way. Alternative syntaxes are tested and often implemented.</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSS3 Basic UI", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Basic UI") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Adds:</p> + + <ul> + <li>The ability to tweak the box model using the CSS {{ cssxref("box-sizing") }} property.<br> + <strong><em>At risk:</em> </strong> <em> due to insufficient browser support, standardization of the <code>padding</code><code>-box</code> value may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li> + <li>Allow the styling of forms according their content using the CSS {{ cssxref(":indeterminate") }}, {{ cssxref(":default") }}, {{ cssxref(":valid") }}, {{ cssxref(":invalid") }}, {{ cssxref(":in-range") }}, {{ cssxref(":out-of-range") }}, {{ cssxref(":required") }}, {{ cssxref(":optional") }}, {{ cssxref(":read-only") }}, and {{ cssxref(":read-write") }} pseudo-classes and the {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} pseudo-elements.<br> + <em><strong>At risk:</strong> due to insufficient browser support, standardization of the pseudo-elements {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li> + <li>Support for icons, defined by the CSS {{ cssxref("icon") }} property simultaneously with the new <code>icon</code> value of the CSS {{ cssxref("content") }} property.<br> + <em><strong>At risk:</strong> due to insufficient browser support, standardization of the {{ cssxref("icon") }} property and the <code>icon</code> value may be postponed to CSS4. </em></li> + <li>Support for the CSS {{ cssxref("outline-offset") }} property giving more control on the position of the outline.</li> + <li>Support for the CSS {{ cssxref("resize") }} property allowing Web authors to control if and how elements should be resized.</li> + <li>Support for the CSS {{ cssxref("text-overflow") }} property defining how text overflows, if needed.<br> + <em><strong>At risk:</strong> due to insufficient browser support, the 2-value syntax of this property as well as the support for {{cssxref("<string>")}} values may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li> + <li>The ability to define the hotspot of a cursor as well as the new <code>none</code>, <code>context-menu</code>, <code>cell</code>, <code>vertical-text</code>, <code>alias</code>, <code>copy</code>, <code>no-drop</code>, <code>not-allowed</code>, <code>nesw-</code><code>resize</code>, <code>nwse-</code><code>resize</code>, <code>col-resize</code>, <code>row-resize</code>, <code>all-scroll</code>, <code>zoom-in</code>, <code>zoom-out</code>, extending the {{ cssxref("cursor") }} property.</li> + <li>The ability to specify the sequential navigation order (that is the <em>tabbing order</em> ) using the CSS {{ cssxref("nav-index") }}, {{ cssxref("nav-up") }}, {{ cssxref("nav-right") }}, {{ cssxref("nav-left") }}, {{ cssxref("nav-down") }} properties.<br> + <em><strong>At risk:</strong> due to insufficient browser support, standardization of the navigation properties may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li> + <li>The ability to control the usage of an IME editor, using the CSS {{ cssxref("ime-mode") }} property.<br> + <em><strong>At risk:</strong> due to insufficient browser support, standardization of the {{ cssxref("ime-mode") }} property may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li> + </ul> + </td> + </tr> + </tbody> +</table> + +<p>An early list of what could be in the next iteration of the CSS Basic User Interface Module is <a class="external" href="http://wiki.csswg.org/spec/css4-ui" title="http://wiki.csswg.org/spec/css4-ui">available</a>.</p> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSS3 Grid", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Grid") }}</td> + </tr> + <tr> + <td colspan="2">Add a grid layout to the CSS <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display" title=""><code>display</code></a> property and several new CSS properties to control it: {{cssxref("grid")}}, {{cssxref("grid-area")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid-auto-flow")}}, {{cssxref("grid-auto-position")}}, {{cssxref("grid-auto-rows")}}, {{cssxref("grid-column")}}, {{cssxref("grid-column-start")}}, {{cssxref("grid-column-end")}}, {{cssxref("grid-row")}}, {{cssxref("grid-row-start")}}, {{cssxref("grid-row-end")}}, {{cssxref("grid-template")}}, {{cssxref("grid-template-areas")}}, {{cssxref("grid-template-rows")}}, and {{cssxref("grid-template-columns")}}.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSS3 Box Alignment", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Box Alignment") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSS3 Paged Media", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Paged Media") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSSOM View", "", "") }}</strong></td> + <td>{{ Spec2("CSSOM View") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSS4 Selectors", "", "") }}</strong></td> + <td>{{ Spec2("CSS4 Selectors") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<h3 id="Modules_in_the_exploring_phase">Modules in the exploring phase</h3> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS4 Images", "", "") }}</strong></td> + <td>{{ Spec2("CSS4 Images") }}</td> + </tr> + <tr> + <td colspan="2"> + <p>Extends:</p> + + <ul> + <li>the <code>image()</code> functional notation to describe the directionality of the image (<code>rtl</code> or <code>ltr</code>), allowing for bidi-sensitive images.</li> + <li>the {{ cssxref("image-orientation") }} property by adding the keyword <code>from-image</code>, allowing to follow EXIF data stored into images to be considered.</li> + </ul> + + <p>Adds:</p> + + <ul> + <li>the <code>image-set()</code> functional notation to allow the definition to equivalent images at different resolution allowing for resolution-negotiated selection of images.</li> + <li>the <code>element()</code> functional notation allowing the use of part of the page as image.</li> + <li>the <code>cross-fade()</code> functional notation allowing to refer to intermediate images when transitioning between two images and defines the interpolation between two images.</li> + <li>the <code>conic-gradient()</code> and <code>repeating-conic-gradient()</code> functional notation describing a new type of gradient.</li> + <li>the {{cssxref("image-rendering")}} property that allow to define how resize of the object should be handled.</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Device", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Device") }}</td> + </tr> + <tr> + <td colspan="2">Adds a new at-rule, {{ cssxref("@viewport") }}, allowing to specify the size, zoom factor, and orientation of the viewport that is used as the base for the initial containing block.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 GCPM", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 GCPM") }}</td> + </tr> + <tr> + <td colspan="2">Adds the ability to tailor printed version of a document by allowing to control header, footer but also references tables like indexes or tables of content.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS Exclusions", "", "") }}</strong></td> + <td>{{ Spec2("CSS Exclusions") }}</td> + </tr> + <tr> + <td colspan="2">Extends the floats mechanism to define exclusion regions in any positioning scheme. Adds the notion of shapes, in which content must flows.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Lists", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Lists") }}</td> + </tr> + <tr> + <td colspan="2">Extends the list counter mechanism so that list markers can be styled and Web developers can define new list counter schemes.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Regions", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Regions") }}</td> + </tr> + <tr> + <td colspan="2">Defines a new mechanism allowing content to flow across, eventually non-contiguous, multiple areas called regions.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Device", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Device") }}</td> + </tr> + <tr> + <td colspan="2">Adds a new at-rule, {{ cssxref("@viewport") }}, allowing to specify the size, zoom factor, and orientation of the viewport that is used as the base for the initial containing block.</td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("Filters 1.0", "", "") }}</strong></td> + <td>{{ Spec2("Filters 1.0") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Template", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Template") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Sizing", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Sizing") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS Line Grid", "", "") }}</strong></td> + <td>{{ Spec2("CSS Line Grid") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Positioning", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Positioning") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Ruby", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Ruby") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSSOM", "", "") }}</strong></td> + <td>{{ Spec2("CSSOM") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Overflow", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Overflow") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Font Loading", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Font Loading") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Display", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Display") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS Scope", "", "") }}</strong></td> + <td>{{ Spec2("CSS Scope") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS4 Media Queries", "", "") }}</strong></td> + <td>{{ Spec2("CSS4 Media Queries") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS Non-element Selectors", "", "") }}</strong></td> + <td>{{ Spec2("CSS Non-element Selectors") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("Geometry Interfaces", "", "") }}</strong></td> + <td>{{ Spec2("Geometry Interfaces") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Inline", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Inline") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<h3 id="Modules_in_the_rewriting_phase">Modules in the rewriting phase</h3> + +<p>Modules that are in the rewriting phase are outdated and require to be rewritten. The syntax is still under scrutiny and may evolve a lot, in a non-compatible way. Alternative syntaxes are tested and often implemented.</p> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F33;"><strong>{{ SpecName("CSS3 Box", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Box") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F33;"><strong>{{ SpecName("CSS3 Content", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Content") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<table class="fullwidth-table" style="width: 100%;"> + <tbody> + <tr> + <td style="width: 30%; background-color: #F33;"><strong>{{ SpecName("CSS3 Inline Layout", "", "") }}</strong></td> + <td>{{ Spec2("CSS3 Inline Layout") }}</td> + </tr> + <tr> + <td colspan="2"> </td> + </tr> + </tbody> +</table> + +<p> </p> diff --git a/files/de/archive/index.html b/files/de/archive/index.html new file mode 100644 index 0000000000..4f4a70c023 --- /dev/null +++ b/files/de/archive/index.html @@ -0,0 +1,21 @@ +--- +title: Archive of obsolete content +slug: Archive +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive +--- +<p>Here at MDN, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers. Perhaps your target audience is people that are using older hardware, for example, and can't upgrade to the latest and greatest browsers. Or for "reasons," your company is required to use very old software and you need to build Web content that runs on that software. Or perhaps you're just curious about the history of an obsolete feature or API, and how it worked.</p> + +<p>There are many reasons older documentation can be useful. So, we've established this area into which we can archive older documentation. Material in this Archived content zone should <strong>not</strong> be used for building new Web sites or apps for modern browsers. It's here for historical reference only.</p> + +<div class="note"> +<p><strong>Note to writers:</strong> We need to try to keep the subpages here organized instead of all dumped into one large folder. Try to create subtrees for categories of material. Also, only move pages here that are <strong>extremely</strong> obsolete. If anyone might realistically need the information in a living product, it may not be appropriate to move it here. In general, it may be best to discuss it in the <a href="https://chat.mozilla.org/#/room/#mdn:mozilla.org">MDN Web Docs chat room</a> before moving content here.</p> +</div> + +<p>{{SubpagesWithSummaries}}</p> + +<h2 id="Subnav">Subnav</h2> + +<p>{{ListSubpages("/en-US/docs/Archive", 2, 0, 1)}}</p> diff --git a/files/de/archive/mdn/index.html b/files/de/archive/mdn/index.html new file mode 100644 index 0000000000..9e550840e3 --- /dev/null +++ b/files/de/archive/mdn/index.html @@ -0,0 +1,20 @@ +--- +title: MDN Archive +slug: Archive/MDN +tags: + - Archive + - MDN + - NeedsTranslation + - TopicStub +translation_of: Archive/MDN +--- +<p>{{MDNSidebar}}</p> + +<div class="blockIndicator obsolete"> +<p><strong>Obsolete</strong><br> + This documentation is obsolete.</p> +</div> + +<p>The documentation listed below is archived, obsolete material about MDN itself.</p> + +<p>{{LandingPageListSubpages}}</p> diff --git a/files/de/archive/mozilla/index.html b/files/de/archive/mozilla/index.html new file mode 100644 index 0000000000..0acec76e6d --- /dev/null +++ b/files/de/archive/mozilla/index.html @@ -0,0 +1,10 @@ +--- +title: Archived Mozilla and build documentation +slug: Archive/Mozilla +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/Mozilla +--- +<p>These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.</p> +<p>{{SubpagesWithSummaries}}</p> diff --git a/files/de/archive/mozilla/marketplace/apis/index.html b/files/de/archive/mozilla/marketplace/apis/index.html new file mode 100644 index 0000000000..ca60d38982 --- /dev/null +++ b/files/de/archive/mozilla/marketplace/apis/index.html @@ -0,0 +1,46 @@ +--- +title: Zusatz Bibiliotheken and APIs +slug: Archive/Mozilla/Marketplace/APIs +tags: + - Anfänger + - Anwendungen + - Firefox OS + - Marketplace + - Marktplatz +translation_of: Archive/Mozilla/Marketplace/APIs +--- +<div class="summary"> +<p>Wenn es um das Programmieren in Ihrer App oder Web-Seite für den Firefox Marketplace geht, werden Sie Marketplace Zusatz Bibliotheken, Web APIs und Marketplace APIs verwenden. Diese Seite erklärt Ihnen, wie und wann Sie diese Optionen verwenden können und stellt Ihnen weitere Links zu noch mehr Informationen bereit.</p> +</div> + +<h2 id="Marketplace_Zusatz_Bibiliotheken">Marketplace Zusatz Bibiliotheken</h2> + +<div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> +<div><span id="noHighlight_0.44059025102469707">Die Marketplace Zusatz Bibliotheken sollen Ihr tägliches Programmieren einfacher machen.</span><span id="noHighlight_0.3078771717653538"> Es gibt zurzeit eine solche Bibliothek, es können aber mehr entstehen, sobald es noch mehr Funktionen für den Marketplace geben wird.</span></div> + +<div> </div> +</div> + +<ul> + <li><code><a href="https://github.com/mozilla/receiptverifier">receiptverifier</a></code> — <span id="ouHighlight__18_21TO18_22">diese</span><span id="noHighlight_0.4804083604052125"> </span><span id="ouHighlight__23_29TO24_33">Bibliothek</span><span id="noHighlight_0.05684307958175727"> </span><span id="ouHighlight__31_37TO35_39">dient</span><span id="noHighlight_0.24275668418068386"> </span><span id="ouHighlight__39_40TO41_43">zur</span><span id="noHighlight_0.959966966600046"> </span><span id="ouHighlight__42_47TO45_55">Überprüfung</span><span id="noHighlight_0.6238971479933465"> von </span><span id="ouHighlight__49_64TO61_77">Zahlungseingängen</span><span id="noHighlight_0.01917105184382417">.</span><span id="noHighlight_0.9413199495716078"> Die Verwendung der Bibliothek</span><span id="noHighlight_0.9190130102412998"> </span><span id="ouHighlight__75_76TO97_100">wird</span><span id="noHighlight_0.04334018605069223"> im Artikel </span><a href="/en-US/Marketplace/Monetization/Validating_a_receipt">Überprüfung einer Quitung</a> beschrieben.</li> +</ul> + +<h2 id="Web_APIs">Web APIs</h2> + +<p>Ihre App für den Marketplace benötigt zur Verwendung von Web APIs bestimmte Funktionen:</p> + +<ul> + <li><code><a href="https://developer.mozilla.org/en-US/docs/Web/API/window.navigator.mozPay">navigator.mozPay</a></code> und ihre Verwandte<a class="external external-icon" href="https://wiki.mozilla.org/WebAPI/WebPaymentProvider"> Web Payment Provider</a> — Dieses API wird verwendet, um In-App Käufe zu tätigen. Die Benutzung ist hier beschrieben: <a href="/en-US/Marketplace/Monetization/In-app_payments">In-app payments</a></li> +</ul> + +<h2 id="Marketplace_APIs">Marketplace APIs</h2> + +<p>Für die üblichen Anwendungen brauchen Sie die Marketplace APIs nicht, doch manche Projekte, wie das <a href="/en-US/Marketplace/Options/Creating_a_store">Erstellen von eigenen Shops</a>, benötigen diese. Wenn Sie also bestimmte Funktionen in diesem Bereich brauchen, bietet es sich an, die Marketplace APIs zu nutzen. </p> + +<p>Die Dokumentation der Marketplace APIs finden sie <a href="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/overview.html">hier</a>, auf readthedocs.org. Bitte treten Sie der <a href="https://lists.mozilla.org/listinfo/dev-marketplace">Entwickler-Marketplace</a> Mailing Liste bei, wenn Sie noch weitere Informationen zum Marketplace API brauchen.</p> + +<div class="note"> +<p>Diese Marketplace API Dokumentation beschreibt den Einsatz in der Entwicklung von Apps für den Firefox Marketplace. Das heißt, dass dieser Artikel Informationen über APIs enthalten kann, die im öffentlichen Marketplace nicht zugänglich sind.</p> +</div> + +<p> </p> diff --git a/files/de/archive/mozilla/marketplace/faq/index.html b/files/de/archive/mozilla/marketplace/faq/index.html new file mode 100644 index 0000000000..6b6def2d3a --- /dev/null +++ b/files/de/archive/mozilla/marketplace/faq/index.html @@ -0,0 +1,30 @@ +--- +title: Firefox Marketplace FAQs +slug: Archive/Mozilla/Marketplace/FAQ +translation_of: Archive/Mozilla/Marketplace/FAQ +--- +<dl> + <dt> + Wie kann ich eine neue App hochladen?</dt> + <dd> + Schaue dir dazu diesen Artikel an: <a href="/de/Marketplace/Submission/Submitting_an_app" title="/en-US/docs/Apps/Publishing/Submitting_an_app?redirectlocale=en-US&redirectslug=Apps%2FSubmitting_an_app">Veröffentlichen einer App</a></dd> + + <dt> + Was ist der Genehmigungsprozess?</dt> + <dd> + Für die Entwickler-Preview werden alle Apps mit einer gültigen manifest-Datei automatisch zugelassen.</dd> + <dt> + Müssen meine Apps den Content-Richtlinien entsprechen?</dt> + <dd> + Die primären inhaltlichen Einschränkungen im "Firefox Marketplace" verhindern, dass bösartige oder illegale Aktivitäten zu stande kommen. Die Richtlinien sind die Gleichen, wie die <a href="https://addons.mozilla.org/en-US/developers/docs/policies/reviews#section-prohibited" title="https://addons.mozilla.org/en-US/developers/docs/policies/reviews#section-prohibited">Content-Richtlinien für den Firefox.</a> Die Richtlinien werden vor dem benutzersichtbaren Betastart vom "Marketplace" fertig sein.</dd> + <dt> + Wie verkauft der "Firefox Marketplace" meine App?</dt> + <dd> + <div class="note"> + <strong>Notiz:</strong> Kauf-Apps und In-App-Käufe sind der Zeit im "Firefox Marketplace" deaktiviert (August 2012). Es wird erwartet, dass diese Funktionen im Oktober 2012 wieder aktiviert werden.</div> + </dd> + <dt> + Wer hosted die App?</dt> + <dd> + Du hostest alle Dateien deiner App auf deinem eigenden Server. Wenn du eine App in den "Firefox Marketplace" einträgst, gibst du die URL von der manifest-Datei deiner App an, welches der "Marketplace" einliest und überprüft. Du kannst Icons, Screenshots, usw. hochladen, um deine App im "Firefox Marketplace" zu promoten.</dd> +</dl> diff --git a/files/de/archive/mozilla/marketplace/index.html b/files/de/archive/mozilla/marketplace/index.html new file mode 100644 index 0000000000..10b84af67e --- /dev/null +++ b/files/de/archive/mozilla/marketplace/index.html @@ -0,0 +1,126 @@ +--- +title: Firefox Marketplace +slug: Archive/Mozilla/Marketplace +tags: + - Anfänger + - Apps + - Beginner + - Firefox OS + - Intro + - Landing + - Marketplace +translation_of: Archive/Mozilla/Marketplace +--- +<div class="summary">Der Firefox-Marktplatz ist ein offener und nicht-proprietärer Online-Marktplatz für Web-Anwendungen mit HTML5.</div> + +<p>Der Firefox-Marketplace ermöglicht Entwicklern, plattformübergreifende <a href="/en-US/Apps">open web Anwendungen</a> mittels standardisierter Web-Technologien, Sprachen und Tools zu veröffentlichen. Mozilla bringt seine innersten Werte — Offenheit, Freiheit, Auswahl durch den Benutzer – in die Welt der Apps.</p> + +<div class="row topicpage-table"> +<div class="section"> +<h2 class="Community" id="Community" name="Community">Ihre Apps veröffentlichen</h2> + +<dl> + <dt><a href="/de/Marketplace/Publishing/Publish_options">App Veröffentlichungsoptionen</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div>Nachdem Sie eine offene Web-App erstellt haben, stehen Ihnen verschiedene Optionen für die Veröffentlichung zur Verfügung. Dieser Artikel erklärt, was zur Auswahl steht.</div> + </div> + </dd> + <dt><a href="/de/Marketplace/Submission/Submitting_an_app">Übermitteln einer App in den Firefox Marketplace</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div>Ein ausführlicher Leitfaden für diejenigen, die eine App auf dem Firefox-Marketplace veröffentlichen wollen um Sie der ganzen Welt zur Verfügung zu stellen..</div> + </div> + </dd> + <dt><a href="/de/Apps/Publishing/General_app_publishing_topics">Allgemeines zur App-Veröffentlichung</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div>Allgemeine Informationen und nützliche Tipps über die Veröffentlichung von Web-Apps.</div> + </div> + </dd> + <dt><a href="/de/Marketplace/Marketplace_APIs">Firefox Marketplace APIs</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div>Links zu den wichtigsten Referenzhandbüchern für Mozillas Firefox Marketplace APIs, mit denen Sie Zahlungskonten und das automatische Hochladen der App (und der Updates) kontrollieren können.</div> + </div> + </dd> +</dl> +</div> + +<div class="section"> +<h2 class="Community" id="Community" name="Community">Monetarisierung</h2> + +<dl> + <dt><a href="/de/Marketplace/Monetization/Profiting_from_your_app">Profitieren von Ihrer App</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div>Sie haben viel Arbeit und Liebe in ihre App gesteckt und wollen nun auch etwas von der App haben? Dieser Artikel befasst sich mit kostenpflichtigen Apps und In-App-Käufen. Alles Wege, damit Sie Geld an ihrem Werk verdienen.</div> + </div> + </dd> +</dl> + +<h2 class="Tools" id="Tools" name="Tools">Werkzeuge für App Entwickler</h2> + +<ul> + <li><a href="/de/Firefox_OS/Using_the_App_Manager">Firefox OS App Manage</a></li> + <li></li> + <li><a href="/de/Apps/App_developer_tools">App Entwickler Tools</a></li> +</ul> + +<h2 id="Erstellen_Sie_Ihren_eigenen_Marketplace">Erstellen Sie Ihren eigenen Marketplace</h2> + +<dl> + <dt><a href="/de/Marketplace/Creating_a_store">Erstellen eines Marktplatzes</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div>Sie müssen nicht den Firefox-Marktplatz verwenden, um Ihre Anwendung zu verteilen. Sie können auch ihren eigenen internen Marktplatz erstellen. Nützlich zum Beispiel für Firmennetzwerke.</div> + </div> + </dd> +</dl> +</div> +</div> + +<h2 id="Subnav">Subnav</h2> + +<ol> + <li><a href="/de/Marketplace/Submission">Eine App veröffentlichen und überprüfen</a> + + <ol> + <li><a href="/de/Marketplace/Submission/Submitting_an_app" title="This step-by-step guide will help you successfully submit your app to the Firefox Marketplace.">Veröffentlichen einer App im Firefox Marketplace</a></li> + <li><a href="/de/Marketplace/Submission/Rating_Your_Content">Eine App bewerten</a></li> + <li><a href="/de/Marketplace/Submission/Marketplace_review_criteria" title="An explanation of the criteria an app must meet in order to be published on the Firefox Marketplace">Überprüfungskriterien für Marketplace</a></li> + <li><a href="/de/Marketplace/Publishing/Marketplace_screenshot_criteria" title="Some guidelines on how to create an effective screenshot for marketplace submission">Marketplace: screenshot Kriterien</a></li> + <li><a href="/de/Marketplace/Publishing/Privacy_policies" title="Your users' privacy is very important, so you need to develop and adhere to a reasonable privacy policy to engender their trust. This article provides a guide to developing privacy policies.">Leitfaden für die Datenschutzerklärungen</a></li> + <li><a href="/de/Marketplace/Submission/Testing_and_troubleshooting">Das Testen und Verbessern ihrer Apps.</a></li> + </ol> + </li> + <li><a href="/de/Marketplace/Publishing">Veröffentlichung</a> + <ol> + <li><a href="/de/Marketplace/Publishing/Publish_options" title="If you don't want to go the Firefox Marketplace route, here is some useful information on self-publishing apps.">Möglichkeiten der Veröffentlichung</a></li> + <li><a href="/de/Marketplace/Publishing/Packaged_apps" title="A detailed description of packaged apps, what the different types entail, and what they are used for in the context of the Firefox Marketplace, and self-published apps.">Verpacken der Apps</a></li> + <li><a href="/de/Marketplace/Publishing/Updating_apps" title="Information about how both hosted and packaged app updates are handled, and what you need to do to ensure that your app properly supports updating.">Apps aktualisieren.</a></li> + <li><a href="/de/Marketplace/Publishing/Open_web_apps_for_android">Open-Web-Apps für Android</a></li> + <li><a href="/de/Marketplace/Publishing/Adding_a_subdomain" title="For security reasons, each app must have its own domain (or subdomain) on the Web. This article covers how to go about creating a subdomain for your app.">Einen "Subdomain" zur App hinzufügen.</a></li> + <li><a href="/de/Marketplace/Publishing/Creating_a_store" title="Information that may be helpful to you if you want to build your own store for selling and distributing Open Web Apps.">Ihren eigenen Marktplatz erstellen.</a></li> + </ol> + </li> + <li><a href="/de/Marketplace/Monetization">Monetization</a> + <ol> + <li><a href="/de/Marketplace/Monetization/Profiting_from_your_app" title="This guide contains introductory materials on how to monetize your apps, including tools needed, and a monetization calculator.">Verdiehen Sie mit ihrer App Geld.</a></li> + <li><a href="/de/Marketplace/Monetization/App_payments_guide">Richtlinien zur Bezahlung</a></li> + <li><a href="/de/Marketplace/Monetization/In-app_payments" title="A guide to implementing support for in-app payments in your Web app.">In-App Käufe</a></li> + <li><a href="/de/Marketplace/Monetization/validating_a_receipt" title="A guide to when—and how—to validate your app's purchase receipt.">Überprüfung</a></li> + <li><a href="/de/Marketplace/Monetization/App_pricing" title="A round up of fixed price points you can choose for your paid apps, and how these vary across different currencies, along with useful supporting information on dealing with app payments.">App-Preise</a></li> + <li><a href="/de/Marketplace/Monetization/Payments_Status" title="An at-a-glance summary of what countries have got our app payment services set up in them — where paid apps can be distributed">Bezahlungsstatus</a></li> + </ol> + </li> + <li><a href="/de/Marketplace/APIs">Marketplace APIs</a> + <ol> + <li><a href="/de/Marketplace/APIs/Marketplace_utility_library" title="To help you work with the Firefox Marketplace, we provide a JavaScript library you can use in your apps to make it easier to handle in-app payments and verify payment receipts.">Marketplace utility library</a></li> + <li><a href="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/submission.html" title="The Submission API lets you validate your app, update your app, and fetch information about the apps available to be installed.">Submission API</a></li> + <li><a href="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/payment.html" title="The Payment API lets you get information about and process in-app purchases as well as to simply get information about what pricing tiers are available.">Payment API</a></li> + <li><a href="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/overview.html" title="All Marketplace-related documentation is centered here.">Marketplace API</a></li> + </ol> + </li> + <li><a href="/de/Marketplace/FAQ">Firefox Marketplace FAQs</a></li> +</ol> diff --git a/files/de/archive/mozilla/marketplace/index/index.html b/files/de/archive/mozilla/marketplace/index/index.html new file mode 100644 index 0000000000..6c4402ac0e --- /dev/null +++ b/files/de/archive/mozilla/marketplace/index/index.html @@ -0,0 +1,107 @@ +--- +title: Index +slug: Archive/Mozilla/Marketplace/Index +translation_of: Archive/Mozilla/Marketplace/Index +--- +<table class="fullwidth-table standard-table"> + <thead> + <tr> + <th>Seite</th> + <th>Markierungen und Zusammenfassung</th> + </tr> + </thead> + <tbody> + <tr> + <td rowspan="2"><a href="https://developer.mozilla.org/en-US/Marketplace">Firefox Marketplace</a></td> + <td> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <strong><span id="ouHighlight__0_3TO0_3">Apps</span><span id="noHighlight_0.5889815113305266">, </span><span id="ouHighlight__6_13TO12_19">Anfänger</span><span id="noHighlight_0.5403660475619123">,</span><span id="noHighlight_0.3387991480025444"> </span><span id="ouHighlight__16_22TO22_28">Firefox</span><span id="noHighlight_0.7668613457418992">-</span><span id="ouHighlight__24_25TO30_31">OS</span><span id="noHighlight_0.8951011927957859">,</span><span id="noHighlight_0.6148555939483893"> </span><span id="ouHighlight__28_32TO34_38">Intro</span><span id="noHighlight_0.17701457586357539">,</span><span id="noHighlight_0.5760011965409225"> </span><span id="ouHighlight__35_45TO41_50">Marktplatz</span><span id="noHighlight_0.5407654945037849">,</span><span id="noHighlight_0.4020076902746952"> </span></strong><strong><span id="ouHighlight__48_51TO6_9">l10n </span></strong><strong><span id="ouHighlight__54_61TO53_61">Priorität</span></strong></div> + </div> + </td> + </tr> + <tr> + <td> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_1TO0_1">In</span><span id="noHighlight_0.9522233378004807"> </span><span id="ouHighlight__3_6TO3_8">dieser</span><span id="noHighlight_0.6039522850542357"> </span><span id="ouHighlight__8_11TO10_13">Zone</span><span id="noHighlight_0.540155770285825"> </span><span id="ouHighlight__13_23TO15_24">finden Sie</span><span id="noHighlight_0.5334281819141741"> </span><span id="ouHighlight__25_27TO26_29">alle</span><span id="noHighlight_0.7497774064368447"> </span><span id="ouHighlight__33_43TO31_43">Informationen die </span><span id="ouHighlight__45_52TO45_57">Sie</span><span id="noHighlight_0.8637691350730549"> </span><span id="ouHighlight__54_55TO59_61">für</span><span id="noHighlight_0.26875779004184264"> die</span><span id="noHighlight_0.9166443347467169"> </span><span id="ouHighlight__57_63TO67_78">Vorbereitung</span><span id="noHighlight_0.3050920838286423"> </span><span id="ouHighlight__45_52TO45_57">benötigen um</span><span id="noHighlight_0.581035929121575"> </span><span id="ouHighlight__77_80TO84_87">apps</span><span id="noHighlight_0.3417867038848337"> </span><span id="ouHighlight__82_83TO89_91">auf</span><span id="noHighlight_0.5849129625057187"> </span><span id="ouHighlight__85_87TO93_95">dem</span><span id="noHighlight_0.13160167336228956"> </span><span id="ouHighlight__89_95TO97_103">Firefox</span><span id="noHighlight_0.7565775710033718">-</span><span id="ouHighlight__97_107TO105_114">Marktplatz</span><span id="noHighlight_0.12575925752470285"> zu </span><span id="ouHighlight__69_75TO119_133">veröffentlichen</span><span id="noHighlight_0.013704342936802005">.</span><span id="noHighlight_0.3797317145742377"> </span><span id="ouHighlight__115_122TO136_144">Anleitung</span><span id="noHighlight_0.6903754272667528"> </span><span id="ouHighlight__127_129TO146_148">wie</span><span id="noHighlight_0.08483738113667993"> </span><span id="ouHighlight__131_132TO150_152">man</span><span id="noHighlight_0.5903237402607715"> </span><span id="ouHighlight__139_142TO154_157">apps</span><span id="noHighlight_0.16999152835920606"> </span><span id="ouHighlight__144_153TO159_169">erfolgreich zustellt</span><span id="noHighlight_0.09615291469106424">,</span><span id="noHighlight_0.9259168020620518"> </span><span id="ouHighlight__156_171TO172_186">Zustelloptionen</span><span id="noHighlight_0.7275685671894508">,</span><span id="noHighlight_0.5880092154893579"> </span><span id="ouHighlight__174_185TO189_203">Monetarisierung</span><span id="noHighlight_0.609926802433308">,</span><span id="noHighlight_0.7579675949400887"> </span><span id="ouHighlight__188_197TO206_221">Veröffentlichung</span><span id="noHighlight_0.8412341335870109"> </span><span id="ouHighlight__199_201TO223_225">,</span><span id="noHighlight_0.5429555690721404"> </span><span id="ouHighlight__203_210TO227_240">Aktualisierung der</span><span id="noHighlight_0.17740891047659102"> </span><span id="ouHighlight__212_215TO242_245">apps</span><span id="noHighlight_0.7048266349141792">,</span><span id="noHighlight_0.1290486979080514"> </span><span id="noHighlight_0.8167801659418924"> </span><span id="ouHighlight__222_224TO252_254">die</span><span id="noHighlight_0.9556831555269909"> </span><span id="ouHighlight__226_234TO256_267">Bibliotheken</span><span id="noHighlight_0.062332747488497264"> </span><span id="ouHighlight__236_238TO269_271">und</span><span id="noHighlight_0.023689324193404082"> </span><span id="ouHighlight__240_243TO273_276">APIs</span><span id="noHighlight_0.6685367483506628"> </span><span id="ouHighlight__110_113TO288_292">Finde</span><span id="noHighlight_0.48983088239063044"> </span><span id="ouHighlight__260_270TO294_303">Marktplatz</span><span id="noHighlight_0.009531699154391449">-</span><span id="ouHighlight__272_279TO305_314">Funktionen</span><span id="noHighlight_0.36054821670722903"> zu </span><span id="ouHighlight__253_255TO316_324">verwenden</span><span id="noHighlight_0.6098192944671793">.</span></div> + </div> + </td> + </tr> + <tr> + </tr> + <tr> + <td rowspan="2"><a href="https://developer.mozilla.org/en-US/Marketplace/Marketplace_APIs">Firefox Marketplace APIs</a></td> + <td><strong>API, Apps, Marketplace</strong></td> + </tr> + <tr> + <td> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_4TO0_4">Links</span><span id="noHighlight_0.21735528479211452"> </span><span id="ouHighlight__6_7TO6_7">zu</span><span id="noHighlight_0.31360816644326284"> </span><span id="ouHighlight__9_11TO9_11">den</span><span id="noHighlight_0.6778438360633481"> </span><span id="ouHighlight__13_16TO13_23">wichtigsten</span><span id="noHighlight_0.9260294032984827"> </span><span id="ouHighlight__18_27TO25_34">Referenzen</span><span id="noHighlight_0.6892425980828629"> </span><span id="ouHighlight__29_36TO36_38">für</span><span id="noHighlight_0.7184151168901204"> </span><span id="ouHighlight__38_46TO40_47">Mozillas</span><span id="noHighlight_0.583987380021488"> </span><span id="ouHighlight__48_54TO49_55">Firefox</span><span id="noHighlight_0.745419169143389"> </span><span id="ouHighlight__56_66TO57_66">Marktplatz</span><span id="noHighlight_0.8075941568630335"> </span><span id="ouHighlight__68_71TO68_71">APIs</span><span id="noHighlight_0.30448284814672943">,</span><span id="noHighlight_0.10779450355262188"> </span><span id="ouHighlight__74_77TO74_76">mit</span><span id="noHighlight_0.784597949507333"> </span><span id="ouHighlight__79_83TO78_82">denen</span><span id="noHighlight_0.7752118598594266"> </span><span id="ouHighlight__85_87TO84_86">Sie</span><span id="noHighlight_0.21491125915777043"> </span><span id="ouHighlight__100_102TO89_91">app</span><span id="noHighlight_0.05542320721565541">-</span><span id="ouHighlight__104_114TO93_105">Einreichungen</span><span id="noHighlight_0.3992297430514131"> behandeln können</span><span id="noHighlight_0.5797630272832736">.</span><span id="noHighlight_0.34292369967465064"> </span><span id="ouHighlight__117_125TO125_137">Konfigurieren</span><span id="noHighlight_0.1305230935792262"> Sie </span><span id="ouHighlight__127_127TO143_145">ein</span><span id="noHighlight_0.6877012254938101"> </span><span id="ouHighlight__129_143TO147_162">Abrechnungskonto</span><span id="noHighlight_0.9771944466462119"> </span><span id="ouHighlight__145_147TO164_166">für</span><span id="noHighlight_0.3182178436818248"> </span><span id="ouHighlight__149_150TO168_171">eine</span><span id="noHighlight_0.24662945022610216"> </span><span id="ouHighlight__152_154TO173_175">app</span><span id="noHighlight_0.20909015953322518"> </span><span id="ouHighlight__157_159TO177_179">und</span><span id="noHighlight_0.5646328006860575"> vieles </span><span id="ouHighlight__161_164TO188_191">mehr</span><span id="noHighlight_0.9738319516345264">.</span></div> + </div> + </td> + </tr> + <tr> + </tr> + <tr> + <td rowspan="2"><a href="https://developer.mozilla.org/en-US/Marketplace/FAQ">Firefox Marketplace FAQ</a></td> + <td><strong>App Zahlungen, Apps, B2G, FAQ, Firefox OS, Mobile, Marketplace</strong></td> + </tr> + <tr> + <td> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_3TO0_5">Dieser</span><span id="noHighlight_0.19960713332041158"> </span><span id="ouHighlight__5_11TO7_13">Artikel</span><span id="noHighlight_0.1981511823059916"> </span><span id="ouHighlight__13_19TO15_25">beantwortet</span><span id="noHighlight_0.5500917761560755"> </span><span id="ouHighlight__21_21TO27_30">eine</span><span id="noHighlight_0.21041283176694026"> </span><span id="ouHighlight__23_29TO32_39">Vielzahl</span><span id="noHighlight_0.022714725732562946"> </span><span id="ouHighlight__31_32TO41_43">von</span><span id="noHighlight_0.8284602143307211"> </span><span id="ouHighlight__34_39TO45_50">häufig</span><span id="noHighlight_0.8415814458039087"> </span><span id="ouHighlight__41_49TO52_67">gestellte Fragen</span><span id="noHighlight_0.42285235271803767"> </span><span id="ouHighlight__51_57TO69_77">mit Bezug</span><span id="noHighlight_0.28131920762722384"> </span><span id="ouHighlight__59_60TO79_81">zur</span><span id="noHighlight_0.021529129984559026"> </span><span id="ouHighlight__62_71TO83_98">Veröffentlichung</span><span id="noHighlight_0.7555203624128196"> </span><span id="ouHighlight__73_74TO100_102">auf</span><span id="noHighlight_0.9391454125489938"> </span><span id="ouHighlight__76_78TO104_106">dem</span><span id="noHighlight_0.4045671935811187"> </span><a class="external external-icon" href="https://marketplace.firefox.com/">Firefox Marketplace</a>.</div> + </div> + </td> + </tr> + <tr> + </tr> + <tr> + <td rowspan="2"><a href="https://developer.mozilla.org/en-US/Marketplace/Index">Index</a></td> + <td><strong>Index</strong></td> + </tr> + <tr> + <td><strong>7 Seiten gefunden:</strong></td> + </tr> + <tr> + </tr> + <tr> + <td rowspan="2"><a href="https://developer.mozilla.org/en-US/Marketplace/Publish">Publishing on the Firefox Marketplace</a></td> + <td><strong>Apps, Marketplace</strong></td> + </tr> + <tr> + <td> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span class="highlight" id="ouHighlight__0_12TO0_12">Dokumentation</span><span id="noHighlight_0.7049222721929723"> </span><span id="ouHighlight__14_16TO14_16">für</span><span id="noHighlight_0.5655813773908702"> das </span><span id="ouHighlight__18_27TO22_36">Veröffentlichen</span><span id="noHighlight_0.33238229399412034"> </span><span id="ouHighlight__29_30TO38_42">einer</span><span id="noHighlight_0.2006829286397801"> </span><span id="ouHighlight__32_34TO44_46">app</span><span id="noHighlight_0.12844276319970083"> </span><span id="ouHighlight__36_37TO48_50">auf</span><span id="noHighlight_0.5578515633624875"> </span><span id="ouHighlight__39_41TO52_54">dem Firefox Marketplace.</span><span id="noHighlight_0.3953718972734471"> </span></div> + </div> + </td> + </tr> + <tr> + </tr> + <tr> + <td rowspan="2"><a href="https://developer.mozilla.org/en-US/Marketplace/Submission">Vorlage</a></td> + <td><strong>Anlegen</strong></td> + </tr> + <tr> + <td>Marketplace Vorlagen</td> + </tr> + <tr> + </tr> + <tr> + <td rowspan="2"><a href="https://developer.mozilla.org/en-US/Marketplace/APIs">Zusatz Bibiliotheken und APIs</a></td> + <td><strong>Apps, Anfänger, Firefox OS, Anleitung, Marketplace</strong></td> + </tr> + <tr> + <td> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span class="highlight" id="ouHighlight__0_3TO0_3">Wenn</span><span id="noHighlight_0.5737033828966409"> </span><span id="ouHighlight__5_6TO5_6">es</span><span id="noHighlight_0.3909536206935058"> </span><span id="ouHighlight__8_12TO8_17">darum geht</span><span id="noHighlight_0.4901791755236773">,</span><span id="noHighlight_0.673471059281298"> die </span><span id="ouHighlight__24_36TO24_33">Funktionen</span><span id="noHighlight_0.05530713144654276"> </span><span id="ouHighlight__38_40TO35_37">für</span><span id="noHighlight_0.9835250022129454"> </span><span id="ouHighlight__42_44TO39_41">den</span><span id="noHighlight_0.8362647688984874"> </span><span id="ouHighlight__46_52TO43_49">Firefox</span><span id="noHighlight_0.16290818975200927">-</span><span id="ouHighlight__54_64TO51_60">Marktplatz</span><span id="noHighlight_0.17467473354582008"> </span><span id="ouHighlight__66_69TO62_63">in</span><span id="noHighlight_0.7283392661317538"> </span><span id="ouHighlight__71_74TO65_68">Ihre</span><span id="noHighlight_0.28934042168694807"> </span><span id="ouHighlight__76_79TO70_73">apps</span><span id="noHighlight_0.7771964225910226"> </span><span id="ouHighlight__81_83TO75_77">und</span><span id="noHighlight_0.15598200624125558"> </span><span id="ouHighlight__85_93TO79_87">Webseiten</span><span id="noHighlight_0.9428617086357428"> zu </span><span id="ouHighlight__17_22TO92_99">codieren</span><span id="noHighlight_0.6930504245813579">.</span><span id="ouHighlight__96_106TO102_110"> Machen </span><span id="noHighlight_0.6067672822530392"> </span><span id="ouHighlight__108_110TO148_153">nutzen </span><span id="ouHighlight__96_106TO102_110">Sie</span><span id="ouHighlight__108_110TO148_153"> </span><span id="noHighlight_0.6067672822530392">die </span><span id="ouHighlight__115_125TO116_125">Marktplatz</span><span id="noHighlight_0.0020127593669712063"> </span><span id="ouHighlight__127_133TO127_132">Zusatz</span><span id="noHighlight_0.6395639642900024"> </span><span id="ouHighlight__135_143TO134_145">Bibliothek</span><span id="noHighlight_0.9419823856833636">,</span><span id="noHighlight_0.3547381167981054"> </span><span id="ouHighlight__146_148TO155_157">Web</span><span id="noHighlight_0.047700294577457836">-</span><span id="ouHighlight__150_153TO159_162">APIs</span><span id="noHighlight_0.31222606703291556"> </span><span id="ouHighlight__155_157TO164_166">und</span><span id="noHighlight_0.8625591724427182"> </span><span id="ouHighlight__159_169TO168_172">Markt</span><span id="noHighlight_0.42630441115737283">-</span><span id="ouHighlight__171_174TO174_177">APIs</span><span id="noHighlight_0.8145332950831733">.</span><span id="noHighlight_0.051495320110055975"> </span><span id="ouHighlight__177_180TO180_184">Diese</span><span id="noHighlight_0.6669405185267256"> </span><span id="ouHighlight__182_185TO186_190">Seite</span><span id="noHighlight_0.36569511282483125"> </span><span id="ouHighlight__187_196TO192_196">führt</span><span id="noHighlight_0.6200962966966449"> </span><span id="ouHighlight__198_202TO198_202">diese</span><span id="noHighlight_0.5981084780086247"> </span><span id="ouHighlight__204_210TO204_211">Optionen</span><span id="noHighlight_0.5627602761770325">,</span><span id="noHighlight_0.5304405870176222"> </span><span id="ouHighlight__223_226TO214_217">wenn</span><span id="noHighlight_0.3798460827020126"> </span><span id="ouHighlight__228_230TO219_221">Sie</span><span id="noHighlight_0.7842822708201288"> </span><span id="ouHighlight__232_236TO223_236">möglicherweise </span><span id="ouHighlight__258_262TO252_256">Links</span><span id="noHighlight_0.058619100517732114"> </span><span id="ouHighlight__238_245TO238_246">einsetzen</span><span id="noHighlight_0.42158992457465383"> </span><span id="ouHighlight__247_249TO248_250">und</span><span id="noHighlight_0.28583505285210653"> </span><span id="noHighlight_0.7471647008262842"> </span><span id="ouHighlight__264_265TO258_259">zu</span><span id="noHighlight_0.967138459848076"> </span><span id="ouHighlight__267_273TO261_268">weiteren</span><span id="noHighlight_0.27699114268729963"> </span><span id="ouHighlight__275_287TO270_282">Dokumentation</span><span id="noHighlight_0.8550786396783262"> </span><span id="ouHighlight__213_221TO291_300">beschreiben</span><span id="noHighlight_0.015802827980302747">.</span></div> + </div> + </td> + </tr> + </tbody> +</table> +<p> </p> diff --git a/files/de/archive/mozilla/marketplace/marktplatz_apis/index.html b/files/de/archive/mozilla/marketplace/marktplatz_apis/index.html new file mode 100644 index 0000000000..41c61d5451 --- /dev/null +++ b/files/de/archive/mozilla/marketplace/marktplatz_apis/index.html @@ -0,0 +1,109 @@ +--- +title: Firefox Marktplatz APIs +slug: Archive/Mozilla/Marketplace/Marktplatz_APIs +translation_of: Archive/Mozilla/Marketplace/Marketplace_APIs +--- +<div class="summary"> + <div class="summary"> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span class="highlight" id="ouHighlight__0_4TO0_4">Links</span><span id="noHighlight_0.6061911304145479"> </span><span id="ouHighlight__6_7TO6_7">zu</span><span id="noHighlight_0.23600993000602166"> </span><span id="ouHighlight__9_11TO9_11">den</span><span id="noHighlight_0.7546094547411804"> </span><span id="ouHighlight__13_16TO13_23">wichtigsten</span><span id="noHighlight_0.6763998285431145"> </span><span id="ouHighlight__18_27TO25_34">Referenzen</span><span id="noHighlight_0.20016347568226367"> </span><span id="ouHighlight__29_36TO36_38">für</span><span id="noHighlight_0.4038636246077498"> </span><span id="ouHighlight__38_46TO40_47">Mozillas</span><span id="noHighlight_0.33855126749915554"> </span><span id="ouHighlight__48_54TO49_55">Firefox</span><span id="noHighlight_0.44325717641499374"> </span><span id="ouHighlight__56_66TO57_66">Marktplatz</span><span id="noHighlight_0.6689270501593386"> </span><span id="ouHighlight__68_71TO68_71">APIs</span><span id="noHighlight_0.635853537018279">,</span><span id="noHighlight_0.49264533851507175"> </span><span id="ouHighlight__74_77TO74_76">mit</span><span id="noHighlight_0.3919902841187667"> </span><span id="ouHighlight__79_83TO78_82">denen</span><span id="noHighlight_0.676992582007752"> </span><span id="ouHighlight__85_87TO84_86">Sie</span><span id="noHighlight_0.7296187712152811">, </span><span id="ouHighlight__100_102TO89_91">App</span><span id="noHighlight_0.19191860157987461">-</span><span id="ouHighlight__104_114TO93_105">Einreichungen</span><span id="noHighlight_0.9503774793909335"> behandeln können</span><span id="noHighlight_0.5620478633538235"> und</span><span id="noHighlight_0.35141654395361044"> Sie </span><span id="ouHighlight__127_127TO143_145">ein</span><span id="noHighlight_0.4204817871075437"> </span><span id="ouHighlight__129_143TO147_162">Abrechnungskonto</span><span id="noHighlight_0.4344837710437581"> </span><span id="ouHighlight__145_147TO164_166">für</span><span id="noHighlight_0.3566052526339053"> </span><span id="ouHighlight__149_150TO168_171">eine</span><span id="noHighlight_0.43851880560265577"> </span><span id="ouHighlight__152_154TO173_175">App </span><span id="noHighlight_0.48681488687558605"><span id="ouHighlight__117_125TO125_137">konfigurieren können</span> </span><span id="ouHighlight__157_159TO177_179">und</span><span id="noHighlight_0.3219143468193957"> vieles </span><span id="ouHighlight__161_164TO188_191">mehr</span><span id="noHighlight_0.8305336768063916">.</span></div> + </div> + </div> +</div> +<div class="row topicpage-table"> + <div class="section"> + <dl> + <dt> + <a href="/en-US/docs/Web/Apps/Publishing/Marketplace_utility_library">Marktplatz unitity <span class="highlight" id="ouHighlight__20_26TO19_28">Bibliothek</span></a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_1TO0_4">Damit</span><span id="noHighlight_0.7762086980536949"> </span><span id="ouHighlight__8_10TO6_8">Sie</span><span id="noHighlight_0.5664002361024933"> </span><span id="ouHighlight__17_20TO10_12">mit</span><span id="noHighlight_0.429154601237671"> </span><span id="ouHighlight__22_24TO14_16">dem</span><span id="noHighlight_0.6182270407636031"> </span><span id="ouHighlight__26_32TO18_24">Firefox</span><span id="noHighlight_0.008744155119655539">-</span><span id="ouHighlight__34_44TO26_30">Markt</span><span id="noHighlight_0.7574302307098405"> </span><span id="ouHighlight__12_15TO32_39">arbeiten</span><span id="noHighlight_0.5533006742231562"> </span><span id="ouHighlight__3_6TO41_46">können</span><span id="noHighlight_0.4950657957539629">,</span><span id="noHighlight_0.3372120617796437"> </span><span id="ouHighlight__50_56TO49_54">bieten</span><span id="noHighlight_0.44211992673609957"> </span><span id="ouHighlight__47_48TO56_58">wir</span><span id="ouHighlight__115_120TO93_103"> zu erleichterung</span><span id="noHighlight_0.09155990502130762"> </span><span id="ouHighlight__58_58TO60_63">eine</span><span id="noHighlight_0.2447784974239685"> </span><span id="ouHighlight__60_69TO65_74">JavaScript</span><span id="noHighlight_0.19110864322972176">-</span><span id="ouHighlight__71_77TO76_85">Bibliothek</span><span id="noHighlight_0.7134498349474518"> an um eine ihnen </span><span id="noHighlight_0.7406434351915837"> </span><span id="ouHighlight__99_102TO118_128">Anwendungen einfach</span><span id="noHighlight_0.3267500320424487"> </span><span id="ouHighlight__125_130TO140_148">handhaben </span><span id="noHighlight_0.9846020830196359"> </span><span id="ouHighlight__132_137TO150_155">in-app</span><span id="noHighlight_0.002481082544482538">-</span><span id="ouHighlight__139_146TO157_165">Zahlungen</span><span id="noHighlight_0.4634763933506747"> </span><span id="ouHighlight__148_150TO167_169">und</span><span id="noHighlight_0.07040860484935862"> </span><span id="ouHighlight__159_174TO171_186">Zahlungseingänge</span><span id="noHighlight_0.9580017260746942"> </span><span id="ouHighlight__152_157TO191_200">überprüfen zu können</span><span id="noHighlight_0.3791498328522227">.</span></div> + </div> + </dd> + <dt> + <a href="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/submission.html" title="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/submission.html">Überprüfungs API</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span class="highlight" id="ouHighlight__0_2TO0_2">Mit der</span><span id="noHighlight_0.4201166469996619"> </span><span id="ouHighlight__15_17TO12_14">API-</span><span id="ouHighlight__4_13TO4_10">Vorlage</span><span id="noHighlight_0.1975489927027082"> </span><span id="ouHighlight__19_22TO16_21">können</span><span id="noHighlight_0.6633607940773647"> </span><span id="ouHighlight__24_26TO23_25">Sie</span><span id="noHighlight_0.6911799731159312"> </span><span id="ouHighlight__37_40TO27_30">Ihre</span><span id="noHighlight_0.343202944661377"> </span><span id="ouHighlight__42_44TO32_34">app</span><span id="noHighlight_0.5543564148820272"> </span><span id="ouHighlight__28_35TO39_48">überprüfen</span><span id="noHighlight_0.24197976332956528">,</span><span id="noHighlight_0.24589501394800284"> </span><span id="ouHighlight__47_52TO51_63">aktualisieren</span><span id="noHighlight_0.00622104541507662"> </span><span id="ouHighlight__54_57TO65_68">Ihre</span><span id="noHighlight_0.3937366892723856"> </span><span id="ouHighlight__59_61TO70_72">app</span><span id="noHighlight_0.5495599751239539"> </span><span id="ouHighlight__64_66TO74_76">und</span><span id="noHighlight_0.2643930901574659"> </span><span id="ouHighlight__68_72TO78_82">holen</span><span id="noHighlight_0.8526517947168686"> </span><span id="ouHighlight__74_84TO84_96">Informationen</span><span id="noHighlight_0.6300408148838118"> </span><span id="ouHighlight__86_90TO98_101">über</span><span id="noHighlight_0.5871519567596253"> </span><span id="ouHighlight__92_94TO103_105">die</span><span id="noHighlight_0.5982540094729301"> </span><span id="ouHighlight__96_99TO107_110">apps</span><span id="noHighlight_0.7653973146053984"> </span><span id="ouHighlight__101_109TO112_120">verfügbar</span><span id="noHighlight_0.2835796653147047"> </span><span id="ouHighlight__117_125TO122_132">installiert</span><span id="noHighlight_0.9945427232816358"> </span><span id="ouHighlight__114_115TO134_139">werden</span><span id="noHighlight_0.197050726713643">.</span></div> + </div> + </dd> + <dt> + <a href="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/payment.html" title="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/payment.html">Zahlungs API</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span class="highlight" id="ouHighlight__0_2TO0_2">Mit </span><span id="noHighlight_0.4223142435717314"> </span><span id="ouHighlight__12_14TO12_14">API-</span><span id="ouHighlight__4_10TO4_10">Zahlung</span><span id="noHighlight_0.27594378334530334"> </span><span id="ouHighlight__16_19TO16_21">können</span><span id="noHighlight_0.6638130185856066"> </span><span id="ouHighlight__21_23TO23_25">Sie</span><span id="noHighlight_0.5129649967897267"> </span><span id="noHighlight_0.01763111829191466"> </span><span id="ouHighlight__44_54TO37_49">Informationen</span><span id="noHighlight_0.9679672767044096"> </span><span id="ouHighlight__56_60TO51_52">zu</span><span id="noHighlight_0.33100446439210474"> </span><span id="ouHighlight__62_67TO54_59">in-app</span><span id="noHighlight_0.3108348720827504"> </span><span id="ouHighlight__69_77TO61_68">Einkäufe</span><span id="noHighlight_0.4658904268161276"> </span><span id="ouHighlight__25_26TO70_75">machen</span><span id="noHighlight_0.44599349662789733"> </span><span id="ouHighlight__79_81TO77_79">und</span><span id="noHighlight_0.885544762510215"> </span><span id="ouHighlight__83_85TO81_88">erhalten</span><span id="noHighlight_0.3837870996558409"> </span><span id="ouHighlight__87_97TO90_102">Informationen</span><span id="noHighlight_0.39566944401772486"> </span><span id="ouHighlight__99_103TO104_107">über</span><span id="noHighlight_0.18975376628565088"> die </span><span id="ouHighlight__105_111TO113_127">Preisgestaltung</span><span id="noHighlight_0.6025374022931953"> </span><span id="ouHighlight__113_117TO129_134">Stufen</span><span id="noHighlight_0.2678849581525088"> </span><span id="ouHighlight__119_121TO136_138">für</span><span id="noHighlight_0.7893695804126921"> </span><span id="ouHighlight__123_129TO140_151">verschiedene</span><span id="noHighlight_0.8798667246886877"> </span><span id="ouHighlight__131_139TO153_158">Länder</span><span id="noHighlight_0.028057211485865596">.</span></div> + </div> + </dd> + <dt> + <a href="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/overview.html" title="http://firefox-marketplace-api.readthedocs.org/en/latest/topics/overview.html">Andere Marktplatz APIs</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_2TO0_2">Die</span><span id="noHighlight_0.5037117043799489"> </span><span id="ouHighlight__4_7TO4_15">vollständige</span><span id="noHighlight_0.5126204959720749"> </span><span id="ouHighlight__9_21TO17_29">Dokumentation</span><span id="noHighlight_0.4744378043040487"> </span><span id="ouHighlight__23_25TO31_33">für</span><span id="noHighlight_0.6271049524956505"> </span><span id="ouHighlight__27_29TO35_37">die</span><span id="noHighlight_0.6226643017903231"> </span><span id="ouHighlight__31_37TO39_45">Firefox</span><span id="noHighlight_0.02485826833486693">-</span><span id="ouHighlight__39_49TO47_56">Marktplatz</span><span id="noHighlight_0.815518520503297">-</span><span id="ouHighlight__51_54TO58_61">APIs</span><span id="noHighlight_0.812943240153569">.</span></div> + </div> + </dd> + </dl> + </div> + <div class="section"> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <strong><span id="ouHighlight__0_4TO0_4">Tools</span><span id="noHighlight_0.19062945056652736"> </span><span id="ouHighlight__6_8TO6_8">für</span><span id="noHighlight_0.1039377003568307"> </span><span id="ouHighlight__10_12TO10_12">app</span><span id="noHighlight_0.9052402208684265">-</span><span id="ouHighlight__14_23TO14_23">Entwickler</span></strong></div> + </div> + <ul> + <li><a class="external external-icon" href="https://marketplace.firefox.com/developers/">Besuchen Sie die Firefox Marktplace Entwicklercke</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_Firefox_OS_Simulator">Firefox OS Simulator</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Apps/App_developer_tools">App Entwickler tools</a></li> + </ul> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <strong><span id="ouHighlight__0_9TO0_10">Technologie</span><span id="noHighlight_0.5007130375631282">-</span><span id="ouHighlight__11_33TO12_32">Referenzdokumentation</span></strong></div> + </div> + <div class="twocolumns"> + <ul> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS">CSS</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/DOM">DOM</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTML">HTML</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/JavaScript">JavaScript</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/WebAPI">WebAPI</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/WebGL">WebGL</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/SVG">SVG</a></li> + <li><a class="external external-icon" href="https://www.mozilla.org/en-US/apps/">Open Web Apps overview site</a></li> + <li><a class="external external-icon" href="https://wiki.mozilla.org/Apps">Apps Projekt wiki page</a></li> + </ul> + </div> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <strong><span id="ouHighlight__0_11TO0_4">Hilfe</span><span id="noHighlight_0.4549211852685946"> </span><span class="highlight" id="ouHighlight__13_16TO6_8">von</span><span id="noHighlight_0.1996361921250519"> </span><span id="ouHighlight__18_20TO10_12">der</span><span id="noHighlight_0.006766254269174765"> </span><span id="ouHighlight__22_30TO14_25">Gemeinschaft</span></strong></div> + </div> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_1TO0_3">Wenn</span><span id="noHighlight_0.014341863217350204"> </span><span id="ouHighlight__3_5TO5_7">Sie</span><span id="noHighlight_0.7705560383773145"> </span><span id="ouHighlight__7_11TO9_12">noch</span><span id="noHighlight_0.663267210708874"> nicht </span><span id="ouHighlight__20_23TO20_25">sicher</span><span id="noHighlight_0.12999408598722229"> sind was zu</span><span id="noHighlight_0.6970422690542117"> </span><span id="ouHighlight__32_33TO39_41">tun ist</span><span id="noHighlight_0.21504970851511362">, </span><span id="ouHighlight__35_38TO44_46">was</span><span id="noHighlight_0.10981157081308113"> </span><span id="ouHighlight__40_45TO48_50">Sie</span><span id="noHighlight_0.5849074450491327"> </span><span id="ouHighlight__61_64TO52_60">erledigen</span><span id="noHighlight_0.8255595638015908"> </span><span id="ouHighlight__54_55TO62_67">wollen</span><span id="noHighlight_0.9993066468046264">,</span><span id="noHighlight_0.053809035748189404"> </span><span id="ouHighlight__67_75TO70_75">zögern</span><span id="noHighlight_0.5609314500952005"> Sie nicht </span><span id="ouHighlight__77_78TO87_88">zu</span><span id="noHighlight_0.18618861856638436"> </span><span id="ouHighlight__85_87TO90_92">der</span><span id="noHighlight_0.6219038919540205"> </span><span id="ouHighlight__89_100TO94_105">Unterhaltung</span><span id="noHighlight_0.478329571887941">!</span></div> + <div> + </div> + </div> + <ul> + <li>Konsultieren der Web-apps forum: + <ul> + <li><a class="external external-icon" href="https://lists.mozilla.org/listinfo/dev-webapps">als Mailing-Liste</a></li> + <li><a class="external external-icon" href="http://groups.google.com/group/mozilla.dev.webapps">als Google Group</a></li> + <li><a class="external external-icon" href="http://groups.google.com/group/mozilla.dev.webapps/feeds">als Web-Feed</a></li> + </ul> + <ul> + <li> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_2TO0_10">Stellen Sie</span><span id="noHighlight_0.5026097136180658"> </span><span id="ouHighlight__4_7TO12_15">Ihre</span><span id="noHighlight_0.2229105310496191"> </span><span id="ouHighlight__9_16TO17_21">Frage</span><span id="noHighlight_0.4102630351905905"> </span><span id="ouHighlight__18_19TO23_25">auf</span><span id="noHighlight_0.7152726615063038"> </span><span id="ouHighlight__21_23TO27_29">dem</span><span id="noHighlight_0.27882006322601716"> </span><span id="ouHighlight__25_28TO31_37">offenen</span><span id="noHighlight_0.9003474208036477"> </span><span id="ouHighlight__30_32TO39_41">Web</span><span id="noHighlight_0.170097064832595">-</span><span id="ouHighlight__34_37TO43_46">Apps</span><span id="noHighlight_0.06178610590984235">-</span><span id="ouHighlight__39_41TO48_50">IRC</span><span id="noHighlight_0.6567146071905723">-</span><span id="ouHighlight__43_49TO52_58">Channel</span><span id="noHighlight_0.2198462045499433">:</span></div> + </div> + <a class="link-irc" href="irc://irc.mozilla.org/openwebapps">#openwebapps</a></li> + </ul> + </li> + </ul> + <p><span class="alllinks"><a class="external external-icon" href="http://www.catb.org/%7Eesr/faqs/smart-questions.html" rel="external">Vergessen Sie nicht über die <em>netiquette</em>...</a></span></p> + <p> </p> + </div> +</div> +<p> </p> diff --git a/files/de/archive/mozilla/marketplace/options/open_web_apps_for_android/index.html b/files/de/archive/mozilla/marketplace/options/open_web_apps_for_android/index.html new file mode 100644 index 0000000000..76a5dc98c8 --- /dev/null +++ b/files/de/archive/mozilla/marketplace/options/open_web_apps_for_android/index.html @@ -0,0 +1,142 @@ +--- +title: Open Web Apps for Android +slug: Archive/Mozilla/Marketplace/Options/Open_web_apps_for_android +translation_of: Archive/Marketplace/Options/Open_web_apps_for_android +--- +<div class="summary"> + <p>Users of Firefox for Android install Marketplace apps as 'normal' Android apps, gaining the benefit of powerful open web features. This ability is enabled by the creation of APKs by the APK Factory. Installed apps are run by the <strong>Web Runtime for Android,</strong> which is included in Firefox for Android. By making your apps accessible to Firefox for Android users, you gain an additional distribution opportunity, expanding the potential audience for your work.</p> +</div> +<h2 id="What_is_Open_Web_Apps_for_Android">What is Open Web Apps for Android?</h2> +<p>Open Web Apps for Android enables free Marketplace apps to be packaged into an APK (Android installation package), which is then installed and run in the same way as any other Android app. The APK package consists of web content (in the case of packaged apps) or a pointer to web content (in the case of hosted apps). This content is then enclosed in a thin Java/Android wrapper, which provides the integration with the Android OS. Once installed on an Android device the app is executed by Web Runtime for Android, a component of Firefox for Android.</p> +<p>These packages are created by the <a href="https://github.com/mozilla/apk-factory-service">APK Factory Service</a>, which is run as a web service by Marketplace. The APK Factory Service makes use of the <a href="https://github.com/mozilla/apk-factory-library">APK Factory Library</a> to create the actual package and the <a href="https://github.com/mozilla/apk-signer">APK Signer</a> to digitally sign the APK. This service is available to <a href="/en-US/Marketplace/Publishing/Creating_a_store">your own Marketplace</a>, should you choose to create one.</p> +<p>You don't need any knowledge of Android development, or to take any extra development steps, to use Open Web Apps for Android: you simply select the option for distribution to Firefox Mobile or Firefox Tablet when submitting your apps to the <a href="https://marketplace.firefox.com/">Firefox Marketplace</a>.</p> +<div class="note"> + <p><strong>Note</strong>: Open Web Apps for Android provides support for hosted apps in Firefox for Android xx or later, packaged apps are supported in Firefox for Android 29 or later. Only free apps are available for Android from the Firefox Marketplace at this time.</p> +</div> +<p>Web Runtime for Android supports 12 APIs to access device capabilities, such as vibration, geolocation and battery status. You can see a <a href="https://wiki.mozilla.org/WebAPI#APIs">complete list of supported APIs here</a>: APIs showing "A" under "Availability" are those APIs available on Android, with green cells indicating that the API is available in full. You can also mouseover individual cells to get tooltips containing more information.</p> +<p>Web Runtime for Android will continue to add support for other APIs in future releases. Some of the APIs planned are:</p> +<ul> + <li>Alarm API</li> + <li>SimplePush API</li> + <li>Web Activities</li> +</ul> +<div class="note"> + <p><strong>Note</strong>: Android users may be using devices with higher resolutions, greater pixel densities (DPI) and larger screen sizes than those found on Firefox OS devices. Apps that haven't used responsive design may therefore provide a poor experience, and you may want to design your apps with this in mind. For more information on responsive design see the <a href="/en-US/docs/Apps/Design">Design section of the App Center</a>.</p> +</div> +<h2 id="Using_Open_Web_Apps_for_Android_from_Firefox_Marketplace">Using Open Web Apps for Android from Firefox Marketplace</h2> +<p>This section provides details on how you make use of Open Web Apps for Android from Firefox Marketplace, how they affect the Marketplace experience, and information on app updates.</p> +<h3 id="Submitting_an_app">Submitting an app</h3> +<p>When you <a href="/en-US/Marketplace/Submission/Submitting_an_app">submit an app to the Firefox Marketplace</a>, you choose the option of making your app available for Firefox Mobile or Firefox Tablet. Choosing either or both of these options will automatically deliver your app as an APK on Android devices.</p> +<h3 id="Approving_an_app">Approving an app</h3> +<p>When your app is reviewed, the reviewer installs your app from the reviewer section in Firefox Marketplace. When they do this from an Android device, the "review" instance of the APK Factory service is invoked to create an APK signed in Android debug mode. This version of the APK is then installed on the app reviewer's device and they complete the review process.</p> +<p>If the app is approved, the "release" instance of the APK Factory service is invoked to generate and sign the APK with a unique APK Signing Key. The resulting signed APK is then cached for delivery when a user chooses to install the app.</p> +<h3 id="Installing_an_app">Installing an app</h3> +<p>When a user selects your app in the Marketplace on their Android device, installation works as follows:</p> +<ol> + <li><a href="https://marketplace.firefox.com/">Firefox Marketplace</a> displays the app's details and <strong>Free</strong> install button as normal.</li> + <li>When the user taps <strong>Free</strong>, {{ domxref("Apps.install") }} or {{ domxref("Apps.installPackage") }} is invoked as usual (depending on whether it's a hosted or packaged app) and a call is made to the APK Factory service to request the APK.</li> + <li>The APK is downloaded to the Android device and the standard Android app installation process invoked.</li> + <li>If the user hasn't enabled the <strong>Security</strong> setting <strong>Unknown sources</strong>, Android will alert the user and give them the option to cancel the installation or open <strong>Settings</strong>.</li> + <li>Once <strong>Unknown sources</strong> is enabled, the user is shown an install confirmation dialog. The dialog lists the permissions requested by privileged apps.</li> + <li>If the user taps <strong>Install</strong> the app is installed.</li> + <li>Once the app has been installed, the user is given the option to <strong>Open</strong> the app and in Firefox Marketplace the <strong>Free</strong> button is replaced with a <strong>Launch</strong> button.</li> +</ol> +<p>Subsequently the user will find the application in their Apps screen. In addition, the process to use and remove the app is the same as they'd expect for other Android apps. Firefox for Android provides a list of installed apps under <strong>Apps</strong> on the <strong>Tools</strong> menu as well.</p> +<h3 id="Keeping_apps_up_to_date">Keeping apps up to date</h3> +<p>Firefox for Android provides a mechanism installing update apps.</p> +<p>If your app is hosted, whenever you make a change on its server, users will pick up changes the next time they run your app.</p> +<p>For all other changes, you need to add a new version to the Firefox Marketplace:</p> +<ul> + <li>For a hosted app, the link to the app's hosting server containing the updated manifest file.</li> + <li>For a packaged app a zip file containing the updated app manifest and app content.</li> +</ul> +<p>Firefox for Android makes a daily check on the version number in the app’s manifest and if it has changed silently applies the update.</p> +<h2 id="Using_Open_Web_Apps_for_Android_from_your_own_Marketplace">Using Open Web Apps for Android from your own Marketplace</h2> +<p>You're able to create <a href="/en-US/Marketplace/Publishing/Creating_a_store">your own Marketplace</a>. Such a Marketplace consists of either a directory of apps in Firefox Marketplace or your own hosted content (app descriptions with the main manifest of hosted apps or the mini manifest with app zip archive in the case of packaged apps).</p> +<p>Your Marketplace will pass the URL of the manifest to be installed to {{ domxref("Apps.install") }} / {{ domxref("Apps.installPackage") }} that then invokes APK Factory, meaning you don't have to do anything to enable Open Web Apps for Android in your Marketplace. You do however need to ensure that your Marketplace only serves apps that include APIs supported by the Web Runtime for Android.</p> +<h2 id="How_the_APK_Factory_works">How the APK Factory works</h2> +<p>This section describes how the APK Factory works.</p> +<ul> + <li>When the APK Factory is invoked, as described above, it determines whether there is a cached copy of the app's APK file. If a cached copy isn't available, APK Factory: + <ol> + <li>Requests the app's manifest file from the hosting server (the Firefox Marketplace, or wherever else the app is hosted): + <ul> + <li>The main manifest in the case of hosted apps.</li> + <li>The mini manifest in the case of packaged apps.</li> + </ul> + </li> + <li>Detects whether the app is hosted or packaged.</li> + <li>If the app is packaged, APK Factory requests the app's zip archive from the Marketplace or other hosting server.</li> + <li>Creates the APK by performing some metadata transcoding for elements such as icons and security requirements, after which it: + <ul> + <li>Wraps the hosting URL in an Android Java container for hosted apps.</li> + <li>Wraps the app's content in an Android Java container for packaged apps.</li> + </ul> + </li> + <li>Passes the APK to be signed by the secure <strong><a href="https://github.com/mozilla/apk-signer">APK Signer</a></strong> service: + <ul> + <li>"Review" APKs are signed in Android debug mode.</li> + <li>"Release" APKs are signed with an <strong>APK signing key</strong>.</li> + </ul> + </li> + <li>Caches the signed APK.</li> + </ol> + </li> + <li>Delivers the signed APK file to the device for installation.</li> +</ul> +<p>The following diagrams offer an alternative representation of the workflow of the APK Factory:</p> +<p style="text-align: center;"><img alt="Web Sequence diagram showing the operation of the APK factory" src="https://mdn.mozillademos.org/files/7849/APK%20factory%20operation.png" style="width: 749px; height: 827px;"></p> +<h2 id="Package_naming_and_APK_signing_keys">Package naming and APK signing keys</h2> +<p>On installation of an APK the Android device checks the Java package name and signature. It verifies the signature the first time an app is installed (there is no central authority it checks with). Future updates must then have the same package name and signature. If the package name and signature aren't the same the Android device won't update the installation.</p> +<h3 id="Package_naming">Package naming</h3> +<p>The package name for an APK consists of the hosting site and a unique serial number, for example:</p> +<ul> + <li>For a hosted app: org.mykzilla.p362b12c70d0556c124908a3c125d3d02:</li> + <li>For a packaged app: com.firefox.marketplace.p0604c71abc0d4091829d19be9a50453c</li> +</ul> +<h3 id="APK_signing_keys">APK signing keys</h3> +<p>Each APK needs to be identified by an APK signing key before it can be installed on an Android device. APK signing keys are created and owned by the <strong><a href="https://github.com/mozilla/apk-signer">APK Signer</a></strong> service. These signing keys are sensitive, and stored securely in the APK Signer.</p> +<p>This service creates a unique key for each app, applying it to the original release and subsequent updates. The reuse of the key on updated app APKs is important, as without a match in the package name and key Android won't install an update over an earlier version of the app. If you create your own Marketplace the APK will retain the same name and keys, so that either version will be able to update the other.</p> +<div class="note"> + <p><strong>Note</strong>: Mozilla assumes no responsibility for the credibility of the APK signing keys. That is, the keys provide no information about the authenticity of the app or developer beyond the fact that they have been approved for release in Marketplace, if the app is hosted there. The service is not tied to Google or any other central authority.</p> +</div> +<h2 id="FAQ">FAQ</h2> +<p>Here are answers to some frequently asked questions about APKs for Open Web Apps for Android.</p> +<h3 id="What_about_re-installation_of_apps_installed_as_bookmarks">What about re-installation of apps installed as bookmarks?</h3> +<p>When a user updates to Firefox for Android version 29 or later, their bookmark-style apps will continue to work, and Firefox will prompt users to update apps to their Open Web Apps for Android version.</p> +<h3 id="How_will_in-app_purchases_work">How will in-app purchases work?</h3> +<p>The APK is given access to the trusted UI, <a href="/en-US/docs/Web/API/Navigator.mozPay">mozPay</a>, and all payment processes for in-app purchases, so in-app payments will function as normal.</p> +<h3 id="How_do_I_download_a_copy_of_my_app's_APK">How do I download a copy of my app's APK?</h3> +<p>You can download a copy of your app from the APK Factory service by retrieving a URL in the format:</p> +<p style="margin-left: 40px;"><code>https://controller.apk.firefox.com/application.apk?manifestUrl=ESCAPED_URL_TO_MANIFEST</code></p> +<p>where <code>ESCAPED_URL_TO_MANIFEST</code> is an escaped URL to the app's manifest or mini-manifest. That URL causes the APK Factory to return the cached copy of the APK, or create a new one if the app hasn't been submitted to Marketplace.</p> +<h4 id="Examples">Examples</h4> +<p>For a hosted app:</p> +<p><code>> wget https://controller.apk.firefox.com/application.apk?manifestUrl=http%3A%2F%2Fmykzilla.org%2Fapp%2Fmanifest.webapp -O mykzilla.apk</code></p> +<p>For a packaged app:</p> +<p><code>> wget https://controller.apk.firefox.com/application.apk?manifestUrl=https%3A%2F%2Fmarketplace.firefox.com%2Fapp%2Fa22e0277-35bc-434d-9371-1568c75fc726%2Fmanifest.webapp -O cuttherope.apk</code><br> + </p> +<h3 id="Can_I_generate_an_APK_manually_from_a_different_URL">Can I generate an APK manually from a different URL?</h3> +<p>Yes, by providing the URL to any location for your manifest or mini-manifest files. However, be aware that because the APK is generated from a different URL the package name will differ from that created when you submit the app to Firefox Marketplace, so the Firefox Marketplace version will be installed as a separate app.</p> +<h3 id="If_I_setup_my_own_copy_of_the_APK_Factory_can_I_use_the_APKs_it_generates">If I setup my own copy of the APK Factory can I use the APKs it generates?</h3> +<p>You can, but be aware that the signing keys will differ from those assigned to the APKs generated by Firefox Marketplace. As a result Android will refuse to install whichever version the user tries to install second. (See <a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Open_web_apps_for_android#If_I_also_have_an_Android_native_version_of_my_app.2C_can_both_be_installed_on_an_Android_device.3F">If I also have an Android native version of my app, can both be installed on an Android device?</a> for more information.)</p> +<h3 id="Can_I_submit_an_APK_created_by_the_APK_Factory_to_Google_Play_or_other_Android_store">Can I submit an APK created by the APK Factory to Google Play or other Android store?</h3> +<p>You can submit an APK generated by APK Factory to Google Play or an alternative Android store. However, it's your responsibility to:</p> +<ul> + <li>Confirm that your app complies with the policies of the store you're submitting it to. Approval for distribution in Firefox Marketplace doesn't imply any approval for Google Play or another Android marketplace.</li> + <li>When you update your app you'll have to update the APK on any stores you have submitted the APK to; there is no automatic process to deliver updated APKs to Android stores.</li> +</ul> +<h3 id="Can_I_use_my_Android_signing_keys_to_sign_the_APK_and_choose_the_package_name">Can I use my Android signing keys to sign the APK and choose the package name?</h3> +<p>At present you cannot use your own signing keys to sign an APK generated by APK Factory or choose the package name. This is an option being considered. If this is of interest to you, join the discussion on the <a href="https://lists.mozilla.org/listinfo/dev-marketplace">dev-marketplace mailing list</a>, or the <a href="irc://irc.mozilla.org/marketplace">Marketplace IRC channel</a>.</p> +<h3 id="If_I_also_have_an_Android_native_version_of_my_app_can_both_be_installed_on_an_Android_device">If I also have an Android native version of my app, can both be installed on an Android device?</h3> +<p>Unless you choose to use the APK package name created by APK Factory for your native Android app, both can be installed on an Android device. If you choose to use the same package name for your native Android app (which you'll sign with your own key) Android will refuse to install whichever version the user tries to install second. This is because the package names are the same but the signing keys are different, so Android considers the apps to be the same, but from different sources. Therefore Android will refuse to update one app with the other, since that would allow one developer to override another's app. The user will end up with the first version installed on their device.</p> +<div class="warning"> + <p>Because of the issues it may cause for users, it's highly recommended that you don't reuse the package name the APK Factory assigns to your app for a native Android version of your app.</p> +</div> +<h3 id="How_can_I_testdebug_APKs">How can I test/debug APKs?</h3> +<p>We're working on a toolchain for testing and debugging an app on an Android device. The initial version will include a Node-based command-line tool for generating an APK you can install on the device and debug using Firefox's Remote Developer Tools.</p> +<h2 id="Also_see">Also see</h2> +<ul> + <li>Hacks blog: <a href="https://hacks.mozilla.org/2014/06/firefox-os-apps-run-on-android/">Firefox OS Apps run on Android</a></li> + <li>Hack blog: <a href="https://hacks.mozilla.org/2014/06/testing-your-native-android-app/" rel="bookmark" title="Permanent link to “Testing Your Native Android App”">Testing Your Native Android App</a></li> +</ul> diff --git a/files/de/archive/mozilla/marketplace/publishing/index.html b/files/de/archive/mozilla/marketplace/publishing/index.html new file mode 100644 index 0000000000..d219377947 --- /dev/null +++ b/files/de/archive/mozilla/marketplace/publishing/index.html @@ -0,0 +1,6 @@ +--- +title: Publishing +slug: Archive/Mozilla/Marketplace/Publishing +translation_of: Archive/Mozilla/Marketplace/Publishing/Introduction +--- +<p>Marketplace publishing</p> diff --git a/files/de/archive/mozilla/marketplace/publishing/packaged_apps/index.html b/files/de/archive/mozilla/marketplace/publishing/packaged_apps/index.html new file mode 100644 index 0000000000..3ba4548eba --- /dev/null +++ b/files/de/archive/mozilla/marketplace/publishing/packaged_apps/index.html @@ -0,0 +1,184 @@ +--- +title: Gepackte Apps +slug: Archive/Mozilla/Marketplace/Publishing/Packaged_apps +translation_of: Archive/Mozilla/Marketplace/Options/Packaged_apps +--- +<p>Eine <strong>gepackte App </strong>ist eine Offene Web App die all ihre Ressourcen (HTML, CSS, JavaScript, app mainfest und so weiter) komprimiert in einer zip Datei hat, anstatt die Dateien auf einem Webserver zu hosten. EIne gepackte App ist einfach einezip Datei, welche die <a href="/de/docs/Apps/Manifest">App Mainfest </a>in dem Hauptverzeichniss trägt. Die App Mainfest muss den Namen <code>manifest.webapp</code> tragen.</p> +<p>Einer der unterschiede zu einer gehosteten App ist, dass eine gepackte App den <code><a href="/de/docs/Apps/Manifest#launch_path">launch_path</a> </code>in der Mainfest eingetragen haben muss. Dennoch ist es optional den Pfad auch in einer gehosteten App einzutragen.</p> +<div class="note"> + <p><strong><span class="short_text" id="result_box" lang="de"><span class="hps">Anmerkung</span></span>:</strong> Der Firefox Marktplatz unterstützt momentan nur gepackte App´s für Firefox OS.</p> +</div> +<h2 id="Zweck_einer_gepackten_App">Zweck einer gepackten App</h2> +<p>Der Zweck einer gepackten App ist, das man einen <span class="short_text" id="result_box" lang="de"><span class="hps">verarbeitbaren</span></span> Weg hat, um Zugriff auf die sensitiven API´s der Geräte zu haben. Die App muss von dem Store (Wie der Firefox Marktplatz), von dem die App´s verteilt werden geprüft werden. Der Store prüft die App, sobald diese für akzeptabel befunden wird, wird die App <span class="short_text" id="result_box" lang="de"><span class="hps">kryptographisch mit einem privatem Schlüssel versehen. Das gebit den Verbrauchern der App mehr Sicherheit, dass die App </span></span>sorgsam auf Sicherheit, Datenschutz und Leistungsfähigkeit geprüft wurde.</p> +<p> </p> +<h2 id="Typen_einer_gepackten_App">Typen einer gepackten App</h2> +<p>Es gibt 3 Typen einer gepackten App:</p> +<dl> + <dt> + Privilegierte App</dt> + <dd> + Eine privilegierte App wurde durch ein spezielles Verfahren von dem Firefox Marktplatz genehmigt. Dadurch soll mehr Sicherheit für den Benutzer gewährleistet werden, wenn eine App spezielle sensitiven APIs des Gerätes benutzen möchte. Es ist mit nativen Apps auf Plattformen wie iOS oder Android zu vergleichen. Um eine App als privilegierte App zu kennzeichnen muss das <a href="/en-US/docs/Web/Apps/Manifest#type" style="line-height: 1.5;"><code>type</code></a><span style="line-height: 1.5;"> Feld in der der Datei </span><code style="font-size: 14px;">manifest.webapp</code><span style="line-height: 1.5;"> auf </span><code style="font-size: 14px;">privileged</code><span style="line-height: 1.5;"> gesetzt werden.</span></dd> + <dd> + Eine priviligierte App hat folgende Eigenschaften: + <ul> + <li>Freigegeben durch einen App Store nach einem Code Review oder einer vergleichbraen Prüfung.</li> + <li>Alle resourcen einer App's werden durch den App Store signiert.</li> + <li>Zugriff auf spezielle, sensible Web APIs, auf die nicht vertrauenswürdiger Inhalt nicht zugreifen darf.</li> + <li>Erzwingt eine sogenannte <a href="/en-US/docs/Security/CSP/Introducing_Content_Security_Policy">Content Security Policy</a> (CSP). Eine privilegierte App benutz folgende CSP: + <pre class="brush: js">"default-src *; script-src 'self'; object-src 'none'; style-src 'self' 'unsafe-inline'"</pre> + </li> + <li>Implementiert weitere Anforderungen an die Sicherheit. Siehe <a href="https://wiki.mozilla.org/Apps/Security">Security</a> für mehr Informationen.</li> + </ul> + </dd> + <dt> + Zertifizierte App</dt> + <dd> + <span id="result_box" lang="de"><span class="hps">Ein zertifiziertes</span> <span class="hps">App ist für</span> <span class="hps">einen kritischen</span> <span class="hps">Systemfunktion</span> <span class="hps">wie die</span> <span class="hps">Standard</span> <span class="hps">Dialer oder</span> <span class="hps">die</span> <span class="hps">Systemeinstellungen</span> <span class="hps">App</span> <span class="hps">auf einem Smartphone</span> <span class="hps">gedacht.</span> <span class="hps">Diese Art von</span> <span class="hps">App</span> könnte <span class="hps">für kritische</span> <span class="hps">Funktionen auf einem</span> <span class="hps">Firefox</span> <span class="hps">OS</span> <span class="hps">Phone</span> <span class="hps">verwendet werden .</span> <span class="hps">Es ist nicht für</span> <span class="hps">Anwendungen von Drittanbietern</span> <span class="hps">vorgesehen</span><span>,</span> <span class="hps">so dass die meisten</span> <span class="hps">App</span><span class="hps"> nich mit anderen Apps funktionieren </span><span>.</span> <span class="hps">Ein zertifiziertes</span> <span class="hps">App ist</span> <span class="hps">eine verpackte</span> <span class="hps">App</span><span>, die ähnlich</span> <span class="hps">einer privilegierten</span> <span class="hps">App ist</span><span>, mit der Ausnahme</span><span>, dass alle</span> <span class="hps">Geräteberechtigungen</span><span class="hps"> implizit sind</span><span>,</span> <span class="hps">das heißt, sie</span> <span class="hps">ist ohne ausdrückliche</span> <span class="hps">Genehmigung durch den Benutzer</span> <span class="hps">aktiviert sind.</span> <span class="hps">Ein zertifiziertes</span> <span class="hps">App</span> <span class="hps">muss</span> <span class="hps">für ein Gerät</span></span><span id="result_box" lang="de"><span class="hps"> genehmigen</span></span><span id="result_box" lang="de"> <span class="hps">vom OEM</span> <span class="hps">oder Träger</span><span>, um diese</span> <span class="hps">implizite</span> <span class="hps">Zustimmung</span> <span class="hps">zu kritischen</span> <span class="hps">APIs</span> <span class="hps">verwenden zu können</span> <span class="hps">.</span> <span class="hps">Um anzugeben</span><span>, dass</span> <span class="hps">dies eine zertifizierter</span> <span class="hps">App ist</span><span>, fügen Sie den</span> <span class="hps">Feldtyp </span></span><a href="/en-US/docs/Web/Apps/Manifest#type"><code>type</code></a><span id="result_box" lang="de"> <span class="hps">auf seine</span> <code>manifest.webapp </code><span>-Datei und</span> <span class="hps">legen Sie es auf</span> <span class="hps">zertifiziert.</span></span></dd> + <dd> + <span id="result_box" lang="de"><span class="hps">Das folgende ist die</span> <span class="hps">CSP</span> <span class="hps">für eine</span> <span class="hps">zertifizierte</span> <span class="hps">App, die</span> <span class="hps">geringfügig von der</span> <span class="hps">CSP</span> <span class="hps">für eine privilegierte</span> <span class="hps">App abweicht</span><span>:</span></span> + <pre class="brush: js">"default-src *; script-src 'self'; object-src 'none'; style-src 'self'"</pre> + <span id="result_box" lang="de"><span class="hps">Dies hat den Effekt</span> <span class="hps">von etwas</span> <span class="hps">lockerere</span> <span class="hps">Regeln</span> <span class="hps atn">für die Inline-</span><span>CSP</span> <span class="hps">für privilegierte</span> <span class="hps">Apps</span> <span class="hps">im Vergleich zu</span> <span class="hps">zertifizierten</span> <span class="hps">Apps.</span> <span class="hps">Wenn Sie</span> <span class="hps">mehr von der</span> <span class="hps">Überlegung dahinter</span> <span class="hps">möchten,</span> <span class="hps">finden Sie unter Standard</span> </span><a href="https://wiki.mozilla.org/Apps/Security#Default_CSP_policy">Default CSP policy</a><span id="result_box" lang="de"><span class="hps"> und</span> </span><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=768029">Bug 768029</a>.<span id="result_box" lang="de"> </span></dd> + <dt> + Plain packaged app</dt> + <dd> + You can also make a regular app that is simply packaged in a zip file. The Marketplace signs it, but does not perform the special authentication process used for privileged or certified apps. This plain packaged app cannot use certain sensitive Web APIs. It is not subject to the CSPs described for privileged and certified apps. This type of app could be useful if you want all of your app's resources available on the device when the user first uses it, with no downloading. This type of packaged app does not require the <code>type</code> field in its <code>manifest.webapp</code> file, because the default value for <code>type</code> (<code>web</code>) is correct.</dd> +</dl> +<h2 id="Using_sensitive_Web_APIs">Using sensitive Web APIs</h2> +<p>There are Web APIs that could be used maliciously, so access to them must be controlled. For every sensitive API you want your app to access, you must add an entry to the <code>permissions</code> field in the <a href="/en-US/docs/Web/Apps/Manifest">app's manifest</a>.</p> +<p>Some sensitive APIs can be accessed by normal hosted apps, but other APIs require that you use a packaged app (privileged or certified). See <a href="/en-US/docs/Web/Apps/App_permissions">App permissions</a> for a table that describes the requirements.</p> +<h2 id="Packaged_apps_and_the_Firefox_Marketplace">Packaged apps and the Firefox Marketplace</h2> +<p>The Firefox Marketplace handles packaged apps differently from hosted apps. When you submit your packaged app, its zip file is stored on the Marketplace servers, and the Marketplace generates a new manifest called the "mini-manifest" that is based on the app manifest in your packaged app's zip file. When a user installs your app, the mini-manifest is passed to the <code>installPackage()</code> function to install the app. The mini-manifest exists for installation and update purposes and is not used when your app runs.</p> +<h2 id="Testing_packaged_app_installation">Testing packaged app installation</h2> +<p>To install a packaged app on a Firefox OS device using the Simulator for testing purposes, see the <a href="/en-US/docs/Tools/Firefox_OS_Simulator#Push_to_device">section on "Push to Device" in the Simulator guide</a>. To test a packaged app without the Simulator, you can install it on a device from a regular web server by following the steps below, in the Self-publishing packaged apps section.</p> +<h2 id="Self-publishing_packaged_apps">Self-publishing packaged apps</h2> +<p>You can self-publish a packaged app by hosting it on a server along with a mini-manifest in the same directory that identifies the app and is used in the install process. This section covers how to do this detail.</p> +<p>Note that you can also host a packaged app locally and test it on a real device. The Web server and the phone must be on the same network, and the server must be able to serve requests from the local network. You just need to include the absolute path to the referenced files, in the same way as the absolute paths are included normally (see below.) Remember to include the port information if you are using a non-standard port, for example <code><a class="LinkyMobile-ext" href="http://10.10.12.1:8080/package.zip" title="Linkification: http://10.10.12.1:8080/package.zip">http://10.10.12.1:8080/package.zip</a></code>.</p> +<h3 id="Steps">Steps</h3> +<ol> + <li> + <p>Zip up your app's contents and give it the name <code>package.zip</code>. This file should contain all the app's resource files, including the manifest.</p> + <div class="warning"> + <p>Caution: You must be also careful to zip the contents you wish to appear in the packaged app, and not the directory they are contained in. If you zip up the parent directory, the manifest will end up in the wrong place, and the packaged app will be invalid.</p> + </div> + </li> + <li>Create a file called <code>package.manifest</code> and give it the contents below. This is a mini-manifest used for packaged app installation purposes. It is not the main manifest of your app that is inside the zip file. See <a href="#Mini-manifest_fields">Mini-manifest fields</a> if you want more detailed information about mini-manifests. + <pre class="brush: js">{ + "name": "My sample app", + "package_path" : "<a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/my-app.zip" title="Linkification: http://my-server.com/my-app-directory/my-app.zip">http://my-server.com/my-app-directory/my-app.zip</a>", + "version": "1", + "developer": { + "name": "Chris Mills", + "url": "<a class="LinkyMobile-ext" href="http://my-server.com" title="Linkification: http://my-server.com">http://my-server.com</a>" + } +}</pre> + </li> + <li>Create a file named <code>index.html</code> with the following contents. This contains sample JavaScript that calls the packaged app (<a href="/en-US/docs/Web/API/Apps.installPackage"><code>installPackage()</code></a>) and callbacks for success and failure notification. + <pre class="brush: html"><html> + <body> + <p>Packaged app installation page</p> + <script> + // This URL must be a full url. + var manifestUrl = '<a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/package.manifest" title="Linkification: http://my-server.com/my-app-directory/package.manifest">http://my-server.com/my-app-directory/package.manifest</a>'; + var req = navigator.mozApps.installPackage(manifestUrl); + req.onsuccess = function() { + alert(this.result.origin); + }; + req.onerror = function() { + alert(this.error.name); + }; + </script> + </body> +</html></pre> + </li> + <li>Copy <code>package.zip</code>, <code>package.manifest</code>, and <code>index.html</code> into your app root directory (<code>my-app-directory</code> in my examples).</li> + <li>Using a compatible device (such as a Firefox OS phone), navigate to the location on your server where you put the example files and confirm the prompt to install the app. The script will give an indication of installation success or failure.</li> +</ol> +<div class="note"> + <p><strong>Note:</strong> You can not install <code>privileged</code> or <code>certified</code> apps with installations from hosted packages, as they need to be signed. Use the Simulator to test <code>privileged</code> apps.</p> +</div> +<h2 id="Mini-manifest_fields">Mini-manifest fields</h2> +<p>Here is a more in-depth example of a mini-manifest:</p> +<pre class="brush: js">{ + "name": "My app", + "package_path": "<a class="LinkyMobile-ext" href="http://thisdomaindoesnotexist.org/myapp.zip" title="Linkification: http://thisdomaindoesnotexist.org/myapp.zip">http://thisdomaindoesnotexist.org/myapp.zip</a>", + "version": "1.0", + "size": 172496, + "release_notes": "First release", + "developer": { + "name": "Developer Name", + "url": "<a class="LinkyMobile-ext" href="http://thisdomaindoesnotexist.org/" title="Linkification: http://thisdomaindoesnotexist.org/">http://thisdomaindoesnotexist.org/</a>" + }, + "locales": { + "fr-FR": { + "name": "Mon application" + }, + "se-SE": { + "name": "Min balla app" + } + }, + "icons": { + "16": "/icons/16.png", + "32": "/icons/32.png", + "256": "/icons/256.png" + } +} +</pre> +<p>When the Firefox Marketplace generates a mini-manifest for your app, it pulls information from your app's manifest for some of the fields. You can find documentation for these fields at <a href="/en-US/docs/Web/Apps/Manifest">App manifest</a>. The fields unique to the mini-manifest are <code>package_path</code>, <code>release_notes</code>, and <code>size</code>. The <code>name</code>, <code>version</code>, <code>developer</code>, and <code>locales</code> fields in your app manifest must be exactly the same as in your mini-manifest.</p> +<p>Here is information on the mini-manifest that relates to using it locally for your own testing:</p> +<dl> + <dt> + <code>name</code></dt> + <dd> + (required) The app's name. Maximum length is 128 characters.</dd> + <dt> + <code>package_path</code></dt> + <dd> + (required) The URL where the app's zip file can be found. You need to make sure the <code>package_path</code> is absolute to where the ZIP file is located.</dd> + <dt> + <code>version</code></dt> + <dd> + The version of the app.</dd> + <dt> + <code>size</code></dt> + <dd> + The size of the app's zip file in bytes. This is not necessary for local testing, but provide it to get a progressbar during installation.</dd> + <dt> + <code>release_notes</code></dt> + <dd> + Information about this release of the app. On the Marketplace this information comes from a Web page that is part of the submission process.</dd> + <dt> + <code>developer</code></dt> + <dd> + Information about the developer, contains the <code>name</code> and <code>url</code> fields. The developer info needs to match between the mini-manifest and the main manifest file in the ZIP.</dd> + <dt> + <code>locales</code></dt> + <dd> + Localization information. Keys should be in <code>xx-YY</code> format.</dd> + <dt> + <code>icons</code></dt> + <dd> + Icons for use by the app.</dd> +</dl> +<div class="note"> + <p><strong>Note:</strong> Values in <code>package</code> and <code>webapp.manifest</code> need to be the same, otherwise installation will fail. The safest way is to copy <code>manifest.webapp</code> into <code>package.manifest</code> and just add the <code>package_path</code>.</p> +</div> +<h2 id="Differences_from_hosted_apps">Differences from hosted apps</h2> +<p>Packaged apps have the same capabilites as normal website-style Open Web Apps ("hosted" apps), but packaged apps have a few differences:</p> +<ul> + <li>They have no Internet origin. The one-app-per-origin policy that governs hosted apps does not apply to packaged apps.</li> + <li>They use a special protocol internal to the zip file: <code>app://<uuid></code>. Example: When you load the content <code>/index.html</code> in a packaged app, you are actually loading something like the following (the UUID will be different): + <pre class="brush: js">app://550e8400-e29b-41d4-a716-446655440000/index.html</pre> + <p>The UUID is randomly generated at install time, which means that it is unique per device it is installed on. The <code>app://</code> protocol will be useful in future releases of the Web runtime for some identity, payment and OAuth flows.</p> + </li> + <li>Their resources are accessed from the zip file, which is stored on the device where the app is installed.</li> + <li>For a self-hosted packaged app, you need to include an additional mini-manifest in the same directory as the zipped packaged app, which doesn't need to be called <code>manifest.webapp</code> (you might call it something like <code>package.webapp</code>). See {{ anch("Self-publishing packaged apps") }} above for more details.</li> + <li>They are installed with a different <code>mozApps</code> API function, <code>installPackage()</code>, which for a self-hosted packaged app must point to the mini-manifest.</li> + <li>They enforce a specific <a href="/en-US/docs/Security/CSP/Introducing_Content_Security_Policy">CSP</a> for all application content (a hosted app could also use a CSP, but it is not required).</li> + <li>They can embed remote content in iframes, but that content will not have access to privileged APIs nor will it have the default CSP applied to it.</li> + <li>They have an update process for getting new versions of the app to users. Hosted apps do not need this process.</li> +</ul> +<p>The packaged app can still do things like access a database on a Web server, like a regular hosted app.</p> +<h2 id="Updating_packaged_apps">Updating packaged apps</h2> +<p>For information on updating apps, see <a href="/en-US/docs/Web/Apps/Updating_apps">Updating apps</a>.</p> +<h2 id="Packaged_app_example">Packaged app example</h2> +<p><a href="https://github.com/robnyman/Firefox-OS-Boilerplate-App" title="https://github.com/robnyman/Firefox-OS-Boilerplate-App">Firefox OS Boilerplate App</a></p> diff --git a/files/de/archive/mozilla/marketplace/publishing/publish_options/index.html b/files/de/archive/mozilla/marketplace/publishing/publish_options/index.html new file mode 100644 index 0000000000..63d97f6016 --- /dev/null +++ b/files/de/archive/mozilla/marketplace/publishing/publish_options/index.html @@ -0,0 +1,67 @@ +--- +title: Veröffentlichungsoptionen Ihrer App +slug: Archive/Mozilla/Marketplace/Publishing/Publish_options +translation_of: Archive/Mozilla/Marketplace/Options/Self_publishing +--- +<div class="summary"> + <p>Once you have finished your app, you need to deploy it and publish it. This involves making it available for users to consume (whether they are going to just navigate to it in a browser and use it like a regular web page, or download it and install it on a device like a Firefox OS phone.), letting people know it is available, and providing supporting information such as usage instructions and help resources. This article looks briefly at the options available to you.</p> +</div> +<h2 id="Publishing_on_the_Firefox_Marketplace">Publishing on the Firefox Marketplace</h2> +<p>The <a href="https://marketplace.firefox.com/" title="/en-US/docs/Web/Apps/Publishing/Submitting_an_app">Firefox Marketplace</a> is our own dedicated app store for distributing free and paid apps. <a href="/de/Marketplace/Submission/Submitting_an_app">Submitting an app to the Firefox Marketplace</a> is a simple process, involving uploading the app itself plus surrounding information, and waiting for it to go through our thorough review process to make sure it is high quality and not malicious. Submitting to the Firefox Marketplace also confers other advantages such as increased publicity, no need to implement special APIs on your own web site, and the possibility of publishing paid apps more easily. You can submit both hosted apps and packaged apps to the Firefox Marketplace.</p> +<h3 id="Hosted_apps">Hosted apps</h3> +<p>A hosted app is basically an app hosted on a web server just like a regular web page. If you want to let people install a hosted app straight from the site, you must <a href="//developer.mozilla.org/docs/Apps/Apps_JavaScript_API">implement some JavaScript code</a> on your Web site to manage installing and updating your app into users' browsers, and make sure your app code includes a valid manifest file. Please see our writeups of <a href="/en-US/docs/Web/Apps/Introduction_to_open_web_apps#Manifest" title="/en-US/docs/Web/Apps/Introduction_to_open_web_apps#Manifest">manifest files</a> and <a href="/en-US/docs/Web/Apps/Introduction_to_open_web_apps#Install_API_functionality" title="/en-US/docs/Web/Apps/Introduction_to_open_web_apps#Install_API_functionality">Install API functionality</a> for how simple these steps are to implement.</p> +<p>Where you host the app is really up to you, but the two options listed below are probably the most common and easiest.</p> +<h4 id="GitHub">GitHub</h4> +<p>If the Web app is purely static (HTML/CSS/JavaScript, but no server-side processing), <a href="http://pages.github.com" rel="external">GitHub Pages</a> is a solid hosting option. It will serve your manifest with the <a href="//developer.mozilla.org/docs/Apps/Manifest#Serving_from_GitHub">correct MIME type</a> if you give it a <code>.webapp</code> extension.</p> +<h4 id="Generic_hosting_solutions">Generic hosting solutions</h4> +<p>For dynamic websites, use a generic hosting option (like a Web server you may already own or have access to) with the right capabilities or a hosting provider specifically tailored to the needs of your app, like <a href="http://www.heroku.com" rel="external">Heroku</a> or <a href="http://code.google.com/appengine" rel="external">Google App Engine</a>.</p> +<div class="note"> + <p><strong>Note</strong>: Installable open web apps have a "single app per origin" security policy; basically, you can't host more than one installable app per origin. This makes testing a bit more tricky, but there are still ways around this, such as creating different sub-domains for apps, testing them using the Firefox OS Simulator, or testing the install functionality on Firefox Aurora/Nightly, which allow installable web apps to install on the desktop. See <a href="/en-US/docs/Web/Apps/FAQs/About_app_manifests">FAQs about apps manifests</a> for more information on origins.</p> +</div> +<h3 id="Packaged_apps">Packaged apps</h3> +<p>A packaged app is an Open Web App that has all of its resources (HTML, CSS, JavaScript, app manifest, and so on) contained in a zip file, instead of having its resources on a Web server. A packaged app is simply a zip file with the <a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest">app manifest</a> in its root directory. The manifest must be named <code>manifest.webapp</code>.</p> +<p>One difference from a hosted app is that a packaged app must specify a <code><a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest#launch_path">launch_path</a></code> in the manifest, whereas it's an optional manifest field for a hosted app. For more information, check out our <a href="/en-US/docs/Web/Apps/Publishing/Packaged_Apps" title="/en-US/docs/Web/Apps/Publishing/Packaged_Apps">Packaged Apps</a> article.</p> +<h2 id="Self-publishing_apps">Self-publishing apps</h2> +<p>You can also choose to self-publish apps. For hosted apps, this just involves putting them up on web hosting, as detailed above.</p> +<p>You can self-publish a packaged app by hosting it on a server along with a mini-manifest in the same directory that identifies the app and is used in the install process. Let's run through this process:</p> +<ol> + <li>Have your packaged app's zip file available and give it the name <code>package.zip</code>. This file contains all the app's resource files, including the manifest.</li> + <li>Create a file called <code>package.manifest</code> and give it the contents below. This is a mini-manifest used for packaged app installation purposes. It is not the main manifest of your app that is inside the zip file.<br> + <pre class="brush: js">{ + "name": "My sample app", + "package_path" : "http://my-server.com/my-app-directory/my-app.zip", + "version": "1", + "developer": { + "name": "Chris Mills", + "url": "http://my-server.com" + } +}</pre> + </li> + <li>Create a file named <code>index.html</code> with the following contents. This contains sample JavaScript that calls the packaged app (<a href="/en-US/docs/Web/API/Apps.installPackage"><code>installPackage()</code></a>) and callbacks for success and failure notification. + <pre class="brush: html"><html> + <body> + <p>Packaged app installation page</p> + <script> + // This URL must be a full url. + var manifestUrl = 'http://my-server.com/my-app-directory/package.manifest'; + var req = navigator.mozApps.installPackage(manifestUrl); + req.onsuccess = function() { + alert(this.result.origin); + }; + req.onerror = function() { + alert(this.error.name); + }; + </script> + </body> +</html></pre> + </li> + <li>Copy <code>package.zip</code>, <code>package.manifest</code>, and <code>index.html</code> into your app root directory (<code>my-app-directory</code> in my examples).</li> + <li>Using a compatible device (such as a Firefox OS phone), navigate to the location on your server where you put the example files and confirm the prompt to install the app. The script will give an indication of installation success or failure.</li> +</ol> +<div class="note"> + <p><strong>Note:</strong> You can't install <code>privileged</code> or <code>certified</code> apps from self-hosted packages, as they need to be signed via the Firefox Marketplace submission process.</p> +</div> +<div class="note"> + <p><strong>Note</strong>: You can even <a href="/en-US/docs/Web/Apps/Creating_a_store" title="/en-US/docs/Web/Apps/Creating_a_store">create your own apps store</a>, which has a number of options available to it.</p> +</div> +<p> </p> diff --git a/files/de/archive/mozilla/marketplace/publishing/submit/index.html b/files/de/archive/mozilla/marketplace/publishing/submit/index.html new file mode 100644 index 0000000000..a6e3468169 --- /dev/null +++ b/files/de/archive/mozilla/marketplace/publishing/submit/index.html @@ -0,0 +1,10 @@ +--- +title: Submit +slug: Archive/Mozilla/Marketplace/Publishing/Submit +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/Mozilla/Marketplace/Publishing/Submit +--- +<p>This section describes the process for submitting an app to Firefox Marketplace</p> +<p>Residual details: <a href="/en-US/Marketplace/Publishing/Submit/Submitting_an_app">https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Submitting_an_app</a></p> diff --git a/files/de/archive/mozilla/marketplace/publishing/updating_apps/index.html b/files/de/archive/mozilla/marketplace/publishing/updating_apps/index.html new file mode 100644 index 0000000000..5fc08ff26a --- /dev/null +++ b/files/de/archive/mozilla/marketplace/publishing/updating_apps/index.html @@ -0,0 +1,27 @@ +--- +title: Updating apps +slug: Archive/Mozilla/Marketplace/Publishing/Updating_apps +translation_of: Archive/Mozilla/Marketplace/Publishing/Updating_apps +--- +<div class="summary"> + <p><span class="seoSummary">Dieser Artikel beschreibt den Prozess, mit dem Sie apps aktualisieren können, die bereits, Selbstveröffentlicht oder veröffentlicht auf dem <a href="https://marketplace.firefox.com/">Firefox Marketplace</a> wurden.</span></p> +</div> +<div class="note"> + <p><strong>Hinweis: Wenn Sie den Namen Ihrer Anwendung ändern, wenn es Marketplace genehmigt hat, müssen Sie Ihre app zur Genemigung erneut senden.</strong></p> +</div> +<h2 id="Gehostete_apps_zu_aktualisieren">Gehostete apps zu aktualisieren</h2> +<p>An app respects the normal rules for Web caching, and may optionally use advanced mechanisms for improved start-up, like the <a href="/en-US/docs/HTML/Using_the_application_cache">HTML5 AppCache</a>. Given this, there are no special considerations for updating the normal resources that an app uses.</p> +<p>Open Web Apps are different, however, in the handling of the manifest. Some changes to a manifest may require user approval. Depending on the implementation of the Web runtime, it may be unclear whether an update has occurred.</p> +<p>As a clean way to deal with this issue, you can provide a <code>version</code> field in the app manifest. You can later check the version by inspecting the return value of the <a href="/en-US/docs/Web/API/Apps.getInstalled"><code>navigator.mozApps.getInstalled()</code></a> function. If the user's installed version is not up-to-date, you can trigger an update using <a href="/en-US/docs/Web/API/Apps.install"><code>navigator.mozApps.install()</code></a>.</p> +<p>The value of <code>version</code> is not used by the Web runtime, so you can use whatever versioning scheme you want.</p> +<p>Also note that changes to a manifest that introduce errors or other breakage will be detected if the manifest has been submitted to Firefox Marketplace. Serious errors will cause the app's listing to be disabled. Less serious errors may automatically flag the app for re-review.</p> +<h2 id="Updating_packaged_apps">Updating packaged apps</h2> +<p><a href="/en-US/docs/Web/Apps/Packaged_apps">Packaged apps</a> have a different update process than hosted apps. To update a packaged app, you upload a new version of the app's zip file to the Firefox Marketplace. Then the updated app gets reviewed and published to the Marketplace. This triggers an update on the Firefox OS phone. The phone user can also request an update using the Settings app.</p> +<p>If you want more detail on the packaged app update process, see below.</p> +<h3 id="More_details_on_packaged_app_update">More details on packaged app update</h3> +<p>Here are more details on the update process for packaged apps. You might want to know these things if you are implementing an app marketplace.</p> +<ul> + <li>When the updated packaged app is published, the <a href="/en-US/docs/Web/Apps/Packaged_apps#Packaged_apps_and_the_Firefox_OS_Marketplace">mini-manifest</a> is updated to point to the updated zip file (the mini-manifest is not the main app manifest). The <code>ETag</code> header is changed, and this triggers an update on the Firefox OS phone.</li> + <li>Firefox OS on the phone polls once per day for changes to an app. To do this, it polls the URL of the mini-manifest, then polls the URL in the <code>package_path</code> field in the mini-manifest. This is done using the <code>checkForUpdate()</code> method on the <a href="/en-US/docs/Web/API/App"><code>App</code> object</a>. When the <code>ETag</code> header changes, it knows the app has been updated. Then it checks if the zip file has changed.</li> + <li>Firefox OS checks in a batch for app updates.</li> +</ul> diff --git a/files/de/archive/mozilla/marketplace/submission/index.html b/files/de/archive/mozilla/marketplace/submission/index.html new file mode 100644 index 0000000000..5f1479f109 --- /dev/null +++ b/files/de/archive/mozilla/marketplace/submission/index.html @@ -0,0 +1,9 @@ +--- +title: Submission +slug: Archive/Mozilla/Marketplace/Submission +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/Mozilla/Marketplace/Submission +--- +<p>Marketplace Vorlage</p> diff --git a/files/de/archive/mozilla/marketplace/submission/marketplace_review_criteria/index.html b/files/de/archive/mozilla/marketplace/submission/marketplace_review_criteria/index.html new file mode 100644 index 0000000000..8582aaccbc --- /dev/null +++ b/files/de/archive/mozilla/marketplace/submission/marketplace_review_criteria/index.html @@ -0,0 +1,79 @@ +--- +title: Überprüfungskriterien für Marketplace +slug: Archive/Mozilla/Marketplace/Submission/Marketplace_review_criteria +translation_of: Archive/Mozilla/Marketplace/Publishing/Marketplace_review_criteria +--- +<div class="summary"> + <p>Dieser Artikel beschreibt die Anforderungen, die eine App erfüllen muss, um über den Firefox Marketplace verteilt zu werden. Diese Anforderungen sind dazu da, ein Gleichgewicht zwischen den Bedürfnissen der Entwickler und der Anwender von Apps aus dem Firefox Marketplace herzustellen. Entwickler möchten faire, einheitliche, nicht übermäßig strenge Anforderungen, auf denen sie verlässlich ihre Arbeit aufbauen können. Andererseits möchten Anwender die Gewissheit, dass Apps sicher sind, auf ihren Geräten funktionieren und tun, was sie zu tun angeben. Die folgenden App-Anforderungen versuchen, auf dem schmalen Grat zwischen diesen Anforderungen zu gehen.</p> +</div> +<p>Dies sind Mozillas Erwartungen daran, was eine App-Überprüfung ist und nicht ist:</p> +<ul> + <li>Die Kriterien werden fair, rücksichtsvoll und einheitlich angewendet. Die App-Überprüfung soll keine Sperre sein, sondern ein vertrauenswürdiger Berührpunkt, der Entwicklern Rückmeldung liefert, mit dem sie noch erfolgreicher werden können.</li> + <li>Überprüfer sind keine Qualitätssicherung! Während des Überprüfungsprozesses sieht sich ein Überprüfer das App-Manifest an und testet die App einige Minuten lang, wie es ein normaler Anwender auch täte.</li> + <li>Wenn eine App bei der Überprüfung durchfällt, erhält der Entwickler eine genaue Erklärung der gefundenen Probleme sowie Schritte zum Nachvollziehen. Falls möglich sollte der Überprüfer dem Entwickler den Lösungsweg zeigen, indem er Links zu hilfreicher Dokumentation oder Empfehlungen für nötige Änderungen anbietet.</li> + <li>Überpüfer bewerten nicht, wie eine App <em>aussieht</em>, sondern nur, wie sie <em>funktioniert</em>. Beispielsweise würde eine App mit rotem Text auf orangem Hintergrund nicht abgelehnt, weil sie hässlich ist, aber möglicherweise deshalb, weil er nicht lesbar ist.</li> + <li>Wir entscheiden immer im Zweifelsfall für den Entwickler. Wenn sie unsicher sind, ob eine App abgelehnt werden sollte, werden die Überprüfer <em>vorher</em> nachfragen. Apps werden nicht (wissentlich) wegen Problemen mit der Plattform abgelehnt, die der Entwickler nicht beeinflussen kann; wir halten die Freischaltung aber möglicherweise zurück, wenn wir die App nicht zum Laufen kriegen.</li> +</ul> +<h2 id="Sicherheit">Sicherheit</h2> +<p>Die Einzelheiten der Sicherheitsarchitektur für Apps finden Sie hier: <a href="https://wiki.mozilla.org/Apps/Security">https://wiki.mozilla.org/Apps/Security</a></p> +<ul> + <li>Das App-Manifest muss die selbe Herkunft haben, wie die App.</li> + <li>Das App-Manifest muss die Kopfzeile <code>Content-Type</code> vom Typ <code>application/x-web-app-manifest+json</code> haben.</li> + <li>Apps sollten keine Weiterleitungen oder iframes verwenden, um Inhalte zu laden, die der Entwickler nicht verwenden darf.</li> + <li>Angeforderte Berechtigungen müssen im App-Manifest angegeben sein, inklusive einer Beschreibung, wozu eine Berechtigung benötigt wird.</li> +</ul> +<h2 id="Datenschutz">Datenschutz</h2> +<ul> + <li>Der Entwickler muss bei der Einreichung auf eine Datenschutzerklärung verweisen, es gibt aber keine Anforderungen für das Format oder den Inhalt dieser Datenschutzerklärung. Sie können gerne unsere <a href="https://github.com/flamsmark/privacy-policy-template">Vorlage für Datenschutzerklärungen</a> verwenden. Sehen Sie sich auch unseren <a href="/de/Marketplace/Publishing/Privacy_policies">Leitfaden für Datenschutzerklärungen</a> an.</li> +</ul> +<h2 id="Inhalt">Inhalt</h2> +<ul> + <li>Jede App, die unsere folgenden Richtlinien für Inhalte verletzt, ist unzulässig. Wenn Sie glauben, einen Grenzfall zu haben, bitten Sie das Überprüferteam um Klarstellung, auch wenn die App noch nicht zur Einreichung bereit ist. Wir möchten Sie auf der richtigen Spur halten, damit Sie keine Zeit in Entwicklung von Inhalten stecken, die abgelehnt werden.</li> + <li>Ab Januar 2014 müssen alle Apps eine Einstufung von der International Age Rating Coalition (IARC) erhalten. Um diese Einstufung zu erhalten, leiten wir Sie während des Einreichungsprozesses zu einem kurzen Leitfaden, wo Sie die Einstufung direkt erhalten. Weitere Informationen zu dem Einstufungsprozess finden Sie <a href="/de/Marketplace/Submission/Rating_Your_Content">hier</a>.</li> + <li>Screenshots und Beschreibungen, die beim Firefox Marketplace eingereicht werden, müsen die App genau darstellen.</li> + <li>Die <a href="/de/docs/Web/Apps/Manifest#locales"><code>locale</code>-Schlüssel</a> im App-Manifest sollten den Lokalisierungen entsprechen, die Ihre App unterstützt. Wenn Sie einen <code>locale</code>-Schlüssel für polnisch angeben, erwarten die Anwender, dass die App in dieser Sprache verfügbar ist.</li> +</ul> +<h3 id="Richtlinien_für_Inhalte">Richtlinien für Inhalte</h3> +<p>Diese Liste beschreibt Typen von Inhalten, die nicht in den Firefox Marketplace passen. Diese Liste ist beispielhaft, nicht abschließend und kann aktualisiert werden. Wenn eine App diese Richtlinien verletzt, darf Mozilla die App umgehend aus dem Firefox Marketplace entfernen.</p> +<ul> + <li>Keine explizit pornografischen Inhalte oder eindeutige Darstellungen von Sexualität oder Gewalt.</li> + <li>Keine Inhalte, die jemandens Rechte verletzt, darunter das auf geistiges Eigentum, andere Eigentumsrechte, sowie Datenschutz- oder Persönlichkeitsrechte.</li> + <li>Keine Inhalte, die Mozilla oder Anwendern schaden könnten (wie Schadcode, Viren, Spyware oder Malware).</li> + <li>Keine Inhalte, die illegal sind oder illegale Aktivitäten fördern.</li> + <li>Keine Inhalte, die täuschend, irreführend oder betrügerisch sind, sowie für Phishing oder sonstigen Identitätsdiebstahl genutzt werden.</li> + <li>Keine Inhalte, die Glücksspiel fördern.</li> + <li>Keine Inhalte, die illegale oder eingeschränkte Produkte oder Dienste bewerben.</li> + <li>Keine Inhalte, die Kinder ausnutzen.</li> + <li>Keine Inhalte, die einen oder eine Gruppe von Menschen auf Grundlage ihres Alters, Geschlechts, ihrer Rasse, Ethnie, Herkunft, Religion, sexueller Orientierung, Behinderung, ihres Wohnorts oder einer anderen geschützen Kategorie herabsetzt, einschüchtert, zu Gewalt gegen sie aufruft, Vorurteile schürt, oder Volksverhetzung darstellt.</li> + <li>Keine Inhalte, die Anwender täuschen, um sie zu einem Kauf zu bewegen.</li> +</ul> +<h2 id="Funktionalität">Funktionalität</h2> +<ul> + <li>Der Überprüfer muss in der Lage sein, die von der App bereit gestellten Hauptfunktionalitäten zu verwenden. Schönheitsfehler und kleinere Probleme meldet er an den Entwickler zurück, diese verhindern jedoch nicht die Freigabe der App.</li> + <li>Die App darf die Stabilität oder Geschwindigkeit des Geräts gefährden.</li> +</ul> +<h2 id="Bedienerfreundlichkeit">Bedienerfreundlichkeit</h2> +<ul> + <li>Der Entwickler muss Anstrengungen unternehmen, das Aussehen der App für die Geräte-Plattform zu optimieren. Ziel ist es, offensichtliche Fehler zu vermeiden, wie z. B.: + <ul> + <li>Eine App, die offensichtlich eine Desktop-Seite ist, jedoch für Mobilgeräte eingereicht wurde.</li> + <li>Eine App die nicht den zur Verfügung stehenden Platz des Geräts einnimmt (z.B. eine 320x480-App, die nur in einer Ecke auf einem Tablet läuft, der Rest des Bildschirms ist leer. Dies ist sicherlich nicht gewollt!)</li> + </ul> + </li> + <li>Die App muss eine eigene Möglichkeit zur Navigation bereitstellen und darf sich nicht auf typische Browser-Komponenten oder eine Zurück-Schaltfläche in der Geräte-Hardware verlassen, weil diese nicht auf jedem Gerät zur Verfügung steht. + <ul> + <li>Eine App wird beispielsweise abgelehnt, wenn der Überprüfer durch die App navigiert und plötzlich nicht mehr in der Lage ist, die aktuelle Seite zu verlassen, und auf eine andere Seite zu gelangen. Apps müssen jedoch <strong>nicht</strong> eine Schaltflächen-Leiste zur Navigation implementieren, wie es bei nativen Apps üblich ist.</li> + <li>In Firefox OS 1.1 und neuer können Sie die <a href="/de/docs/Apps/Manifest#chrome">chrome</a> Eigenschaft zu Ihrem Manifest hinzufügen, um grundlegende Navigationselemente bereit zu stellen.</li> + </ul> + </li> + <li>Navigationselemente wie Schaltflächen oder Links müssen einfach zu klicken oder anzutippen sein.</li> +</ul> +<h2 id="Sperrlisten-Richtlinie">Sperrlisten-Richtlinie</h2> +<p>Wir hoffen, diese Funktion niemals nutzen zu müssen, aber wir behalten uns vor, freigegebene Apps zu entfernen („blocklist“) bei denen wir im Laufe der Zeit feststellen, dass sie eine der Sicherheits-, Datenschutz- oder Inhalts-Richtlinien verletzt sowie Apps, die die System- oder Netzwerkleistung stark einschränken. Entwickler werden informiert, bevor die Sperre in Kraft tritt. Solange wir keine Beweise für das Gegenteil haben, gehen wir davon aus, dass Entwickler anständig sind und sie erhalten Unterstützung des Überprüfer-Teams zur Aufklärung und Behebung des Problems. Konkrete Beispiele, für Situationen, in denen wir uns eine Sperre vorbehalten, beinhalten:</p> +<ul> + <li>Phishing</li> + <li>Spamming</li> + <li>Ändern des Inhalts von Hundebildern v1.0 zu Brutale Gewalt v1.0 (ohne die Inhaltseinstufung zu ändern, sobald diese Funktion verfügbar ist)</li> + <li>Schwerwiegendes Fehlverhalten einer App für einen großen Teil ihrer Nutzer - verringerte Telefon-Leistung, Geräte-Neustarts, Verlust von Benutzerdaten usw. bei denen der Benutzer nicht erkennen kann, dass die App der Grund dafür ist, und wo ein Geräte-Neustart das Problem nicht behebt.</li> + <li>Eine App, die zum Angriff auf Netzwerke genutzt wird, wie z.B. ein sogenannter distributed denial of service (DDOS)</li> +</ul> diff --git a/files/de/archive/mozilla/marketplace/veröffentlichen/index.html b/files/de/archive/mozilla/marketplace/veröffentlichen/index.html new file mode 100644 index 0000000000..3c94ca1182 --- /dev/null +++ b/files/de/archive/mozilla/marketplace/veröffentlichen/index.html @@ -0,0 +1,106 @@ +--- +title: Veröffentlichen auf dem Firefox Marketplace +slug: Archive/Mozilla/Marketplace/Veröffentlichen +translation_of: Archive/Mozilla/Marketplace/Publish +--- +<div class="summary"> + <p><span class="seoSummary">Dokumentation für das Veröffentlichen einer app auf dem Firefox Marketplace.</span></p> +</div> +<div class="row topicpage-table"> + <div class="section"> + <dl> + <dt> + <a href="/en-US/Marketplace/Submission/Testing_and_troubleshooting">App testen und Problembehandlung </a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_0TO0_2">Ein</span><span id="noHighlight_0.45044772129835264"> </span><span id="ouHighlight__2_12TO4_11">leichtes</span><span id="noHighlight_0.06870573591621865"> Handbuch</span><span id="noHighlight_0.9608923435962202"> </span><span id="noHighlight_0.03021886761724346">zur überprüfung </span><span id="ouHighlight__31_33TO35_37">und</span><span id="noHighlight_0.3249826764220697"> </span><span id="ouHighlight__35_49TO39_55">Problembehandlung</span><span id="noHighlight_0.3296802965586597"> ,</span><span id="noHighlight_0.37295361007041017"> </span><span id="ouHighlight__61_66TO71_75">bevor</span><span id="noHighlight_0.7471594981815183"> </span><span id="ouHighlight__68_70TO77_79">Sie</span><span id="noHighlight_0.8231156133413938"> </span><span id="ouHighlight__79_82TO81_84">Ihre</span><span id="noHighlight_0.5718390801559493"> </span><span id="ouHighlight__84_86TO86_88">app</span><span id="noHighlight_0.5057826311443464"> </span><span id="ouHighlight__88_89TO90_92">auf</span><span id="noHighlight_0.5216899290178909"> </span><span id="ouHighlight__91_93TO94_96">den</span><span id="noHighlight_0.1743331542746287"> </span><span id="ouHighlight__95_101TO98_104">Firefox</span><span id="noHighlight_0.8397353083524876">-</span><span id="ouHighlight__103_113TO106_115">Marktplace</span><span id="noHighlight_0.9881895845483488"> </span><span id="ouHighlight__72_77TO117_126">einreichen</span><span id="noHighlight_0.2101186361678019">.</span></div> + </div> + </dd> + <dt> + <a href="/en-US/docs/Web/Apps/Publishing/Submitting_an_app">Senden einer app auf dem Firefox Marketplace</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_3TO0_5">Dieser</span><span id="noHighlight_0.049315602308928286"> </span><span id="ouHighlight__5_22TO7_15">Leitfaden</span><span id="noHighlight_0.13288562821936756"> </span><span id="ouHighlight__24_32TO17_21">hilft</span><span id="noHighlight_0.7196870090243647"> </span><span id="ouHighlight__34_36TO23_27">Ihnen</span><span id="noHighlight_0.9844649259639419"> </span><span id="ouHighlight__38_49TO29_39">erfolgreich</span><span id="noHighlight_0.9087007135191141"> </span><span id="ouHighlight__58_61TO41_44">Ihre</span><span id="noHighlight_0.004106781700933149"> </span><span id="ouHighlight__63_65TO46_54">Anwendung</span><span id="noHighlight_0.5069712089113069"> </span><span id="ouHighlight__67_68TO56_58">auf</span><span id="noHighlight_0.20266113066543812"> </span><span id="ouHighlight__70_72TO60_62">den</span><span id="noHighlight_0.044838944710341"> </span><span id="ouHighlight__74_80TO64_70">Firefox</span><span id="noHighlight_0.6794683383949995">-</span><span id="ouHighlight__82_92TO72_81">Marktplace einzureichen.</span></div> + </div> + </dd> + <dt> + <a href="/en-US/docs/Web/Apps/Publishing/Marketplace_review_criteria">Marketplace Prüfkriterien </a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_1TO0_3">Eine</span><span id="noHighlight_0.8949473061855919"> </span><span id="ouHighlight__3_13TO5_15">Erläuterung</span><span id="noHighlight_0.7009695591015029"> </span><span id="ouHighlight__15_16TO17_19">der</span><span id="noHighlight_0.056749489623745486"> </span><span id="ouHighlight__22_29TO21_29">Kriterien</span><span id="noHighlight_0.5204831645918558"> die </span><span id="ouHighlight__31_32TO36_39">eine</span><span id="noHighlight_0.9240066038312915"> </span><span id="ouHighlight__34_36TO41_43">app</span><span id="noHighlight_0.7805940835938039"> </span><span id="ouHighlight__43_46TO45_52">erfüllen</span><span id="noHighlight_0.4746502529240537"> </span><span id="ouHighlight__38_41TO54_57">muss</span><span id="noHighlight_0.23635325373237936"> </span><span id="ouHighlight__48_58TO60_61">um</span><span id="noHighlight_0.8116333170223896"> </span><span id="ouHighlight__73_74TO63_65">auf</span><span id="noHighlight_0.9815170789534432"> </span><span id="ouHighlight__76_78TO67_69">dem</span><span id="noHighlight_0.3714284360411909"> </span><span id="ouHighlight__80_86TO71_77">Firefox</span><span id="noHighlight_0.392223217913347">-</span><span id="ouHighlight__88_98TO79_88">Marktplatz</span><span id="noHighlight_0.7868872414419361"> </span><span id="ouHighlight__63_71TO90_103">veröffentlicht</span><span id="noHighlight_0.1601171425462926"> </span><span id="ouHighlight__60_61TO105_110">zu werden</span><span id="ouHighlight__99_99TO111_111">;</span><span id="noHighlight_0.10489090303489312"> </span><span id="ouHighlight__104_112TO113_120">Befolgen</span><span id="noHighlight_0.5638333007437442"> Sie </span><span id="ouHighlight__114_116TO126_128">die</span><span id="noHighlight_0.6881794193575487"> </span><span id="ouHighlight__118_127TO130_140">Richtlinien</span><span id="noHighlight_0.2950517324493188"> </span><span id="ouHighlight__138_139TO142_143">wie in</span><span id="noHighlight_0.029050351297086774"> </span><span id="ouHighlight__141_144TO145_150">diesem</span><span id="noHighlight_0.13547195123843048"> </span><span id="ouHighlight__146_152TO152_158">Artikel</span><span id="noHighlight_0.7267153123772694"> </span><span id="ouHighlight__129_136TO160_168">dargelegt</span>.</div> + </div> + </dd> + <dt> + <a href="/en-US/docs/Web/Apps/Publishing/Marketplace_screenshot_criteria">Marketplace screenshot Kriterien</a></dt> + <dd> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span class="highlight" id="ouHighlight__0_9TO0_10">Richtlinien</span><span id="noHighlight_0.2566507262795912"> </span><span id="ouHighlight__11_13TO12_14">für</span><span id="noHighlight_0.3385087560384963"> die </span><span id="ouHighlight__15_25TO20_30">Screenshots</span><span id="noHighlight_0.1846417256974643"> </span><span id="ouHighlight__27_28TO32_33">um</span><span id="noHighlight_0.6238014732895862"> </span><span id="ouHighlight__37_40TO35_37">mit</span><span id="noHighlight_0.669898442859373"> </span><span id="ouHighlight__42_45TO39_43">Ihrer</span><span id="noHighlight_0.29921599983696867"> </span><span id="ouHighlight__47_49TO45_47">app</span><span id="noHighlight_0.05497922622140172"> die</span><span id="noHighlight_0.13480129256277096"> </span><span id="ouHighlight__67_72TO56_67">Auswirkungen</span><span id="noHighlight_0.8162910737317012"> </span><span id="ouHighlight__74_76TO69_71">und</span><span id="noHighlight_0.08748842154580871"> die </span><span id="ouHighlight__78_84TO77_84">Qualität</span><span id="noHighlight_0.5767365559423736"> </span><span id="ouHighlight__86_87TO86_88">auf</span><span id="noHighlight_0.7188955877657563"> </span><span id="ouHighlight__89_91TO90_92">dem</span><span id="noHighlight_0.3344682675108629"> </span><span id="ouHighlight__93_103TO94_98">Markt</span><span id="noHighlight_0.43359965874628315"> </span><span id="ouHighlight__54_61TO100_112">zu maximieren</span><span id="noHighlight_0.890433393975844">.</span></div> + </div> + </dd> + </dl> + </div> + <div class="section"> + <div class="section"> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <strong><span id="ouHighlight__0_4TO0_4">Tools</span><span id="noHighlight_0.19062945056652736"> </span><span id="ouHighlight__6_8TO6_8">für</span><span id="noHighlight_0.1039377003568307"> </span><span id="ouHighlight__10_12TO10_12">app</span><span id="noHighlight_0.9052402208684265">-</span><span id="ouHighlight__14_23TO14_23">Entwickler </span></strong></div> + </div> + <ul> + <li><a class="external-icon external" href="https://marketplace.firefox.com/developers/">Besuchen Sie die Firefox Marktplace Entwicklercke</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_Firefox_OS_Simulator">Firefox OS Simulator</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Apps/App_developer_tools">App Entwickler tools</a></li> + </ul> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <strong><span id="ouHighlight__0_9TO0_10">Technologie</span><span id="noHighlight_0.5007130375631282">-</span><span id="ouHighlight__11_33TO12_32">Referenzdokumentation</span></strong></div> + </div> + <div class="twocolumns"> + <ul> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS">CSS</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/DOM">DOM</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTML">HTML</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/JavaScript">JavaScript</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/WebAPI">WebAPI</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/WebGL">WebGL</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/SVG">SVG</a></li> + <li><a class="external-icon external" href="https://www.mozilla.org/en-US/apps/">Open Web Apps overview site</a></li> + <li><a class="external-icon external" href="https://wiki.mozilla.org/Apps">Apps Projekt wiki page</a></li> + </ul> + </div> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <strong><span id="ouHighlight__0_11TO0_4">Hilfe</span><span id="noHighlight_0.4549211852685946"> </span><span class="highlight" id="ouHighlight__13_16TO6_8">von</span><span id="noHighlight_0.1996361921250519"> </span><span id="ouHighlight__18_20TO10_12">der</span><span id="noHighlight_0.006766254269174765"> </span><span id="ouHighlight__22_30TO14_25">Gemeinschaft</span></strong></div> + </div> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_1TO0_3">Wenn</span><span id="noHighlight_0.014341863217350204"> </span><span id="ouHighlight__3_5TO5_7">Sie</span><span id="noHighlight_0.7705560383773145"> </span><span id="ouHighlight__7_11TO9_12">noch</span><span id="noHighlight_0.663267210708874"> nicht </span><span id="ouHighlight__20_23TO20_25">sicher</span><span id="noHighlight_0.12999408598722229"> sind was zu</span><span id="noHighlight_0.6970422690542117"> </span><span id="ouHighlight__32_33TO39_41">tun ist</span><span id="noHighlight_0.21504970851511362">, </span><span id="ouHighlight__35_38TO44_46">was</span><span id="noHighlight_0.10981157081308113"> </span><span id="ouHighlight__40_45TO48_50">Sie</span><span id="noHighlight_0.5849074450491327"> </span><span id="ouHighlight__61_64TO52_60">erledigen</span><span id="noHighlight_0.8255595638015908"> </span><span id="ouHighlight__54_55TO62_67">wollen</span><span id="noHighlight_0.9993066468046264">,</span><span id="noHighlight_0.053809035748189404"> </span><span id="ouHighlight__67_75TO70_75">zögern</span><span id="noHighlight_0.5609314500952005"> Sie nicht </span><span id="ouHighlight__77_78TO87_88">zu</span><span id="noHighlight_0.18618861856638436"> </span><span id="ouHighlight__85_87TO90_92">der</span><span id="noHighlight_0.6219038919540205"> </span><span id="ouHighlight__89_100TO94_105">Unterhaltung</span><span id="noHighlight_0.478329571887941">!</span></div> + <div> + </div> + </div> + <ul> + <li>Konsultieren der Web-apps forum: + <ul> + <li><a class="external-icon external" href="https://lists.mozilla.org/listinfo/dev-webapps">als Mailing-Liste</a></li> + <li><a class="external-icon external" href="http://groups.google.com/group/mozilla.dev.webapps">als Google Group</a></li> + <li><a class="external-icon external" href="http://groups.google.com/group/mozilla.dev.webapps/feeds">als Web-Feed</a></li> + </ul> + <ul> + <li> + <div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> + <div> + <span id="ouHighlight__0_2TO0_10">Stellen Sie</span><span id="noHighlight_0.5026097136180658"> </span><span id="ouHighlight__4_7TO12_15">Ihre</span><span id="noHighlight_0.2229105310496191"> </span><span id="ouHighlight__9_16TO17_21">Frage</span><span id="noHighlight_0.4102630351905905"> </span><span id="ouHighlight__18_19TO23_25">auf</span><span id="noHighlight_0.7152726615063038"> </span><span id="ouHighlight__21_23TO27_29">dem</span><span id="noHighlight_0.27882006322601716"> </span><span id="ouHighlight__25_28TO31_37">offenen</span><span id="noHighlight_0.9003474208036477"> </span><span id="ouHighlight__30_32TO39_41">Web</span><span id="noHighlight_0.170097064832595">-</span><span id="ouHighlight__34_37TO43_46">Apps</span><span id="noHighlight_0.06178610590984235">-</span><span id="ouHighlight__39_41TO48_50">IRC</span><span id="noHighlight_0.6567146071905723">-</span><span id="ouHighlight__43_49TO52_58">Channel</span><span id="noHighlight_0.2198462045499433">:</span></div> + </div> + <a class="link-irc" href="irc://irc.mozilla.org/openwebapps">#openwebapps</a></li> + </ul> + </li> + </ul> + <p><span class="alllinks"><a class="external-icon external" href="http://www.catb.org/%7Eesr/faqs/smart-questions.html" rel="external">Vergessen Sie nicht über die <em>netiquette</em>...</a></span></p> + <p> </p> + </div> + </div> +</div> +<p> </p> diff --git a/files/de/archive/mozilla/xul/action/index.html b/files/de/archive/mozilla/xul/action/index.html new file mode 100644 index 0000000000..5492305611 --- /dev/null +++ b/files/de/archive/mozilla/xul/action/index.html @@ -0,0 +1,86 @@ +--- +title: action +slug: Archive/Mozilla/XUL/action +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/action +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Das <code>action</code> Element wird verwendet, um den Inhalt festzulegen, welcher für jedes zutreffende Ergebnis einer Abfrage passt. Dieses Element sollte in den Elementen <code><a href="/de/docs/Mozilla/Tech/XUL/query" title="query">query</a></code> oder <code><a href="/de/docs/Mozilla/Tech/XUL/rule" title="rule">rule</a></code> enthalten sein.</p> +<p>Für weitere Informationen, siehe <a href="/de/XUL/Vorlagen_Tutorial/Aktionen">Aktionen</a>.</p> +<h3 id="Beispiele" name="Beispiele">Beispiele</h3> +<p>(Beispiel benötigt)</p> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften" name="Eigenschaften">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> diff --git a/files/de/archive/mozilla/xul/arrowscrollbox/index.html b/files/de/archive/mozilla/xul/arrowscrollbox/index.html new file mode 100644 index 0000000000..d1785f82b6 --- /dev/null +++ b/files/de/archive/mozilla/xul/arrowscrollbox/index.html @@ -0,0 +1,134 @@ +--- +title: arrowscrollbox +slug: Archive/Mozilla/XUL/Arrowscrollbox +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/arrowscrollbox +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Eine Box, die entlang den Kanten Scrollpfeile bereitstellt, um die Box zu scrollen. Der Benutzer muss die Maus dazu nur über die Pfeile bewegen. Dieses Element wird typischerweise bei langen Popup-Menüs verwendet.</p> +<p>Wenn die Maus über einen (aktiven) Pfeil bewegt wird, wird ein Scroll-Event ausgelöst.</p> +<p>Weitere Informationen sind im <a href="/en/XUL_Tutorial/Menüs_zum_Scrollen">XUL Tutorial</a> verfügbar.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-disabled">disabled</a>, <a href="#a-smoothscroll">smoothscroll</a>, <a href="#a-tabindex">tabindex</a></dd> +</dl> +<dl> <dt>Eigenschaften</dt> <dd><a href="#p-disabled">disabled</a>, <a href="#p-scrollBoxObject">scrollBoxObject</a>, <a href="#p-scrollIncrement">scrollIncrement</a>, <a href="#p-smoothScroll">smoothScroll</a>, <a href="#p-tabIndex">tabIndex</a></dd> +</dl> +<dl> <dt>Methoden</dt> <dd><a href="#m-ensureElementIsVisible">ensureElementIsVisible</a>, <a href="#m-scrollByIndex">scrollByIndex</a>, <a href="#m-scrollByPixels">scrollByPixels</a></dd> +</dl> +<h3 id="Examples" name="Examples">Beispiele</h3> +<div style="float: right;"><img alt="Image:menuscroll1.jpg" class="internal" src="/@api/deki/files/760/=Menuscroll1.jpg"></div> +<pre><arrowscrollbox orient="vertical" flex="1"> + <button label="Red"/> + <button label="Blue"/> + <button label="Green"/> + <button label="Yellow"/> + <button label="Orange"/> + <button label="Silver"/> + <button label="Lavender"/> + <button label="Gold"/> + <button label="Turquoise"/> + <button label="Peach"/> + <button label="Maroon"/> + <button label="Black"/> +</arrowscrollbox> +</pre> +<h3 id="Attributes" name="Attributes">Attribute</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> <div id="a-disabled"> + +<dl> <dt><code id="a-disabled"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt> <dd>Typ: <em>boolean</em></dd> <dd>Kennzeichnet, ob ein Element deaktiviert ist oder nicht. Wenn das Element auf <code>true</code> gesetzt ist, ist das Element deaktiviert. Deaktivierte Elemente sind gewöhnlich mit einem grauen Text dargestellt. Wenn ein Element deaktiviert ist, wird es auf Anwenderaktionen nicht reagieren, es kann den Fokus nicht erlangen und das <code>command</code> Ereignis wird nicht ausgelöst. Das Element wird allerdings noch auf Mausereignisse antworten. Um das Element zu aktivieren, ist es besser das Attribut zu entfernen als es auf den Wert <code>false</code> zu setzen. Um den Wert dieses Attributs mittels JavaScript zu setzen oder abzurufen, sollte besser die <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/disabled">disabled</a></span></code> Eigenschaft verwendet werden.</dd> +</dl> + + +</div> <div id="a-smoothscroll"> + +<dl> + <dt> + <code id="a-smoothscroll"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/smoothscroll">smoothscroll</a></code> </dt> + <dd> + Type: <em>boolean</em></dd> + <dd> + <code>true</code> initially enables smooth scrolling for the corresponding <code><a href="/en-US/docs/Mozilla/Tech/XUL/arrowscrollbox" title="arrowscrollbox">arrowscrollbox</a></code>, <code>false</code> disables it. Currently, smooth scrolling supports horizontal arrowscrollboxes only.</dd> +</dl> +</div> <div id="a-tabindex"> + + +<dl> + <dt><code id="a-tabindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The tab order of the element. The tab order is the order in which the focus is moved when the user presses the "<code>tab</code>" key. Elements with a higher <code>tabindex</code> are later in the tab sequence.</dd> +</dl> +</div> +<h3 id="Properties" name="Properties">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> <div id="p-disabled"></div> <div id="p-scrollBoxObject"></div> <div id="p-scrollIncrement"></div> <div id="p-smoothScroll"></div> <div id="p-tabIndex"></div> +<h3 id="Methods" name="Methods">Methoden</h3> +<p> </p><table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Related" name="Related">Verwandte Themen</h3> +<p>TBD</p> diff --git a/files/de/archive/mozilla/xul/assign/index.html b/files/de/archive/mozilla/xul/assign/index.html new file mode 100644 index 0000000000..a08496f06a --- /dev/null +++ b/files/de/archive/mozilla/xul/assign/index.html @@ -0,0 +1,115 @@ +--- +title: assign +slug: Archive/Mozilla/XUL/Assign +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/assign +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Erstellt eine zusätzliche Variable für XML Templates, deren Wert mittels XPath bestimmt werden kann.</p> +<div class="noinclude">Weitere Informationen sind unter <a href="/de/XUL/Vorlagen_Tutorial/XML_Assignments">XML_Assignments</a> verfügbar.</div> +<dl> <dt> </dt><dt>Attribute</dt> <p><a href="#a-expr">expr</a>, <a href="#a-var">var</a></p> +</dl> +<h3 id="Beispiele">Beispiele</h3> +<pre><vbox datasources="people.xml" ref="*" querytype="xml"> + <template> + <query expr="person"> + <assign var="?namelength" expr="string-length(@name)"/> + <assign var="?siblings" expr="count(../*) - 1"/> + </query> + <action> + <hbox uri="?" align="center"> + <button label="?name"/> + <label value="?gender"/> + <label value="?namelength"/> + <label value="?siblings"/> + </hbox> + </action> + </template> +</vbox> +</pre> +<h3 id="Attribute">Attribute</h3> +<div id="a-expr"> + +<dl> <dt><code id="a-expr"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/expr">expr</a></code></dt> <dd>Typ: <em>string</em></dd> <dd>Ein XPath Ausdruck für XML Abfragen, der Ergebnisse zurückliefert. Innerhalb des Ausdrucks kann jeder Namespace Präfix verwendet werden, der für ein Element deklariert wurde.</dd> +</dl> + +</div> <div id="a-var"> + +<dl> <dt><code id="a-var"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/var">var</a></code></dt> <dd>Typ: <em>string</em></dd> <dd>Dient der Variablenzuweisung innerhalb <code><a class="internal" href="/De/XUL/Assign" title="de/XUL/assign">assign</a></code> Tags; ansonsten wird es als Referenz zu einer Template Variable wie beispielsweise "?name" verwendet.</dd> +</dl> + + +</div> <table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> diff --git a/files/de/archive/mozilla/xul/attribute/accesskey/index.html b/files/de/archive/mozilla/xul/attribute/accesskey/index.html new file mode 100644 index 0000000000..5f223df6c4 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/accesskey/index.html @@ -0,0 +1,24 @@ +--- +title: accesskey +slug: Archive/Mozilla/XUL/Attribute/accesskey +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/accesskey +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-accesskey"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code></dt> <div class="noinclude"> <dd>Attribut von: <code><a href="/de/docs/Mozilla/Tech/XUL/button" title="button">button</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/checkbox" title="checkbox">checkbox</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/caption" title="caption">caption</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/description" title="description">description</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/label" title="label">label</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/radio" title="radio">radio</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/toolbarbutton" title="toolbarbutton">toolbarbutton</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/textbox (Firefox autocomplete)" title="textbox (Firefox autocomplete)">textbox (Firefox autocomplete)</a></code></dd> </div> <dd>Typ: <em>character</em></dd> <dd>Dem Attribut wird der Buchstabe zugewiesen, der als Tastenkürzel für das Element dienen soll. Dieser Buchstabe sollte sinnvollerweise innerhalb des Textes des Attributs <code><code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> des Elements vorkommen. <div class="noinclude">Typischerweise wird dieser Buchstabe visuell durch Unterstreichung hervorgehoben. Dies ist jedoch plattform- und themenspezifisch. Betätigt der Benutzer gleichzeitig die Alt-Taste (oder eine ähnliche Taste; variiert je nach Betriebssystem) und die durch dieses Attribut angegebene Taste, wird das Element im Fenster von überall aus aktiviert. Auch wenn Groß-/Kleinschreibung des Wertes irrelevant ist, wird die dem Attribut accesskey entsprechende Variante benutzt, sollten beide Schreibweisen innerhalb der Beschriftung vorkommen.</div> </dd> +</dl> +<div class="noinclude"> +<h4 id="Beispiel" name="Beispiel">Beispiel</h4> +<pre><vbox> + <label value="Namen eingeben" accesskey="e" control="myName"/> + <textbox id="myName"/> + <button label="Abbrechen" accesskey="b"/> + <button label="Ok" accesskey="O"/> +</vbox> +</pre> +<h4 id="Siehe_auch" name="Siehe_auch">Siehe auch</h4> +<p>Attribut <code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code>, Attribut <code id="a-acceltext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/acceltext">acceltext</a></code></p> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/activetitlebarcolor/index.html b/files/de/archive/mozilla/xul/attribute/activetitlebarcolor/index.html new file mode 100644 index 0000000000..95f6be0346 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/activetitlebarcolor/index.html @@ -0,0 +1,14 @@ +--- +title: Activetitlebarcolor +slug: Archive/Mozilla/XUL/Attribute/Activetitlebarcolor +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/activetitlebarcolor +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-activetitlebarcolor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/activetitlebarcolor">activetitlebarcolor</a></code> </dt> <dd>Typ: <em>color string</em></dd> <dd>Bestimmt die Hintergrundfarbe der Titelleiste eines Fensters, wenn es aktiv ist (Vordergrund). Außerdem versteckt dies die Trennlinie zwischen Titelleiste und Fensterinhalt. Dies trifft nur auf Mac OS Systeme zu.</dd> +</dl> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/align/index.html b/files/de/archive/mozilla/xul/attribute/align/index.html new file mode 100644 index 0000000000..fe97a3c6c4 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/align/index.html @@ -0,0 +1,37 @@ +--- +title: align +slug: Archive/Mozilla/XUL/Attribute/align +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/align +--- +<div class="noinclude"> + <span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> + <dt> + <code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></dt> +</dl> +<dl> + <dd> + Typ: <em>einer der unten angegebenen Werte</em></dd> +</dl> +<dl> + <dd> + Das Attribut <code>align</code> gibt die Ausrichtung der Kindelemente des Kastens (Box) an, wenn die Größe des Kastens größer als die Gesamtgröße seiner Kindelemente ist. Für Kästen horizontaler Orientierung gibt es die vertikale Ausrichtung der Kindelemente an. Im Falle vertikaler Orientierung legt es entsprechend die horizontale Ausrichtung der Kindelemente fest. Das Attribut <code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code> bezieht sich auf die Ausrichtung, wird jedoch zur Angabe der Position in entgegengesetzter Richtung benutzt. Der Wert von <code>align</code> kann auch mittels der Stileigenschaft <a href="/de/CSS/-moz-box-align" title="de/CSS/-moz-box-align">-moz-box-align</a> angeben werden.</dd> +</dl> +<ul> + <li><code>start</code>: Kindelemente werden beginnend bei der linken oder oberen Kante des Kastens ausgerichtet. Sollte der Kasten größer also die Gesamtgröße aller Kindelemente sein, wird der restliche Raum an der rechten oder unteren Seite plaziert.</li> + <li><code>center</code>: Restlicher Raum wird gleichmäßig entlang jeder Seite der Kindelemente aufgeteilt, was zur Positionierung der Kinder in der Mitte des Kastens führt.</li> + <li><code>end</code>: Kindelemente werden beginnend bei der rechten oder unteren Kante des Kastens ausgerichtet. Sollte der Kasten größer also die Gesamtgröße aller Kindelemente sein, wird der restliche Raum an der linken oder oberen Seite plaziert.</li> + <li><code>baseline</code>: Dieser Wert betrifft lediglich Kästen mit horizontaler Orientierung. In diesem Fall werden die Kindelemente so ausgerichtet, dass ihre Textbeschriftungen in einer Reihe sind.</li> + <li><code>stretch</code>: Die Kindelemente werden so gestreckt, dass sie die Größe des Kastens ausfüllen. Im Falle eines horizontalen Kastens werden die Kinder auf die Höhe des Kastens gestreckt. Bei einem vertikalen Kasten werden die Kinder auf die Breite des Kastens gestreckt. Ändert sich die Größe des Kastens, so werden die Kinder passend gestreckt. Benutzen Sie das Attribut <code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, um Elemente zu erzeugen, die sich in die entgegengesetzte Richtung strecken.</li> + <li><code>left</code>: <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> Die Elemente werden an ihren linken Kanten ausgerichtet.</li> + <li><code>right</code>: <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> Die Elemente werden an ihren rechten Kanten ausgerichtet.</li> +</ul> +<div class="noinclude"> + <h3 id="Siehe_auch" name="Siehe_auch">Siehe auch</h3> + <p>Attribut <code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></p> + +</div> +<p> </p> diff --git a/files/de/archive/mozilla/xul/attribute/allowevents/index.html b/files/de/archive/mozilla/xul/attribute/allowevents/index.html new file mode 100644 index 0000000000..63dc160f9e --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/allowevents/index.html @@ -0,0 +1,17 @@ +--- +title: allowevents +slug: Archive/Mozilla/XUL/Attribute/allowevents +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/allowevents +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code></dt> <dd>Typ: <em>boolean</em></dd> <dd>Falls true, werden Ereignisse an die Kindelemente des Elements weitergereicht. Anderenfalls erhält nur das Element Ereignisse.</dd> +</dl> +<div class="noinclude"> +<p>Bei <code><a href="/de/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code> und <code><a href="/de/docs/Mozilla/Tech/XUL/titlebar" title="titlebar">titlebar</a></code> Elementen werden Maus-Ereignisse normalerweise nicht an deren Kindelemente gesendet. Stattdessen werden sie zurück auf das <code><a href="/de/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code> und <code><a href="/de/docs/Mozilla/Tech/XUL/titlebar" title="titlebar">titlebar</a></code> Element selbst geschickt. Das bedeutet, dass Elemente innerhalb eines <code><a href="/de/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code> Elements nicht auf auf Ereignisse reagieren und stattdessen nur ein Item in der Liste ausgewählt wird. Wird das <code>allowevents</code> Attribut auf <code>true</code> gesetzt, wird dieses spezielle Verhalten deaktiviert und Ereignisse werden wie bei anderen Elementen behandelt.</p> +<p>Bei <code><a href="/de/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/menuseparator" title="menuseparator">menuseparator</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code> und <code><a href="/de/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code> Elementen, sowie Menü-Buttons, und beim <code><a href="/de/docs/Mozilla/Tech/XUL/datepicker" title="datepicker">datepicker</a></code> Popup werden Maus-Ereignisse ebenfalls auf das Element selbst gerichtet. Das <code>allowevents</code> Attribut wird jedoch in einer anderen Art verwendet. Das Attribut <code>allowevents</code> kann hier im Kindelement auf <code>true</code> gesetzt werden. Das hat die gleichen Auswirkungen, wie bei normal gerichteten Ereignissen, erlaubt aber unterschiedliche Einstellungen für jedes Kindelement.<br> +Dieses Verhalten wird für Menüs verwendet, um zum Beispiel einem Menü-Button zu erlauben sich so zu verhalten wie das Menü, wenn man darauf klickt.</p> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/allownegativeassertions/index.html b/files/de/archive/mozilla/xul/attribute/allownegativeassertions/index.html new file mode 100644 index 0000000000..83634ca471 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/allownegativeassertions/index.html @@ -0,0 +1,11 @@ +--- +title: allownegativeassertions +slug: Archive/Mozilla/XUL/Attribute/allownegativeassertions +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/allownegativeassertions +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code></dt> <dd>Typ: <em>boolean</em></dd> <dd>Gültig für jedes Element mit einem Attribut <code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>. Werden mehrere Datenquellen benutzt, wird die Aussage eventuell von einer anderen überschrieben. Wenn dieses Attribut <code>true</code> ist (was die Vorgabe ist), kann eine Datenquelle eine frühere Aussage negieren.</dd> +</dl> diff --git a/files/de/archive/mozilla/xul/attribute/color/index.html b/files/de/archive/mozilla/xul/attribute/color/index.html new file mode 100644 index 0000000000..50902e7afe --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/color/index.html @@ -0,0 +1,14 @@ +--- +title: color +slug: Archive/Mozilla/XUL/Attribute/Color +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/color +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-color"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/color">color</a></code></dt> <dd>Typ: <em>color string</em></dd> <dd>Die aktuell ausgewählte Farbe. Diese wird geändert, sobald der Anwender eine Farbe auswählt. Man kann einen String in der Form #RRGGBB der Eigenschaft zuweisen, um die gewählte Farbe zu ändern.</dd> +</dl> +<div class="noinclude"> +<p> </p> +</div> diff --git a/files/de/archive/mozilla/xul/attribute/cols/index.html b/files/de/archive/mozilla/xul/attribute/cols/index.html new file mode 100644 index 0000000000..1f2ea0a4d6 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/cols/index.html @@ -0,0 +1,14 @@ +--- +title: cols +slug: Archive/Mozilla/XUL/Attribute/Cols +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/cols +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-cols"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/cols">cols</a></code></dt> <dd>Typ: <em>integer</em></dd> <dd>Stellt die Anzahl an Spalten für mehrzeilige Textboxen dar.</dd> +</dl> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/decimalplaces/index.html b/files/de/archive/mozilla/xul/attribute/decimalplaces/index.html new file mode 100644 index 0000000000..bea62c69a2 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/decimalplaces/index.html @@ -0,0 +1,14 @@ +--- +title: decimalplaces +slug: Archive/Mozilla/XUL/Attribute/Decimalplaces +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/decimalplaces +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-decimalplaces"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/decimalplaces">decimalplaces</a></code> </dt> <dd>Typ: <em>integer</em></dd> <dd>Die Anzahl an Dezimalstellen, die angezeigt werden sollen. Der Standardwert ist 0, was bedeutet, dass keine Dezimalstellen angezeigt werden. Der Wert<code> infinity</code> kann dazu verwendet werden, keine Begrenzung der Dezimalstellen bei Zahlen anzuzeigen. Hinweis: Dezimalzahlen werden als Floats gespeichert.</dd> +</dl> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/disabled/index.html b/files/de/archive/mozilla/xul/attribute/disabled/index.html new file mode 100644 index 0000000000..0b296a38ea --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/disabled/index.html @@ -0,0 +1,28 @@ +--- +title: Disabled +slug: Archive/Mozilla/XUL/Attribute/Disabled +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/disabled +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-disabled"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt> <dd>Typ: <em>boolean</em></dd> <dd>Kennzeichnet, ob ein Element deaktiviert ist oder nicht. Wenn das Element auf <code>true</code> gesetzt ist, ist das Element deaktiviert. Deaktivierte Elemente sind gewöhnlich mit einem grauen Text dargestellt. Wenn ein Element deaktiviert ist, wird es auf Anwenderaktionen nicht reagieren, es kann den Fokus nicht erlangen und das <code>command</code> Ereignis wird nicht ausgelöst. Das Element wird allerdings noch auf Mausereignisse antworten. Um das Element zu aktivieren, ist es besser das Attribut zu entfernen als es auf den Wert <code>false</code> zu setzen. Um den Wert dieses Attributs mittels JavaScript zu setzen oder abzurufen, sollte besser die <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/disabled">disabled</a></span></code> Eigenschaft verwendet werden.</dd> +</dl> +<div class="noinclude"> +<pre class="brush: js">// Deaktiviere ein Element. +document.getElementById('buttRemove').setAttribute("disabled", "true"); + +// Reaktiviere ein Element, während das "disabled" Attribute beibehalten wird. +document.getElementById('buttRemove').setAttribute("disabled", ""); + +// Reaktiviere ein Element, in dem das "disabled" Attribut entfernt wird. +document.getElementById('buttRemove').removeAttribute("disabled"); +</pre> +<div class="blockIndicator standardNote"> + <p><a href="https://developer.mozilla.org/de/docs/Mozilla/Firefox/Releases/3.5">Hinweis zu Firefox 3.5</a></p> + <p style="font-weight: 400;">Seit Firefox 3.5 wird dieses Attribut für Keyset Elemente unterstützt.</p> +</div></div> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/empty/index.html b/files/de/archive/mozilla/xul/attribute/empty/index.html new file mode 100644 index 0000000000..f1a3d0071b --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/empty/index.html @@ -0,0 +1,14 @@ +--- +title: empty +slug: Archive/Mozilla/XUL/Attribute/Empty +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/textbox.empty +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-textbox.empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/textbox.empty">empty</a></code> </dt> <dd>Typ: <em>boolean</em></dd> <dd>Gibt an, ob <a class="internal" href="/de/XUL/Property/emptyText" title="de/XUL/Property/emptyText">emptyText</a> angezeigt werden soll. Kann zur Gestaltung des Elements verwendet werden.</dd> +</dl> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/emptytext/index.html b/files/de/archive/mozilla/xul/attribute/emptytext/index.html new file mode 100644 index 0000000000..9631bea08c --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/emptytext/index.html @@ -0,0 +1,14 @@ +--- +title: emptytext +slug: Archive/Mozilla/XUL/Attribute/Emptytext +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/emptytext +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-emptytext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/emptytext">emptytext</a></code> <span class="inlineIndicator deprecated deprecatedInline" title="(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)">Unerwünscht Gecko 2</span></dt> <dd>Typ: <em>string</em></dd> <dd>Ein String, der in der <a class="internal" href="/De/XUL/Textbox" title="de/XUL/textbox">Textbox</a> angezeigt wird, falls diese keinen Wert besitzt. Dieses Attribut wurde vom <code id="a-placeholder"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/placeholder">placeholder</a></code> Attribut in Gecko 2 ersetzt. Der alte Name bleibt zur Kompatibilität bestehen, aber Sie sollten Ihren Code aktualisieren.</dd> +</dl> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/expr/index.html b/files/de/archive/mozilla/xul/attribute/expr/index.html new file mode 100644 index 0000000000..1448277f5c --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/expr/index.html @@ -0,0 +1,14 @@ +--- +title: Expr +slug: Archive/Mozilla/XUL/Attribute/Expr +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/expr +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-expr"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/expr">expr</a></code></dt> <dd>Typ: <em>string</em></dd> <dd>Ein XPath Ausdruck für XML Abfragen, der Ergebnisse zurückliefert. Innerhalb des Ausdrucks kann jeder Namespace Präfix verwendet werden, der für ein Element deklariert wurde.</dd> +</dl> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/hidespinbuttons/index.html b/files/de/archive/mozilla/xul/attribute/hidespinbuttons/index.html new file mode 100644 index 0000000000..37b86f1f3f --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/hidespinbuttons/index.html @@ -0,0 +1,10 @@ +--- +title: hidespinbuttons +slug: Archive/Mozilla/XUL/Attribute/Hidespinbuttons +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/hidespinbuttons +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-hidespinbuttons"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidespinbuttons">hidespinbuttons</a></code></dt> <dd>Typ: <em>boolean</em></dd> Falls der Wert auf <code>true</code> gesetzt wird, werden keine Buttons mit Pfeilen angezeigt, um den Wert des Feldes anzupassen. Der Wert kann dann ausschließlich per Tastatur eingegeben werden. Standardmäßig ist der Wert <code>false</code>.</dl> <div class="noinclude"> </div> diff --git a/files/de/archive/mozilla/xul/attribute/index.html b/files/de/archive/mozilla/xul/attribute/index.html new file mode 100644 index 0000000000..2bc9d70f0d --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/index.html @@ -0,0 +1,11 @@ +--- +title: Attribute +slug: Archive/Mozilla/XUL/Attribute +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute +--- +<p><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></p> +<ul> <li><a href="/de/XUL/Attribute/acceltext" title="de/XUL/Attribute/acceltext">acceltext</a></li> <li><a href="/de/XUL/Attribute/accessible" title="de/XUL/Attribute/accessible">accessible</a></li> <li><a href="/de/XUL/Attribute/accesskey" title="de/XUL/Attribute/accesskey">accesskey</a></li> <li><a href="/De/XUL/Attribute/Activetitlebarcolor" title="de/XUL/Attribute/activetitlebarcolor">activetitlebarcolor</a> </li> <li><a href="/de/XUL/Attribute/afterselected" title="de/XUL/Attribute/afterselected">afterselected</a></li> <li><a href="/de/XUL/Attribute/align" title="de/XUL/Attribute/align">align</a></li> <li><a href="/de/XUL/Attribute/allowevents" title="de/XUL/Attribute/allowevents">allowevents</a></li> <li><a href="/de/XUL/Attribute/allownegativeassertions" title="de/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></li> <li><a href="/de/XUL/Attribute/alternatingbackground" title="de/XUL/Attribute/alternatingbackground">alternatingbackground</a></li> <li><a href="/de/XUL/Attribute/alwaysopenpopup" title="de/XUL/Attribute/alwaysopenpopup">alwaysopenpopup</a></li> <li><a href="/de/XUL/Attribute/attribute" title="de/XUL/Attribute/attribute">attribute</a></li> <li><a href="/de/XUL/Attribute/autoCheck" title="de/XUL/Attribute/autoCheck">autocheck</a></li> <li><a href="/de/XUL/Attribute/autoCheck" title="de/XUL/Attribute/autoCheck">autoCheck</a></li> <li><a href="/de/XUL/Attribute/autocompleteenabled" title="de/XUL/Attribute/autocompleteenabled">autocompleteenabled</a></li> <li><a href="/de/XUL/Attribute/autocompletepopup" title="de/XUL/Attribute/autocompletepopup">autocompletepopup</a></li> <li><a href="/de/XUL/Attribute/autocompletesearch" title="de/XUL/Attribute/autocompletesearch">autocompletesearch</a></li> <li><a href="/de/XUL/Attribute/autocompletesearchparam" title="de/XUL/Attribute/autocompletesearchparam">autocompletesearchparam</a></li> <li><a href="/de/XUL/Attribute/autoFill" title="de/XUL/Attribute/autoFill">autoFill</a></li> <li><a href="/de/XUL/Attribute/autoFillAfterMatch" title="de/XUL/Attribute/autoFillAfterMatch">autoFillAfterMatch</a></li> <li><a href="/de/XUL/Attribute/autoscroll" title="de/XUL/Attribute/autoscroll">autoscroll</a></li> <li><a href="/de/XUL/Attribute/beforeselected" title="de/XUL/Attribute/beforeselected">beforeselected</a></li> <li><a href="/de/XUL/Attribute/buttonaccesskeyaccept" title="de/XUL/Attribute/buttonaccesskeyaccept">buttonaccesskeyaccept</a></li> <li><a href="/de/XUL/Attribute/buttonaccesskeycancel" title="de/XUL/Attribute/buttonaccesskeycancel">buttonaccesskeycancel</a></li> <li><a href="/de/XUL/Attribute/buttonaccesskeydisclosure" title="de/XUL/Attribute/buttonaccesskeydisclosure">buttonaccesskeydisclosure</a></li> <li><a href="/de/XUL/Attribute/buttonaccesskeyextra1" title="de/XUL/Attribute/buttonaccesskeyextra1">buttonaccesskeyextra1</a></li> <li><a href="/de/XUL/Attribute/buttonaccesskeyextra2" title="de/XUL/Attribute/buttonaccesskeyextra2">buttonaccesskeyextra2</a></li> <li><a href="/de/XUL/Attribute/buttonaccesskeyhelp" title="de/XUL/Attribute/buttonaccesskeyhelp">buttonaccesskeyhelp</a></li> <li><a href="/de/XUL/Attribute/buttonalign" title="de/XUL/Attribute/buttonalign">buttonalign</a></li> <li><a href="/de/XUL/Attribute/buttondir" title="de/XUL/Attribute/buttondir">buttondir</a></li> <li><a href="/de/XUL/Attribute/buttondisabledaccept" title="de/XUL/Attribute/buttondisabledaccept">buttondisabledaccept</a></li> <li><a href="/de/XUL/Attribute/buttonlabelaccept" title="de/XUL/Attribute/buttonlabelaccept">buttonlabelaccept</a></li> <li><a href="/de/XUL/Attribute/buttonlabelcancel" title="de/XUL/Attribute/buttonlabelcancel">buttonlabelcancel</a></li> <li><a href="/de/XUL/Attribute/buttonlabeldisclosure" title="de/XUL/Attribute/buttonlabeldisclosure">buttonlabeldisclosure</a></li> <li><a href="/de/XUL/Attribute/buttonlabelextra1" title="de/XUL/Attribute/buttonlabelextra1">buttonlabelextra1</a></li> <li><a href="/de/XUL/Attribute/buttonlabelextra2" title="de/XUL/Attribute/buttonlabelextra2">buttonlabelextra2</a></li> <li><a href="/de/XUL/Attribute/buttonlabelhelp" title="de/XUL/Attribute/buttonlabelhelp">buttonlabelhelp</a></li> <li><a href="/de/XUL/Attribute/buttonorient" title="de/XUL/Attribute/buttonorient">buttonorient</a></li> <li><a href="/de/XUL/Attribute/buttonpack" title="de/XUL/Attribute/buttonpack">buttonpack</a></li> <li><a href="/de/XUL/Attribute/buttons" title="de/XUL/Attribute/buttons">buttons</a></li> <li><a href="/de/XUL/Attribute/checked" title="de/XUL/Attribute/checked">checked</a></li> <li><a href="/de/XUL/Attribute/checkState" title="de/XUL/Attribute/checkState">checkState</a></li> <li><a href="/de/XUL/Attribute/class" title="de/XUL/Attribute/class">class</a></li> <li><a href="/de/XUL/Attribute/closebutton" title="de/XUL/Attribute/closebutton">closebutton</a></li> <li><a href="/de/XUL/Attribute/Closemenu" title="de/XUL/Attribute/closemenu">closemenu</a></li> <li><a href="/de/XUL/Attribute/coalesceduplicatearcs" title="de/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></li> <li><a href="/de/XUL/Attribute/collapse" title="de/XUL/Attribute/collapse">collapse</a></li> <li><a href="/de/XUL/Attribute/collapsed" title="de/XUL/Attribute/collapsed">collapsed</a></li> <li><a href="/De/XUL/Attribute/Color" title="de/XUL/Attribute/color">color</a></li> <li><a href="/De/XUL/Attribute/Cols" title="de/XUL/Attribute/cols">cols</a></li> <li><a href="/de/XUL/Attribute/command" title="de/XUL/Attribute/command">command</a></li> <li><a href="/de/XUL/Attribute/commandupdater" title="de/XUL/Attribute/commandupdater">commandupdater</a></li> <li><a href="/de/XUL/Attribute/completedefaultindex" title="de/XUL/Attribute/completedefaultindex">completedefaultindex</a></li> <li><a href="/de/XUL/Attribute/container" title="de/XUL/Attribute/container">container</a></li> <li><a href="/de/XUL/Attribute/containment" title="de/XUL/Attribute/containment">containment</a></li> <li><a href="/de/XUL/Attribute/contentcontextmenu" title="de/XUL/Attribute/contentcontextmenu">contentcontextmenu</a></li> <li><a href="/de/XUL/Attribute/contenttooltip" title="de/XUL/Attribute/contenttooltip">contenttooltip</a></li> <li><a href="/de/XUL/Attribute/context" title="de/XUL/Attribute/context">context</a></li> <li><a href="/de/XUL/Attribute/contextmenu" title="de/XUL/Attribute/contextmenu">contextmenu</a></li> <li><a href="/de/XUL/Attribute/control" title="de/XUL/Attribute/control">control</a></li> <li><a href="/de/XUL/Attribute/crop" title="de/XUL/Attribute/crop">crop</a></li> <li><a href="/de/XUL/Attribute/curpos" title="de/XUL/Attribute/curpos">curpos</a></li> <li><a href="/de/XUL/Attribute/current" title="de/XUL/Attribute/current">current</a></li> <li><a href="/de/XUL/Attribute/currentset" title="de/XUL/Attribute/currentset">currentset</a></li> <li><a href="/de/XUL/Attribute/customindex" title="de/XUL/Attribute/customindex">customindex</a></li> <li><a href="/de/XUL/Attribute/customizable" title="de/XUL/Attribute/customizable">customizable</a></li> <li><a href="/de/XUL/Attribute/cycler" title="de/XUL/Attribute/cycler">cycler</a></li> <li><a href="/de/XUL/Attribute/datasources" title="de/XUL/Attribute/datasources">datasources</a></li> <li><a href="/De/XUL/Attribute/Decimalplaces" title="de/XUL/Attribute/decimalplaces">decimalplaces</a></li> <li><a href="/de/XUL/Attribute/default" title="de/XUL/Attribute/default">default</a></li> <li><a href="/de/XUL/Attribute/defaultButton" title="de/XUL/Attribute/defaultButton">defaultButton</a></li> <li><a href="/de/XUL/Attribute/defaultset" title="de/XUL/Attribute/defaultset">defaultset</a></li> <li><a href="/de/XUL/Attribute/description" title="de/XUL/Attribute/description">description</a></li> <li><a href="/de/XUL/Attribute/dir" title="de/XUL/Attribute/dir">dir</a></li> <li><a href="/de/XUL/Attribute/disableAutocomplete" title="de/XUL/Attribute/disableAutocomplete">disableAutocomplete</a></li> <li><a href="/de/XUL/Attribute/disableAutocomplete" title="de/XUL/Attribute/disableAutocomplete">disableautocomplete</a></li> <li><a href="/de/XUL/Attribute/disableautoselect" title="de/XUL/Attribute/disableautoselect">disableautoselect</a></li> <li><a href="/de/XUL/Attribute/disableclose" title="de/XUL/Attribute/disableclose">disableclose</a></li> <li><a href="/De/XUL/Attribute/Disabled" title="de/XUL/Attribute/disabled">disabled</a></li> <li><a href="/de/XUL/Attribute/disablehistory" title="de/XUL/Attribute/disablehistory">disablehistory</a></li> <li><a href="/de/XUL/Attribute/disableKeyNavigation" title="de/XUL/Attribute/disableKeyNavigation">disableKeyNavigation</a></li> <li><a href="/de/XUL/Attribute/disableKeyNavigation" title="de/XUL/Attribute/disableKeyNavigation">disablekeynavigation</a></li> <li><a href="/de/XUL/Attribute/disablesecurity" title="de/XUL/Attribute/disablesecurity">disablesecurity</a></li> <li><a href="/de/XUL/Attribute/dlgtype" title="de/XUL/Attribute/dlgtype">dlgtype</a></li> <li><a href="/de/XUL/Attribute/dragging" title="de/XUL/Attribute/dragging">dragging</a></li> <li><a href="/de/XUL/Attribute/editable" title="de/XUL/Attribute/editable">editable</a></li> <li><a href="/de/XUL/Attribute/editortype" title="de/XUL/Attribute/editortype">editortype</a></li> <li><a href="/de/XUL/Attribute/element" title="de/XUL/Attribute/element">element</a></li> <li><a href="/De/XUL/Attribute/Empty" title="de/XUL/Attribute/empty">empty</a></li> <li><a href="/De/XUL/Attribute/Emptytext" title="de/XUL/Attribute/emptytext">emptytext</a> <span class="inlineIndicator deprecated deprecatedInline" title="(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)">Unerwünscht Gecko 2</span></li> <li><a href="/de/XUL/Attribute/enableColumnDrag" title="de/XUL/Attribute/enableColumnDrag">enableColumnDrag</a></li> <li><a href="/de/XUL/Attribute/enablehistory" title="de/XUL/Attribute/enablehistory">enablehistory</a></li> <li><a href="/de/XUL/Attribute/equalsize" title="de/XUL/Attribute/equalsize">equalsize</a></li> <li><a href="/de/XUL/Attribute/eventnode" title="de/XUL/Attribute/eventnode">eventnode</a></li> <li><a href="/de/XUL/Attribute/events" title="de/XUL/Attribute/events">events</a></li> <li><a href="/De/XUL/Attribute/Expr" title="de/XUL/Attribute/expr">expr</a></li> <li><a href="/de/XUL/Attribute/firstdayofweek" title="de/XUL/Attribute/firstdayofweek">firstdayofweek</a></li> <li><a href="/de/XUL/Attribute/firstpage" title="de/XUL/Attribute/firstpage">firstpage</a></li> <li><a href="/de/XUL/Attribute/first-tab" title="de/XUL/Attribute/first-tab">first-tab</a></li> <li><a href="/de/XUL/Attribute/fixed" title="de/XUL/Attribute/fixed">fixed</a></li> <li><a href="/de/XUL/Attribute/flags" title="de/XUL/Attribute/flags">flags</a></li> <li><a href="/de/XUL/Attribute/flex" title="de/XUL/Attribute/flex">flex</a></li> <li><a href="/de/XUL/Attribute/focused" title="de/XUL/Attribute/focused">focused</a></li> <li><a href="/de/XUL/Attribute/forceComplete" title="de/XUL/Attribute/forceComplete">forceComplete</a></li> <li><a href="/de/XUL/Attribute/forceComplete" title="de/XUL/Attribute/forceComplete">forcecomplete</a></li> <li><a href="/de/XUL/Attribute/grippyhidden" title="de/XUL/Attribute/grippyhidden">grippyhidden</a></li> <li><a href="/de/XUL/Attribute/grippytooltiptext" title="de/XUL/Attribute/grippytooltiptext">grippytooltiptext</a></li> <li><a href="/de/XUL/Attribute/group" title="de/XUL/Attribute/group">group</a></li> <li><a href="/de/XUL/Attribute/handleCtrlPageUpDown" title="de/XUL/Attribute/handleCtrlPageUpDown">handleCtrlPageUpDown</a></li> <li><a href="/de/XUL/Attribute/handleCtrlTab" title="de/XUL/Attribute/handleCtrlTab">handleCtrlTab</a></li> <li><a href="/de/XUL/Attribute/height" title="de/XUL/Attribute/height">height</a></li> <li><a href="/de/XUL/Attribute/helpURI" title="de/XUL/Attribute/helpURI">helpURI</a></li> <li><a href="/de/XUL/Attribute/hidden" title="de/XUL/Attribute/hidden">hidden</a></li> <li><a href="/de/XUL/Attribute/hidechrome" title="de/XUL/Attribute/hidechrome">hidechrome</a></li> <li><a href="/de/XUL/Attribute/hidecolumnpicker" title="de/XUL/Attribute/hidecolumnpicker">hidecolumnpicker</a></li> <li><a href="/de/XUL/Attribute/hideheader" title="de/XUL/Attribute/hideheader">hideheader</a></li> <li><a href="/de/XUL/Attribute/hideseconds" title="de/XUL/Attribute/hideseconds">hideseconds</a></li> <li><a href="/De/XUL/Attribute/Hidespinbuttons" title="de/XUL/Attribute/hidespinbuttons">hidespinbuttons</a></li> <li><a href="/de/XUL/Attribute/Highlightnonmatches" title="de/XUL/Attribute/highlightnonmatches">highlightnonmatches</a> </li> <li><a href="/de/XUL/Attribute/homepage" title="de/XUL/Attribute/homepage">homepage</a></li> <li><a href="/de/XUL/Attribute/href" title="de/XUL/Attribute/href">href</a></li> <li><a href="/de/XUL/Attribute/icon" title="de/XUL/Attribute/icon">icon</a></li> <li><a href="/de/XUL/Attribute/id" title="de/XUL/Attribute/id">id</a></li> <li><a href="/de/XUL/Attribute/ignoreBlurWhileSearching" title="de/XUL/Attribute/ignoreBlurWhileSearching">ignoreBlurWhileSearching</a></li> <li><a href="/de/XUL/Attribute/ignoreBlurWhileSearching" title="de/XUL/Attribute/ignoreBlurWhileSearching">ignorebluewhilesearching</a></li> <li><a href="/de/XUL/Attribute/ignorecase" title="de/XUL/Attribute/ignorecase">ignorecase</a></li> <li><a href="/de/XUL/Attribute/ignoreincolumnpicker" title="de/XUL/Attribute/ignoreincolumnpicker">ignoreincolumnpicker</a></li> <li><a href="/de/XUL/Attribute/ignorekeys" title="de/XUL/Attribute/ignorekeys">ignorekeys</a></li> <li><a href="/de/XUL/Attribute/image" title="de/XUL/Attribute/image">image</a></li> <li><a href="/de/XUL/Attribute/inactivetitlebarcolor" title="de/XUL/Attribute/inactivetitlebarcolor">inactivetitlebarcolor</a> </li> <li><a href="/de/XUL/Attribute/increment" title="de/XUL/Attribute/increment">increment</a></li> <li><a href="/de/XUL/Attribute/index" title="de/XUL/Attribute/index">index</a></li> <li><a href="/de/XUL/Attribute/inputtooltiptext" title="de/XUL/Attribute/inputtooltiptext">inputtooltiptext</a></li> <li><a href="/de/XUL/Attribute/insertafter" title="de/XUL/Attribute/insertafter">insertafter</a></li> <li><a href="/de/XUL/Attribute/insertbefore" title="de/XUL/Attribute/insertbefore">insertbefore</a></li> <li><a href="/de/XUL/Attribute/instantApply" title="de/XUL/Attribute/instantApply">instantApply</a></li> <li><a href="/de/XUL/Attribute/inverted" title="de/XUL/Attribute/inverted">inverted</a></li> <li><a href="/de/XUL/Attribute/iscontainer" title="de/XUL/Attribute/iscontainer">iscontainer</a></li> <li><a href="/de/XUL/Attribute/isempty" title="de/XUL/Attribute/isempty">isempty</a></li> <li><a href="/de/XUL/Attribute/key" title="de/XUL/Attribute/key">key</a></li> <li><a href="/de/XUL/Attribute/keycode" title="de/XUL/Attribute/keycode">keycode</a></li> <li><a href="/de/XUL/Attribute/keytext" title="de/XUL/Attribute/keytext">keytext</a></li> <li><a href="/de/XUL/Attribute/label" title="de/XUL/Attribute/label">label</a></li> <li><a href="/de/XUL/Attribute/lastpage" title="de/XUL/Attribute/lastpage">lastpage</a></li> <li><a href="/de/XUL/Attribute/lastSelected" title="de/XUL/Attribute/lastSelected">lastSelected</a></li> <li><a href="/de/XUL/Attribute/last-tab" title="de/XUL/Attribute/last-tab">last-tab</a></li> <li><a href="/de/XUL/Attribute/left" title="de/XUL/Attribute/left">left</a></li> <li><a href="/de/XUL/Attribute/linkedpanel" title="de/XUL/Attribute/linkedpanel">linkedpanel</a></li> <li><a href="/de/XUL/Attribute/max" title="de/XUL/Attribute/max">max</a></li> <li><a href="/de/XUL/Attribute/maxheight" title="de/XUL/Attribute/maxheight">maxheight</a></li> <li><a href="/de/XUL/Attribute/maxlength" title="de/XUL/Attribute/maxlength">maxlength</a></li> <li><a href="/de/XUL/Attribute/maxpos" title="de/XUL/Attribute/maxpos">maxpos</a></li> <li><a href="/de/XUL/Attribute/maxrows" title="de/XUL/Attribute/maxrows">maxrows</a></li> <li><a href="/de/XUL/Attribute/maxwidth" title="de/XUL/Attribute/maxwidth">maxwidth</a></li> <li><a href="/de/XUL/Attribute/member" title="de/XUL/Attribute/member">member</a></li> <li><a href="/de/XUL/Attribute/menu" title="de/XUL/Attribute/menu">menu</a></li> <li><a href="/de/XUL/Attribute/menuactive" title="de/XUL/Attribute/menuactive">menuactive</a></li> <li><a href="/de/XUL/Attribute/min" title="de/XUL/Attribute/min">min</a></li> <li><a href="/de/XUL/Attribute/minheight" title="de/XUL/Attribute/minheight">minheight</a></li> <li><a href="/de/XUL/Attribute/minResultsForPopup" title="de/XUL/Attribute/minResultsForPopup">minResultsForPopup</a></li> <li><a href="/de/XUL/Attribute/minResultsForPopup" title="de/XUL/Attribute/minResultsForPopup">minresultsforpopup</a></li> <li><a href="/de/XUL/Attribute/minwidth" title="de/XUL/Attribute/minwidth">minwidth</a></li> <li><a href="/de/XUL/Attribute/mode" title="de/XUL/Attribute/mode">mode</a></li> <li><a href="/de/XUL/Attribute/modifiers" title="de/XUL/Attribute/modifiers">modifiers</a></li> <li><a href="/de/XUL/Attribute/mousethrough" title="de/XUL/Attribute/mousethrough">mousethrough</a></li> <li><a href="/de/XUL/Attribute/Movetoclick" title="de/XUL/Attribute/movetoclick">movetoclick</a></li> <li><a href="/de/XUL/Attribute/multiline" title="de/XUL/Attribute/multiline">multiline</a></li> <li><a href="/de/XUL/Attribute/multiple" title="de/XUL/Attribute/multiple">multiple</a></li> <li><a href="/de/XUL/Attribute/name" title="de/XUL/Attribute/name">name</a></li> <li><a href="/de/XUL/Attribute/negate" title="de/XUL/Attribute/negate">negate</a></li> <li><a href="/de/XUL/Attribute/newlines" title="de/XUL/Attribute/newlines">newlines</a></li> <li><a href="/de/XUL/Attribute/next" title="de/XUL/Attribute/next">next</a></li> <li><a href="/de/XUL/Attribute/noautofocus" title="de/XUL/Attribute/noautofocus">noautofocus</a></li> <li><a href="/de/XUL/Attribute/noautohide" title="de/XUL/Attribute/noautohide">noautohide</a></li> <li><a href="/de/XUL/Attribute/nomatch" title="de/XUL/Attribute/nomatch">nomatch</a></li> <li><a href="/de/XUL/Attribute/Norestorefocus" title="de/XUL/Attribute/norestorefocus">norestorefocus</a></li> <li><a href="/de/XUL/Attribute/object" title="de/XUL/Attribute/object">object</a></li> <li><a href="/de/XUL/Attribute/observes" title="de/XUL/Attribute/observes">observes</a></li> <li><a href="/de/XUL/Attribute/onbeforeaccept" title="de/XUL/Attribute/onbeforeaccept">onbeforeaccept</a></li> <li><a href="/de/XUL/Attribute/onbookmarkgroup" title="de/XUL/Attribute/onbookmarkgroup">onbookmarkgroup</a></li> <li><a href="/De/XUL/Attribute/Onchange" title="de/XUL/Attribute/onchange">onchange</a></li> <li><a class="internal" href="/de/XUL/Attribute/onclick" title="de/XUL/Attribute/Onclick">onclick</a></li> <li><a href="/de/XUL/Attribute/onclosetab" title="de/XUL/Attribute/onclosetab">onclosetab</a></li> <li><a href="/de/XUL/Attribute/oncommand" title="de/XUL/Attribute/oncommand">oncommand</a></li> <li><a href="/de/XUL/Attribute/oncommandupdate" title="de/XUL/Attribute/oncommandupdate">oncommandupdate</a></li> <li><a href="/de/XUL/Attribute/ondialogaccept" title="de/XUL/Attribute/ondialogaccept">ondialogaccept</a></li> <li><a href="/de/XUL/Attribute/ondialogcancel" title="de/XUL/Attribute/ondialogcancel">ondialogcancel</a></li> <li><a href="/de/XUL/Attribute/ondialogdisclosure" title="de/XUL/Attribute/ondialogdisclosure">ondialogclosure</a></li> <li><a href="/de/XUL/Attribute/ondialogextra1" title="de/XUL/Attribute/ondialogextra1">ondialogextra1</a></li> <li><a href="/de/XUL/Attribute/ondialogextra2" title="de/XUL/Attribute/ondialogextra2">ondialogextra2</a></li> <li><a href="/de/XUL/Attribute/ondialoghelp" title="de/XUL/Attribute/ondialoghelp">ondialoghelp</a></li> <li><a href="/de/XUL/Attribute/onerror" title="de/XUL/Attribute/onerror">onerror</a></li> <li><a href="/de/XUL/Attribute/onerrorcommand" title="de/XUL/Attribute/onerrorcommand">onerrorcommand</a></li> <li><a href="/de/XUL/Attribute/onextra1" title="de/XUL/Attribute/onextra1">onextra1</a></li> <li><a href="/de/XUL/Attribute/onextra2" title="de/XUL/Attribute/onextra2">onextra2</a></li> <li><a href="/de/XUL/Attribute/oninput" title="de/XUL/Attribute/oninput">oninput</a></li> <li><a href="/de/XUL/Attribute/onload" title="de/XUL/Attribute/onload">onload</a></li> <li><a href="/de/XUL/Attribute/onnewtab" title="de/XUL/Attribute/onnewtab">onnewtab</a></li> <li><a href="/de/XUL/Attribute/onpageadvanced" title="de/XUL/Attribute/onpageadvanced">onpageadvanced</a></li> <li><a href="/de/XUL/Attribute/onpagehide" title="de/XUL/Attribute/onpagehide">onpagehide</a></li> <li><a href="/de/XUL/Attribute/onpagerewound" title="de/XUL/Attribute/onpagerewound">onpagerewound</a></li> <li><a href="/de/XUL/Attribute/onpageshow" title="de/XUL/Attribute/onpageshow">onpageshow</a></li> <li><a href="/de/XUL/Attribute/onpaneload" title="de/XUL/Attribute/onpaneload">onpaneload</a></li> <li><a href="/de/XUL/Attribute/onpopuphidden" title="de/XUL/Attribute/onpopuphidden">onpopuphidden</a></li> <li><a href="/de/XUL/Attribute/onpopuphiding" title="de/XUL/Attribute/onpopuphiding">onpopuphiding</a></li> <li><a href="/de/XUL/Attribute/onpopupshowing" title="de/XUL/Attribute/onpopupshowing">onpopupshowing</a></li> <li><a href="/de/XUL/Attribute/onpopupshown" title="de/XUL/Attribute/onpopupshown">onpopupshown</a></li> <li><a href="/de/XUL/Attribute/onsearchcomplete" title="de/XUL/Attribute/onsearchcomplete">onsearchcomplete</a></li> <li><a href="/de/XUL/Attribute/onselect" title="de/XUL/Attribute/onselect">onselect</a></li> <li><a href="/de/XUL/Attribute/ontextcommand" title="de/XUL/Attribute/ontextcommand">ontextcommand</a></li> <li><a href="/de/XUL/Attribute/ontextentered" title="de/XUL/Attribute/ontextentered">ontextentered</a></li> <li><a href="/de/XUL/Attribute/ontextrevert" title="de/XUL/Attribute/ontextrevert">ontextrevert</a></li> <li><a href="/de/XUL/Attribute/ontextreverted" title="de/XUL/Attribute/ontextreverted">ontextreverted</a></li> <li><a href="/de/XUL/Attribute/onwizardback" title="de/XUL/Attribute/onwizardback">onwizardback</a></li> <li><a href="/de/XUL/Attribute/onwizardcancel" title="de/XUL/Attribute/onwizardcancel">onwizardcancel</a></li> <li><a href="/de/XUL/Attribute/onwizardfinish" title="de/XUL/Attribute/onwizardfinish">onwizardfinish</a></li> <li><a href="/de/XUL/Attribute/onwizardnext" title="de/XUL/Attribute/onwizardnext">onwizardnext</a></li> <li><a href="/de/XUL/Attribute/open" title="de/XUL/Attribute/open">open</a></li> <li><a href="/de/XUL/Attribute/ordinal" title="de/XUL/Attribute/ordinal">ordinal</a></li> <li><a href="/de/XUL/Attribute/orient" title="de/XUL/Attribute/orient">orient</a></li> <li><a href="/de/XUL/Attribute/pack" title="de/XUL/Attribute/pack">pack</a></li> <li><a href="/de/XUL/Attribute/pageid" title="de/XUL/Attribute/pageid">pageid</a></li> <li><a href="/de/XUL/Attribute/pageincrement" title="de/XUL/Attribute/pageincrement">pageincrement</a></li> <li><a href="/de/XUL/Attribute/pagestep" title="de/XUL/Attribute/pagestep">pagestep</a></li> <li><a href="/de/XUL/Attribute/parent" title="de/XUL/Attribute/parent">parent</a></li> <li><a href="/de/XUL/Attribute/parsetype" title="de/XUL/Attribute/parsetype">parsetype</a></li> <li><a href="/de/XUL/Attribute/persist" title="de/XUL/Attribute/persist">persist</a></li> <li><a href="/de/XUL/Attribute/persistence" title="de/XUL/Attribute/persistence">persistence</a></li> <li><a href="/de/XUL/Attribute/phase" title="de/XUL/Attribute/phase">phase</a></li> <li><a href="/de/XUL/Attribute/pickertooltiptext" title="de/XUL/Attribute/pickertooltiptext">pickertooltiptext</a></li> <li><a href="/de/XUL/Attribute/placeholder" title="de/XUL/Attribute/placeholder">placeholder</a> </li> <li><a href="/de/XUL/Attribute/popup" title="de/XUL/Attribute/popup">popup</a></li> <li><a href="/de/XUL/Attribute/position" title="de/XUL/Attribute/position">position</a></li> <li><a href="/de/XUL/Attribute/predicate" title="de/XUL/Attribute/predicate">predicate</a></li> <li><a href="/de/XUL/Attribute/preference" title="de/XUL/Attribute/preference">preference</a></li> <li><a href="/de/XUL/Attribute/preference-editable" title="de/XUL/Attribute/preference-editable">preference-editable</a></li> <li><a href="/de/XUL/Attribute/primary" title="de/XUL/Attribute/primary">primary</a></li> <li><a href="/de/XUL/Attribute/priority" title="de/XUL/Attribute/priority">priority</a></li> <li><a href="/de/XUL/Attribute/properties" title="de/XUL/Attribute/properties">properties</a></li> <li><a href="/de/XUL/Attribute/querytype" title="de/XUL/Attribute/querytype">querytype</a></li> <li><a href="/de/XUL/Attribute/readonly" title="de/XUL/Attribute/readonly">readonly</a></li> <li><a href="/de/XUL/Attribute/ref" title="de/XUL/Attribute/ref">ref</a></li> <li><a href="/de/XUL/Attribute/rel" title="de/XUL/Attribute/rel">rel</a></li> <li><a href="/de/XUL/Attribute/removeelement" title="de/XUL/Attribute/removeelement">removeelement</a></li> <li><a href="/de/XUL/Attribute/resizeafter" title="de/XUL/Attribute/resizeafter">resizeafter</a></li> <li><a href="/de/XUL/Attribute/resizebefore" title="de/XUL/Attribute/resizebefore">resizebefore</a></li> <li><a href="/de/XUL/Attribute/rows" title="de/XUL/Attribute/rows">rows</a></li> <li><a href="/de/XUL/Attribute/screenX" title="de/XUL/Attribute/screenX">screenX</a></li> <li><a href="/de/XUL/Attribute/screenY" title="de/XUL/Attribute/screenY">screenY</a></li> <li><a href="/de/XUL/Attribute/Searchbutton" title="de/XUL/Attribute/searchbutton">searchbutton</a></li> <li><a href="/de/XUL/Attribute/searchSessions" title="de/XUL/Attribute/searchSessions">searchSessions</a></li> <li><a href="/de/XUL/Attribute/searchlabel" title="de/XUL/Attribute/searchlabel">searchlabel</a></li> <li><a href="/de/XUL/Attribute/selected" title="de/XUL/Attribute/selected">selected</a></li> <li><a href="/de/XUL/Attribute/selectedIndex" title="de/XUL/Attribute/selectedIndex">selectedIndex</a></li> <li><a href="/de/XUL/Attribute/seltype" title="de/XUL/Attribute/seltype">seltype</a></li> <li><a href="/de/XUL/Attribute/setfocus" title="de/XUL/Attribute/setfocus">setfocus</a></li> <li><a href="/de/XUL/Attribute/showcaret" title="de/XUL/Attribute/showcaret">showcaret</a></li> <li><a href="/de/XUL/Attribute/showCommentColumn" title="de/XUL/Attribute/showCommentColumn">showCommentColumn</a></li> <li><a href="/de/XUL/Attribute/showCommentColumn" title="de/XUL/Attribute/showCommentColumn">showcommentcolumn</a></li> <li><a href="/de/XUL/Attribute/showpopup" title="de/XUL/Attribute/showpopup">showpopup</a></li> <li><a href="/de/XUL/Attribute/size" title="de/XUL/Attribute/size">size</a></li> <li><a href="/de/XUL/Attribute/sizemode" title="de/XUL/Attribute/sizemode">sizemode</a></li> <li><a href="/de/XUL/Attribute/sizetopopup" title="de/XUL/Attribute/sizetopopup">sizetopopup</a></li> <li><a href="/de/XUL/Attribute/smoothscroll" title="de/XUL/Attribute/smoothscroll">smoothscroll</a></li> <li><a href="/de/XUL/Attribute/sort" title="de/XUL/Attribute/sort">sort</a></li> <li><a href="/de/XUL/Attribute/sortActive" title="de/XUL/Attribute/sortActive">sortActive</a></li> <li><a href="/de/XUL/Attribute/sortDirection" title="de/XUL/Attribute/sortDirection">sortDirection</a></li> <li><a href="/de/XUL/Attribute/sortResource" title="de/XUL/Attribute/sortResource">sortResource</a></li> <li><a href="/de/XUL/Attribute/sortResource2" title="de/XUL/Attribute/sortResource2">sortResource2</a></li> <li><a href="/de/XUL/Attribute/spellcheck" title="de/XUL/Attribute/spellcheck">spellcheck</a></li> <li><a href="/de/XUL/Attribute/src" title="de/XUL/Attribute/src">src</a></li> <li><a href="/de/XUL/Attribute/state" title="de/XUL/Attribute/state">state</a></li> <li><a href="/de/XUL/Attribute/statedatasource" title="de/XUL/Attribute/statedatasource">statedatasource</a></li> <li><a href="/de/XUL/Attribute/statusbar" title="de/XUL/Attribute/statusbar">statusbar</a></li> <li><a href="/de/XUL/Attribute/statustext" title="de/XUL/Attribute/statustext">statustext</a></li> <li><a href="/de/XUL/Attribute/style" title="de/XUL/Attribute/style">style</a></li> <li><a href="/de/XUL/Attribute/subject" title="de/XUL/Attribute/subject">subject</a></li> <li><a href="/de/XUL/Attribute/substate" title="de/XUL/Attribute/substate">substate</a></li> <li><a href="/de/XUL/Attribute/suppressonselect" title="de/XUL/Attribute/suppressonselect">suppressonselect</a></li> <li><a href="/de/XUL/Attribute/tabindex" title="de/XUL/Attribute/tabindex">tabindex</a></li> <li><a href="/de/XUL/Attribute/tabScrolling" title="de/XUL/Attribute/tabScrolling">tabScrolling</a></li> <li><a href="/de/XUL/Attribute/tabScrolling" title="de/XUL/Attribute/tabScrolling">tabscrolling</a></li> <li><a href="/de/XUL/Attribute/targets" title="de/XUL/Attribute/targets">targets</a></li> <li><a href="/de/XUL/Attribute/template" title="de/XUL/Attribute/template">template</a></li> <li><a href="/de/XUL/Attribute/timeout" title="de/XUL/Attribute/timeout">timeout</a></li> <li><a href="/de/XUL/Attribute/title" title="de/XUL/Attribute/title">title</a></li> <li><a href="/de/XUL/Attribute/toolbarname" title="de/XUL/Attribute/toolbarname">toolbarname</a></li> <li><a href="/de/XUL/Attribute/tooltip" title="de/XUL/Attribute/tooltip">tooltip</a></li> <li><a href="/de/XUL/Attribute/tooltiptext" title="de/XUL/Attribute/tooltiptext">tooltiptext</a></li> <li><a href="/de/XUL/Attribute/tooltiptextnew" title="de/XUL/Attribute/tooltiptextnew">tooltiptextnew</a></li> <li><a href="/de/XUL/Attribute/top" title="de/XUL/Attribute/top">top</a></li> <li><a href="/de/XUL/Attribute/type" title="de/XUL/Attribute/type">type</a></li> <li><a href="/de/XUL/Attribute/uri" title="de/XUL/Attribute/uri">uri</a></li> <li><a href="/de/XUL/Attribute/userAction" title="de/XUL/Attribute/userAction">userAction</a></li> <li><a href="/de/XUL/Attribute/validate" title="de/XUL/Attribute/validate">validate</a></li> <li><a href="/de/XUL/Attribute/value" title="de/XUL/Attribute/value">value</a></li> <li><a href="/De/XUL/Attribute/Var" title="de/XUL/Attribute/var">var</a></li> <li><a href="/de/XUL/Attribute/wait-cursor" title="de/XUL/Attribute/wait-cursor">wait-cursor</a></li> <li><a href="/de/XUL/Attribute/width" title="de/XUL/Attribute/width">width</a></li> <li><a href="/de/XUL/Attribute/windowtype" title="de/XUL/Attribute/windowtype">windowtype</a></li> <li><a href="/de/XUL/Attribute/wrap" title="de/XUL/Attribute/wrap">wrap</a></li> <li><a href="/de/XUL/Attribute/wraparound" title="de/XUL/Attribute/wraparound">wraparound</a></li> +</ul> diff --git a/files/de/archive/mozilla/xul/attribute/label/index.html b/files/de/archive/mozilla/xul/attribute/label/index.html new file mode 100644 index 0000000000..d1bde8c8b8 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/label/index.html @@ -0,0 +1,32 @@ +--- +title: label +slug: Archive/Mozilla/XUL/Attribute/label +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/label +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></dt> <dd>Typ: <em>string</em></dd> <dd>Die Beschriftung für das Element. Wird das Attribut nicht angegeben, so erscheint auch kein Beschriftungstext.</dd> +</dl> +<div class="noinclude"> +<h3 id="Siehe_auch" name="Siehe_auch">Siehe auch</h3> +<ul> <li><a href="/de/XUL/Attribute/treeitem.label" title="de/XUL/Attribute/treeitem.label">treeitem.label</a>, <code><a href="/de/XUL/label" title="de/XUL/label"><label></a></code> element</li> +</ul> +<h4 id="Beispiele_in_JavaScript" name="Beispiele_in_JavaScript">Beispiele in JavaScript</h4> +<pre><label value="Whaw" id="the-big-label" command="the-big-button"/> +<button id="the-big-button" label="Klick mich" + oncommand="alert(document.getElementById('the-big-label').value)"/> + +<label id="myLabel" value="Meine Beschriftung"/> +<button label="Klick mich" + oncommand="document.getElementById('myLabel').setAttribute('value','Wert geändert');" /> + +<checkbox label="my Checkbox" id="myCheckboX"/> +<button label="Weiterer Klick" + oncommand="document.getElementById('myCheckboX').setAttribute('label','Noch nicht angekreuzt');"/> +<button label="Beschriftung des Ankreuzfeldes" + oncommand="alert( document.getElementById('myCheckboX').getAttribute('label') )"/> +</pre> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/onchange/index.html b/files/de/archive/mozilla/xul/attribute/onchange/index.html new file mode 100644 index 0000000000..ef1f0e8bd8 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/onchange/index.html @@ -0,0 +1,14 @@ +--- +title: onchange +slug: Archive/Mozilla/XUL/Attribute/Onchange +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/onchange +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-onchange"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/onchange">onchange</a></code></dt> <dd>Typ: <em>script code</em></dd> <dd>Der Code im <code>onchange</code> Attribut wird aufgerufen, wenn sich der Wert des Elements geändert hat.</dd> +</dl> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/prefpane.src/index.html b/files/de/archive/mozilla/xul/attribute/prefpane.src/index.html new file mode 100644 index 0000000000..14c934c98f --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/prefpane.src/index.html @@ -0,0 +1,25 @@ +--- +title: prefpane.src +slug: Archive/Mozilla/XUL/Attribute/prefpane.src +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/prefpane.src +--- +<div class="noinclude"> + <span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> + <dt> + <code id="a-prefpane.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/prefpane.src">src</a></code></dt> + <dd> + Typ: <em>Überlagerungs-URL</em></dd> + <dd> + Die URL des Inhalts des <code>prefpane</code>. Sofern nicht angegeben, wird der Inhalt des <code><a href="/de/docs/Mozilla/Tech/XUL/prefpane" title="prefpane">prefpane</a></code> Elements dargestellt.</dd> +</dl> + +<div class="noinclude"> + <h3 id="Siehe_auch" name="Siehe_auch">Siehe auch</h3> + <ul> + <li><a href="/de/docs/XUL/Attribute/src" title="XUL/Attribute/src">src</a></li> + </ul> +</div> diff --git a/files/de/archive/mozilla/xul/attribute/src/index.html b/files/de/archive/mozilla/xul/attribute/src/index.html new file mode 100644 index 0000000000..875fa55f2d --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/src/index.html @@ -0,0 +1,34 @@ +--- +title: src +slug: Archive/Mozilla/XUL/Attribute/src +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/src +--- +<div class="noinclude"> + <span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> + <dt> + <code id="a-src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code></dt> + <dd> + Typ: <em>URL</em></dd> + <dd> + Die URL des im Element anzuzeigenden Inhalts.</dd> +</dl> +<div class="noinclude"> + <h3 id="Beispiele" name="Beispiele">Beispiele</h3> + <pre class="brush:xml"><iframe id="content-body" src="http://www.mozilla.org/"/> +<browser src="http://www.mozilla.org" flex="1"/> +<image src='Firefoxlogo.png' width='135' height='130'/> +</pre> + <h3 id="Siehe_auch" name="Siehe_auch">Siehe auch</h3> + <ul> + <li><code id="a-prefpane.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/prefpane.src">prefpane.src</a></code></li> + <li><code id="a-treecell.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/treecell.src">treecell.src</a></code></li> + <li><code id="a-treecol.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/treecol.src">treecol.src</a></code></li> + <li><code id="a-script.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/script.src">script.src</a></code></li> + <li><code id="a-stringbundle.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/stringbundle.src">stringbundle.src</a></code></li> + <li><code id="a-checkbox.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/checkbox.src">checkbox.src</a></code></li> + </ul> +</div> diff --git a/files/de/archive/mozilla/xul/attribute/treecell.src/index.html b/files/de/archive/mozilla/xul/attribute/treecell.src/index.html new file mode 100644 index 0000000000..0c1a44cd34 --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/treecell.src/index.html @@ -0,0 +1,17 @@ +--- +title: treecell.src +slug: Archive/Mozilla/XUL/Attribute/treecell.src +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/treecell.src +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-treecell.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/treecell.src">src</a></code></dt> <dd>Typ: <em>Bild-URL</em></dd> <dd>URL des Bildes, welches in der Zelle des Baums angezeigt werden soll. Sofern nicht angegeben, erscheint auch kein Bild. In der Zelle können sowohl Bild als auch Beschriftung angezeigt werden.</dd> +</dl> +<div class="noinclude"> +<h3 id="Siehe_auch" name="Siehe_auch">Siehe auch</h3> +<ul> <li><a href="/de/XUL/Attribute/src" title="de/XUL/Attribute/src">src</a></li> <li><a href="/de/XUL/Attribute/treecol.src" title="de/XUL/Attribute/treecol.src">treecol.src</a></li> +</ul> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/treecol.src/index.html b/files/de/archive/mozilla/xul/attribute/treecol.src/index.html new file mode 100644 index 0000000000..e94d0f7cbb --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/treecol.src/index.html @@ -0,0 +1,17 @@ +--- +title: treecol.src +slug: Archive/Mozilla/XUL/Attribute/treecol.src +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/treecol.src +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-treecol.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/treecol.src">src</a></code></dt> <dd>Typ: <em>Bild-URL</em></dd> <dd>Um für das <code><a href="/de/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code> Element ein Bild für den Kopf, statt eines <code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> Attribut zu benutzen, kann dieses Attribut gesetzt werden. Im Kopf können nicht gleichzeitig Bild und Beschriftung angezeigt werden. Die URL eines Bildes, das als Spaltenkopf des Baums angezeigt wird, kann mit diesem Attribut festgelegt werden. Wird das Attribut nicht angegeben, erscheint kein Bild und es wird stattdessen die Beschriftung angezeigt. Damit das Bild erscheint, muss die Klasse <code><a href="https://developer.mozilla.org/de/docs/XUL/Style/treecol-image">treecol-image</a></code> für das <code><a href="/de/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code> Element gesetzt werden. Ein <code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> sollte dennoch für die Benutzung im Spaltenwähler angegeben werden, falls <code id="a-ignoreincolumnpicker"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ignoreincolumnpicker">ignoreincolumnpicker</a></code> nicht <code>true</code> ist und <code id="a-hidecolumnpicker"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidecolumnpicker">hidecolumnpicker</a></code> für den <code><a href="/de/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code> ebenfalls nicht <code>true</code> ist .</dd> +</dl> +<div class="noinclude"> +<h3 id="Siehe_auch" name="Siehe_auch">Siehe auch</h3> +<ul> <li><a href="/de/XUL/Attribute/src" title="de/XUL/Attribute/src">src</a></li> +</ul> + +</div> diff --git a/files/de/archive/mozilla/xul/attribute/var/index.html b/files/de/archive/mozilla/xul/attribute/var/index.html new file mode 100644 index 0000000000..1ed49683ea --- /dev/null +++ b/files/de/archive/mozilla/xul/attribute/var/index.html @@ -0,0 +1,14 @@ +--- +title: var +slug: Archive/Mozilla/XUL/Attribute/Var +tags: + - XUL Attribute + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Attribute/var +--- +<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> <dt><code id="a-var"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/var">var</a></code></dt> <dd>Typ: <em>string</em></dd> <dd>Dient der Variablenzuweisung innerhalb <code><a class="internal" href="/De/XUL/Assign" title="de/XUL/assign">assign</a></code> Tags; ansonsten wird es als Referenz zu einer Template Variable wie beispielsweise "?name" verwendet.</dd> +</dl> +<div class="noinclude"> + +</div> diff --git a/files/de/archive/mozilla/xul/bbox/index.html b/files/de/archive/mozilla/xul/bbox/index.html new file mode 100644 index 0000000000..35dc11a250 --- /dev/null +++ b/files/de/archive/mozilla/xul/bbox/index.html @@ -0,0 +1,87 @@ +--- +title: Bbox +slug: Archive/Mozilla/XUL/Bbox +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/bbox +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Eine horizontale Box, die an der Grundlinie ausgerichtet ist. Gleichwertig zum <code><a href="/de/docs/Mozilla/Tech/XUL/hbox" title="hbox">hbox</a></code> Element mit einem <code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code> Attribut mit dem Wert <code>baseline</code>.</p> +<h3 id="Beispiele">Beispiele</h3> +<p>(Beispiel benötigt)</p> +<h3 id="Attribute">Attribute</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Properties" name="Properties">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<p>TBD</p> diff --git a/files/de/archive/mozilla/xul/binding/index.html b/files/de/archive/mozilla/xul/binding/index.html new file mode 100644 index 0000000000..bc3dbe2daf --- /dev/null +++ b/files/de/archive/mozilla/xul/binding/index.html @@ -0,0 +1,89 @@ +--- +title: binding +slug: Archive/Mozilla/XUL/Binding +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/binding +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Sollte in einem <code><a href="/de/docs/Mozilla/Tech/XUL/bindings" title="bindings">bindings</a></code> Element enthalten sein. Ein <code>binding</code> wird benutzt, um eine Variable an einen Node zu binden. Ähnlich zum Syntax des <code><a href="/de/docs/Mozilla/Tech/XUL/triple" title="triple">triple</a></code> Elements, können die Eigenschaften eines entsprechenden Nodes an einen Variablennamen gebunden werden. Dieser Name kann innerhalb einer Aktion einer Regel benutzt werden.</p> +<dl> <dt>Eigenschaften</dt> <dd><a href="#p-object">object</a>, <a href="#p-predicate">predicate</a>, <a href="#p-subject">subject</a></dd> +</dl> +<h3 id="Beispiele">Beispiele</h3> +<p>(Beispiel benötigt)</p> +<h3 id="Attribute">Attribute</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften">Eigenschaften</h3> +<div id="p-object"></div> <div id="p-predicate"></div> <div id="p-subject"></div> <table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<p>TBD</p> diff --git a/files/de/archive/mozilla/xul/box/index.html b/files/de/archive/mozilla/xul/box/index.html new file mode 100644 index 0000000000..b479153f5c --- /dev/null +++ b/files/de/archive/mozilla/xul/box/index.html @@ -0,0 +1,101 @@ +--- +title: box +slug: Archive/Mozilla/XUL/Box +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/box +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein Containerelement, welches eine beliebige Anzahl an Kindelementen enthalten kann. Falls das <code>box</code> Element ein <code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code> Attribut besitzt, das auf <code>horizontal</code> gesetzt ist, werden die Kindelemente von links nach rechts, in der Reihenfolge, in der sie in im <code>box</code> Element erscheinen, angelegt. Falls <code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code> auf <code>vertical</code> gesetzt ist, werden die Kindelemente von oben nach unten angelegt. Kindelemente überlappen sich dabei nicht. Die standardmäßige Ausrichtung ist <code>horizontal</code>.</p> +<p>Weitere Informationen sind im <a href="/de/XUL_Tutorial/Das_Box-Modell" title="de/XUL Tutorial/Das Box-Modell">XUL Tutorial</a> verfügbar.</p> +<h3 id="Examples" name="Examples">Beispiele</h3> +<div class="float-right"><img alt="Image:XUL_ref_box.png" class="internal" src="/@api/deki/files/446/=XUL_ref_box.png"></div> +<pre><box orient="horizontal"> + <label value="Zero"/> + <box orient="vertical"> + <label value="One"/> + <label value="Two"/> + </box> + <box orient="horizontal"> + <label value="Three"/> + <label value="Four"/> + </box> +</box> +</pre> +<h3 id="Attributes" name="Attributes">Attribute</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Properties" name="Properties">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methods" name="Methods">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Related" name="Related">Verwandte Themen</h3> +<dl> <dt>Elemente</dt> <dd><code><a href="/de/docs/Mozilla/Tech/XUL/vbox" title="vbox">vbox</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/hbox" title="hbox">hbox</a></code></dd> +</dl> diff --git a/files/de/archive/mozilla/xul/colorpicker/index.html b/files/de/archive/mozilla/xul/colorpicker/index.html new file mode 100644 index 0000000000..fa6c6bf533 --- /dev/null +++ b/files/de/archive/mozilla/xul/colorpicker/index.html @@ -0,0 +1,77 @@ +--- +title: colorpicker +slug: Archive/Mozilla/XUL/Colorpicker +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/colorpicker +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Eine Farbpalette aus der ein Anwender durch Anklicken auf eine der Gitterzellen wählen kann.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-disabled">disabled</a>, <a href="#a-color">color</a>, <a href="#a-onchange">onchange</a>, <a href="#a-preference">preference</a>, <a href="#a-tabindex">tabindex</a>, <a href="#a-colorpicker.type">type</a></dd> +</dl> +<dl> <dt>Eigenschaften</dt> <dd><a href="#p-accessibleType">accessibleType</a>, <a href="#p-color">color</a>, <a href="#p-disabled">disabled</a>, <a href="#p-colorpicker.open">open</a>, <a href="#p-tabIndex">tabIndex</a></dd> +</dl> +<h3 id="Beispiele">Beispiele</h3> +<p><img alt="Image:XUL_REF_rgb.gif" class="internal" src="/@api/deki/files/430/=XUL_REF_rgb.gif"></p> +<pre><colorpicker/> +</pre> +<h3 id="Attribute">Attribute</h3> +<p> </p><div id="a-disabled"> + +<dl> <dt><code id="a-disabled"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt> <dd>Typ: <em>boolean</em></dd> <dd>Kennzeichnet, ob ein Element deaktiviert ist oder nicht. Wenn das Element auf <code>true</code> gesetzt ist, ist das Element deaktiviert. Deaktivierte Elemente sind gewöhnlich mit einem grauen Text dargestellt. Wenn ein Element deaktiviert ist, wird es auf Anwenderaktionen nicht reagieren, es kann den Fokus nicht erlangen und das <code>command</code> Ereignis wird nicht ausgelöst. Das Element wird allerdings noch auf Mausereignisse antworten. Um das Element zu aktivieren, ist es besser das Attribut zu entfernen als es auf den Wert <code>false</code> zu setzen. Um den Wert dieses Attributs mittels JavaScript zu setzen oder abzurufen, sollte besser die <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/disabled">disabled</a></span></code> Eigenschaft verwendet werden.</dd> +</dl> + + +</div> <div id="a-color"> + +<dl> <dt><code id="a-color"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/color">color</a></code></dt> <dd>Typ: <em>color string</em></dd> <dd>Die aktuell ausgewählte Farbe. Diese wird geändert, sobald der Anwender eine Farbe auswählt. Man kann einen String in der Form #RRGGBB der Eigenschaft zuweisen, um die gewählte Farbe zu ändern.</dd> +</dl> + +</div> <div id="a-onchange"> + +<dl> <dt><code id="a-onchange"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/onchange">onchange</a></code></dt> <dd>Typ: <em>script code</em></dd> <dd>Der Code im <code>onchange</code> Attribut wird aufgerufen, wenn sich der Wert des Elements geändert hat.</dd> +</dl> + +</div> <div id="a-preference"> + + +<dl> + <dt><code id="a-preference"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/preference">preference</a></code></dt> + <dd>Type: <em>id</em></dd> + <dd>Connects the element to a corresponding <code><a href="/en-US/docs/Mozilla/Tech/XUL/preference" title="preference">preference</a></code>. This attribute only has any effect when used inside a <code><a href="/en-US/docs/Mozilla/Tech/XUL/prefwindow" title="prefwindow">prefwindow</a></code>. More information is available in the <a href="../../../../en/Preferences_System" rel="internal">Preferences System</a> article.</dd> +</dl> +</div> <div id="a-tabindex"> + + +<dl> + <dt><code id="a-tabindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The tab order of the element. The tab order is the order in which the focus is moved when the user presses the "<code>tab</code>" key. Elements with a higher <code>tabindex</code> are later in the tab sequence.</dd> +</dl> +</div> <div id="a-colorpicker.type"> + + +<dl> + <dt><code id="a-colorpicker.type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/colorpicker.type">type</a></code></dt> + <dd>Type: <em>string</em></dd> + <dd>If this attribute is not present, the colorpicker is displayed inside the window. If this is set to the text <code>button</code>, the colorpicker is displayed as a button. When the user clicks the button, a popup appears for the user to select a color.</dd> +</dl> +</div> +<h3 id="Eigenschaften">Eigenschaften</h3> +<p> </p><div id="p-accessibleType"></div> <div id="p-color"></div> <div id="p-disabled"></div> <div id="p-colorpicker.open"></div> <div id="p-tabIndex"></div> +<h3 id="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Schnittstellen</dt> <dd><a href="/de/NsIDOMXULControlElement" title="de/NsIDOMXULControlElement">nsIDOMXULControlElement</a></dd> +</dl> +<h3 id="Bugs">Bugs</h3> +<p>Das <code>onchange</code> Event funktioniert nur, wenn das <code>type</code> Attribut auf "<code>button</code>" festgelegt wurde. Die Verwendung von <code>onclick</code> bietet sich daher an, wenn mit mit dem losen Colorpicker gearbeitet wird und die gerade ausgewählte Farbe benötigt wird, um z.B. in einer <textbox> angezeigt zu werden.</p> diff --git a/files/de/archive/mozilla/xul/eigenschaften/index.html b/files/de/archive/mozilla/xul/eigenschaften/index.html new file mode 100644 index 0000000000..f152ae7489 --- /dev/null +++ b/files/de/archive/mozilla/xul/eigenschaften/index.html @@ -0,0 +1,14 @@ +--- +title: Eigenschaften +slug: Archive/Mozilla/XUL/Eigenschaften +tags: + - XUL Eigenschaften + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Property +--- +<p><span class="breadcrumbs XULRefProp_breadcrumbs">« <a href="/de/docs/XUL_Referenz" title="XUL_Referenz">XUL-Referenz Startseite</a></span></p> +<ul> <li><a href="/de/XUL/Eigenschaft/accessible" title="de/XUL/Eigenschaft/accessible">accessible</a></li> <li><a href="/de/XUL/Eigenschaft/accessibleType" title="de/XUL/Eigenschaft/accessibleType">accessibleType</a></li> <li><a href="/de/XUL/Eigenschaft/accessKey" title="de/XUL/Eigenschaft/accessKey">accessKey</a></li> <li><a href="/de/XUL/Eigenschaft/align" title="de/XUL/Eigenschaft/align">align</a></li> <li><a href="/de/XUL/Eigenschaft/allNotifications" title="de/XUL/Eigenschaft/allNotifications">allNotifications</a></li> <li><a href="/de/XUL/Eigenschaft/allowEvents" title="de/XUL/Eigenschaft/allowEvents">allowEvents</a></li> <li><a href="/de/XUL/Eigenschaft/alwaysOpenPopup" title="de/XUL/Eigenschaft/alwaysOpenPopup">alwaysOpenPopup</a></li> <li><a href="/de/XUL/Eigenschaft/amIndicator" title="de/XUL/Eigenschaft/amIndicator">amIndicator</a></li> <li><a href="/de/XUL/Eigenschaft/appLocale" title="de/XUL/Eigenschaft/appLocale">appLocale</a></li> <li><a href="/de/XUL/Eigenschaft/autoCheck" title="de/XUL/Eigenschaft/autoCheck">autoCheck</a></li> <li><a href="/de/XUL/Eigenschaft/autoFill" title="de/XUL/Eigenschaft/autoFill">autoFill</a></li> <li><a href="/de/XUL/Eigenschaft/autoFillAfterMatch" title="de/XUL/Eigenschaft/autoFillAfterMatch">autoFillAfterMatch</a></li> <li><a href="/de/XUL/Eigenschaft/boxObject" title="de/XUL/Eigenschaft/boxObject">boxObject</a></li> <li><a href="/de/XUL/Eigenschaft/browsers" title="de/XUL/Eigenschaft/browsers">browsers</a></li> <li><a href="/de/XUL/Eigenschaft/builder" title="de/XUL/Eigenschaft/builder">builder</a></li> <li><a href="/de/XUL/Eigenschaft/builderView" title="de/XUL/Eigenschaft/builderView">builderView</a></li> <li><a href="/de/XUL/Eigenschaft/buttons" title="de/XUL/Eigenschaft/buttons">buttons</a></li> <li><a href="/de/XUL/Eigenschaft/canAdvance" title="de/XUL/Eigenschaft/canAdvance">canAdvance</a></li> <li><a href="/de/XUL/Eigenschaft/canGoBack" title="de/XUL/Eigenschaft/canGoBack">canGoBack</a></li> <li><a href="/de/XUL/Eigenschaft/canGoForward" title="de/XUL/Eigenschaft/canGoForward">canGoForward</a></li> <li><a href="/de/XUL/Eigenschaft/canRewind" title="de/XUL/Eigenschaft/canRewind">canRewind</a></li> <li><a href="/de/XUL/Eigenschaft/checked" title="de/XUL/Eigenschaft/checked">checked</a></li> <li><a href="/de/XUL/Eigenschaft/checkState" title="de/XUL/Eigenschaft/checkState">checkState</a></li> <li><a href="/de/XUL/Eigenschaft/child" title="de/XUL/Eigenschaft/child">child</a></li> <li><a href="/de/XUL/Eigenschaft/children" title="de/XUL/Eigenschaft/children">children</a></li> <li><a href="/de/XUL/Eigenschaft/className" title="de/XUL/Eigenschaft/className">className</a></li> <li><a href="/de/XUL/Eigenschaft/clickSelectsAll" title="de/XUL/Eigenschaft/clickSelectsAll">clickSelectsAll</a></li> <li><a class="internal" href="/de/XUL/Eigenschaft/clientHeight" title="de/XUL/Eigenschaft/clientHeight">clientHeight</a> </li> <li><a class="internal" href="/de/XUL/Eigenschaft/clientWidth" title="de/XUL/Eigenschaft/clientWidth">clientWidth</a> </li> <li><a href="/de/XUL/Eigenschaft/collapsed" title="de/XUL/Eigenschaft/collapsed">collapsed</a></li> <li><a href="/de/XUL/Eigenschaft/color" title="de/XUL/Eigenschaft/color">color</a></li> <li><a href="/de/XUL/Eigenschaft/columns" title="de/XUL/Eigenschaft/columns">columns</a></li> <li><a href="/de/XUL/Eigenschaft/command" title="de/XUL/Eigenschaft/command">command</a></li> <li><a href="/de/XUL/Eigenschaft/commandManager" title="de/XUL/Eigenschaft/commandManager">commandManager</a></li> <li><a href="/de/XUL/Eigenschaft/completeDefaultIndex" title="de/XUL/Eigenschaft/completeDefaultIndex">completeDefaultIndex</a></li> <li><a href="/de/XUL/Eigenschaft/container" title="de/XUL/Eigenschaft/container">container</a></li> <li><a href="/de/XUL/Eigenschaft/contentDocument" title="de/XUL/Eigenschaft/contentDocument">contentDocument</a></li> <li><a href="/de/XUL/Eigenschaft/contentPrincipal" title="de/XUL/Eigenschaft/contentPrincipal">contentPrincipal</a></li> <li><a href="/de/XUL/Eigenschaft/contentTitle" title="de/XUL/Eigenschaft/contentTitle">contentTitle</a></li> <li><a href="/de/XUL/Eigenschaft/contentView" title="de/XUL/Eigenschaft/contentView">contentView</a></li> <li><a href="/de/XUL/Eigenschaft/contentViewerEdit" title="de/XUL/Eigenschaft/contentViewerEdit">contentViewerEdit</a></li> <li><a href="/de/XUL/Eigenschaft/contentViewerFile" title="de/XUL/Eigenschaft/contentViewerFile">contentViewerFile</a></li> <li><a href="/de/XUL/Eigenschaft/contentWindow" title="de/XUL/Eigenschaft/contentWindow">contentWindow</a></li> <li><a href="/de/XUL/Eigenschaft/contextMenu" title="de/XUL/Eigenschaft/contextMenu">contextMenu</a></li> <li><a href="/de/XUL/Eigenschaft/control" title="de/XUL/Eigenschaft/control">control</a></li> <li><a href="/de/XUL/Eigenschaft/controller" title="de/XUL/Eigenschaft/controller">controller</a></li> <li><a href="/de/XUL/Eigenschaft/controllers" title="de/XUL/Eigenschaft/controllers">controllers</a></li> <li><a href="/de/XUL/Eigenschaft/crop" title="de/XUL/Eigenschaft/crop">crop</a></li> <li><a href="/de/XUL/Eigenschaft/current" title="de/XUL/Eigenschaft/current">current</a></li> <li><a href="/de/XUL/Eigenschaft/currentIndex" title="de/XUL/Eigenschaft/currentIndex">currentIndex</a></li> <li><a href="/de/XUL/Eigenschaft/currentItem" title="de/XUL/Eigenschaft/currentItem">currentItem</a></li> <li><a href="/de/XUL/Eigenschaft/currentNotification" title="de/XUL/Eigenschaft/currentNotification">currentNotification</a></li> <li><a href="/de/XUL/Eigenschaft/currentPage" title="de/XUL/Eigenschaft/currentPage">currentPage</a></li> <li><a href="/de/XUL/Eigenschaft/currentPane" title="de/XUL/Eigenschaft/currentPane">currentPane</a></li> <li><a href="/de/XUL/Eigenschaft/currentSet" title="de/XUL/Eigenschaft/currentSet">currentSet</a></li> <li><a href="/de/XUL/Eigenschaft/currentURI" title="de/XUL/Eigenschaft/currentURI">currentURI</a></li> <li><a href="/de/XUL/Eigenschaft/customToolbarCount" title="de/XUL/Eigenschaft/customToolbarCount">customToolbarCount</a></li> <li><a href="/de/XUL/Eigenschaft/database" title="de/XUL/Eigenschaft/database">database</a></li> <li><a href="/de/XUL/Eigenschaft/datasources" title="de/XUL/Eigenschaft/datasources">datasources</a></li> <li><a href="/de/XUL/Eigenschaft/date" title="de/XUL/Eigenschaft/date">date</a></li> <li><a href="/de/XUL/Eigenschaft/dateLeadingZero" title="de/XUL/Eigenschaft/dateLeadingZero">dateLeadingZero</a></li> <li><a href="/de/XUL/Eigenschaft/dateValue" title="de/XUL/Eigenschaft/dateValue">dateValue</a></li> <li><a href="/de/XUL/Eigenschaft/decimalPlaces" title="de/XUL/Eigenschaft/decimalPlaces">decimalPlaces</a></li> <li><a href="/de/XUL/Eigenschaft/decimalSymbol" title="de/XUL/Eigenschaft/decimalSymbol">decimalSymbol</a></li> <li><a href="/de/XUL/Eigenschaft/defaultButton" title="de/XUL/Eigenschaft/defaultButton">defaultButton</a></li> <li><a href="/de/XUL/Eigenschaft/defaultValue" title="de/XUL/Eigenschaft/defaultValue">defaultValue</a></li> <li><a href="/de/XUL/Eigenschaft/description" title="de/XUL/Eigenschaft/description">description</a></li> <li><a href="/de/XUL/Eigenschaft/dir" title="de/XUL/Eigenschaft/dir">dir</a></li> <li><a href="/de/XUL/Eigenschaft/disableAutocomplete" title="de/XUL/Eigenschaft/disableAutocomplete">disableAutocomplete</a></li> <li><a href="/de/XUL/Eigenschaft/disableAutocomplete" title="de/XUL/Eigenschaft/disableAutocomplete">disableAutoComplete</a></li> <li><a href="/de/XUL/Eigenschaft/disableautoselect" title="de/XUL/Eigenschaft/disableautoselect">disableautoselect</a></li> <li><a href="/de/XUL/Eigenschaft/disabled" title="de/XUL/Eigenschaft/disabled">disabled</a></li> <li><a href="/de/XUL/Eigenschaft/disableKeyNavigation" title="de/XUL/Eigenschaft/disableKeyNavigation">disableKeyNavigation</a></li> <li><a href="/de/XUL/Eigenschaft/dlgType" title="de/XUL/Eigenschaft/dlgType">dlgType</a></li> <li><a href="/de/XUL/Eigenschaft/docShell" title="de/XUL/Eigenschaft/docShell">docShell</a></li> <li><a href="/de/XUL/Eigenschaft/documentCharsetInfo" title="de/XUL/Eigenschaft/documentCharsetInfo">documentCharsetInfo</a></li> <li><a href="/de/XUL/Eigenschaft/editable" title="de/XUL/Eigenschaft/editable">editable</a></li> <li><a href="/de/XUL/Eigenschaft/editingColumn" title="de/XUL/Eigenschaft/editingColumn">editingColumn</a></li> <li><a href="/de/XUL/Eigenschaft/editingRow" title="de/XUL/Eigenschaft/editingRow">editingRow</a></li> <li><a href="/de/XUL/Eigenschaft/editingSession" title="de/XUL/Eigenschaft/editingSession">editingSession</a></li> <li><a href="/de/XUL/Eigenschaft/editor" title="de/XUL/Eigenschaft/editor">editor</a></li> <li><a href="/de/XUL/Eigenschaft/editortype" title="de/XUL/Eigenschaft/editortype">editortype</a></li> <li><a href="/de/XUL/Eigenschaft/emptyText" title="de/XUL/Eigenschaft/emptyText">emptyText</a> <span class="inlineIndicator deprecated deprecatedInline" title="(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)">Unerwünscht Gecko 2</span></li> <li><a href="/de/XUL/Eigenschaft/enableColumnDrag" title="de/XUL/Eigenschaft/enableColumnDrag">enableColumnDrag</a></li> <li><a href="/de/XUL/Eigenschaft/eventNode" title="de/XUL/Eigenschaft/eventNode">eventNode</a></li> <li><a href="/de/XUL/Eigenschaft/firstOrdinalColumn" title="de/XUL/Eigenschaft/firstOrdinalColumn">firstOrdinalColumn</a></li> <li><a href="/de/XUL/Eigenschaft/firstPermanentChild" title="de/XUL/Eigenschaft/firstPermanentChild">firstPermanentChild</a></li> <li><a href="/de/XUL/Eigenschaft/flex" title="de/XUL/Eigenschaft/flex">flex</a></li> <li><a href="/de/XUL/Eigenschaft/focused" title="de/XUL/Eigenschaft/focused">focused</a></li> <li><a href="/de/XUL/Eigenschaft/focusedItem" title="de/XUL/Eigenschaft/focusedItem">focusedItem</a></li> <li><a href="/de/XUL/Eigenschaft/forceComplete" title="de/XUL/Eigenschaft/forceComplete">forceComplete</a></li> <li><a href="/de/XUL/Eigenschaft/group" title="de/XUL/Eigenschaft/group">group</a></li> <li><a href="/de/XUL/Eigenschaft/handleCtrlPageUpDown" title="de/XUL/Eigenschaft/handleCtrlPageUpDown">handleCtrlPageUpDown</a></li> <li><a href="/de/XUL/Eigenschaft/handleCtrlTab" title="de/XUL/Eigenschaft/handleCtrlTab">handleCtrlTab</a></li> <li><a href="/de/XUL/Eigenschaft/HasUserValue" title="de/XUL/Eigenschaft/hasUserValue">hasUserValue</a></li> <li><a href="/de/XUL/Eigenschaft/height" title="de/XUL/Eigenschaft/height">height</a></li> <li><a href="/de/XUL/Eigenschaft/hidden" title="de/XUL/Eigenschaft/hidden">hidden</a></li> <li><a href="/de/XUL/Eigenschaft/hideSeconds" title="de/XUL/Eigenschaft/hideSeconds">hideSeconds</a></li> <li><a href="/de/XUL/Eigenschaft/HighlightNonMatches" title="de/XUL/Eigenschaft/highlightNonMatches">highlightNonMatches</a> </li> <li><a href="/de/XUL/Eigenschaft/homePage" title="de/XUL/Eigenschaft/homePage">homePage</a></li> <li><a href="/de/XUL/Eigenschaft/hour" title="de/XUL/Eigenschaft/hour">hour</a></li> <li><a href="/de/XUL/Eigenschaft/hourLeadingZero" title="de/XUL/Eigenschaft/hourLeadingZero">hourLeadingZero</a></li> <li><a href="/de/XUL/Eigenschaft/id" title="de/XUL/Eigenschaft/id">id</a></li> <li><a href="/de/XUL/Eigenschaft/ignoreBlurWhileSearching" title="de/XUL/Eigenschaft/ignoreBlurWhileSearching">ignoreBlurWhileSearching</a></li> <li><a href="/de/XUL/Eigenschaft/image" title="de/XUL/Eigenschaft/image">image</a></li> <li><a href="/de/XUL/Eigenschaft/increment" title="de/XUL/Eigenschaft/increment">increment</a></li> <li><a href="/de/XUL/Eigenschaft/inputField" title="de/XUL/Eigenschaft/inputField">inputField</a></li> <li><a href="/de/XUL/Eigenschaft/inverted" title="de/XUL/Eigenschaft/inverted">inverted</a></li> <li><a href="/de/XUL/Eigenschaft/is24HourClock" title="de/XUL/Eigenschaft/is24HourClock">is24HourClock</a></li> <li><a href="/de/XUL/Eigenschaft/isPM" title="de/XUL/Eigenschaft/isPM">isPM</a></li> <li><a href="/de/XUL/Eigenschaft/isSearching" title="de/XUL/Eigenschaft/isSearching">isSearching</a></li> <li><a href="/de/XUL/Eigenschaft/isWaiting" title="de/XUL/Eigenschaft/isWaiting">isWaiting</a></li> <li><a href="/de/XUL/Eigenschaft/itemCount" title="de/XUL/Eigenschaft/itemCount">itemCount</a></li> <li><a href="/de/XUL/Eigenschaft/label" title="de/XUL/Eigenschaft/label">label</a></li> <li><a href="/de/XUL/Eigenschaft/labelElement" title="de/XUL/Eigenschaft/labelElement">labelElement</a></li> <li><a href="/de/XUL/Eigenschaft/lastPermanentChild" title="de/XUL/Eigenschaft/lastPermanentChild">lastPermanentChild</a></li> <li><a href="/de/XUL/Eigenschaft/lastSelected" title="de/XUL/Eigenschaft/lastSelected">lastSelected</a></li> <li><a href="/de/XUL/Eigenschaft/left" title="de/XUL/Eigenschaft/left">left</a></li> <li><a href="/de/XUL/Eigenschaft/linkedPanel" title="de/XUL/Eigenschaft/linkedPanel">linkedPanel</a></li> <li><a href="/de/XUL/Eigenschaft/listBoxObject" title="de/XUL/Eigenschaft/listBoxObject">listBoxObject</a></li> <li><a href="/de/XUL/Eigenschaft/locked" title="de/XUL/Eigenschaft/locked">locked</a></li> <li><a href="/de/XUL/Eigenschaft/markupDocumentViewer" title="de/XUL/Eigenschaft/markupDocumentViewer">markupDocumentViewer</a></li> <li><a href="/de/XUL/Eigenschaft/max" title="de/XUL/Eigenschaft/max">max</a></li> <li><a href="/de/XUL/Eigenschaft/maxHeight" title="de/XUL/Eigenschaft/maxHeight">maxHeight</a></li> <li><a href="/de/XUL/Eigenschaft/maxLength" title="de/XUL/Eigenschaft/maxLength">maxLength</a></li> <li><a href="/de/XUL/Eigenschaft/maxRows" title="de/XUL/Eigenschaft/maxRows">maxRows</a></li> <li><a href="/de/XUL/Eigenschaft/maxWidth" title="de/XUL/Eigenschaft/maxWidth">maxWidth</a></li> <li><a href="/de/XUL/Eigenschaft/menu" title="de/XUL/Eigenschaft/menu">menu</a></li> <li><a href="/de/XUL/Eigenschaft/menuBoxObject" title="de/XUL/Eigenschaft/menuBoxObject">menuBoxObject</a></li> <li><a href="/de/XUL/Eigenschaft/menupopup" title="de/XUL/Eigenschaft/menupopup">menupopup</a></li> <li><a href="/de/XUL/Eigenschaft/min" title="de/XUL/Eigenschaft/min">min</a></li> <li><a href="/de/XUL/Eigenschaft/minHeight" title="de/XUL/Eigenschaft/minHeight">minHeight</a></li> <li><a href="/de/XUL/Eigenschaft/minResultsForPopup" title="de/XUL/Eigenschaft/minResultsForPopup">minResultsForPopup</a></li> <li><a href="/de/XUL/Eigenschaft/minWidth" title="de/XUL/Eigenschaft/minWidth">minWidth</a></li> <li><a href="/de/XUL/Eigenschaft/minute" title="de/XUL/Eigenschaft/minute">minute</a></li> <li><a href="/de/XUL/Eigenschaft/minuteLeadingZero" title="de/XUL/Eigenschaft/minuteLeadingZero">minuteLeadingZero</a></li> <li><a href="/de/XUL/Eigenschaft/mode" title="de/XUL/Eigenschaft/mode">mode</a></li> <li><a href="/de/XUL/Eigenschaft/month" title="de/XUL/Eigenschaft/month">month</a></li> <li><a href="/de/XUL/Eigenschaft/monthLeadingZero" title="de/XUL/Eigenschaft/monthLeadingZero">monthLeadingZero</a></li> <li><a href="/de/XUL/Eigenschaft/name" title="de/XUL/Eigenschaft/name">name</a></li> <li><a href="/de/XUL/Eigenschaft/next" title="de/XUL/Eigenschaft/next">next</a></li> <li><a href="/de/XUL/Eigenschaft/noMatch" title="de/XUL/Eigenschaft/noMatch">noMatch</a></li> <li><a href="/de/XUL/Eigenschaft/notificationsHidden" title="de/XUL/Eigenschaft/notificationsHidden">notificationsHidden</a></li> <li><a href="/de/XUL/Eigenschaft/object" title="de/XUL/Eigenschaft/object">object</a></li> <li><a href="/de/XUL/Eigenschaft/observes" title="de/XUL/Eigenschaft/observes">observes</a></li> <li><a href="/de/XUL/Eigenschaft/onFirstPage" title="de/XUL/Eigenschaft/onFirstPage">onFirstPage</a></li> <li><a href="/de/XUL/Eigenschaft/onLastPage" title="de/XUL/Eigenschaft/onLastPage">onLastPage</a></li> <li><a href="/de/XUL/Eigenschaft/open" title="de/XUL/Eigenschaft/open">open</a></li> <li><a href="/de/XUL/Eigenschaft/ordinal" title="de/XUL/Eigenschaft/ordinal">ordinal</a></li> <li><a href="/de/XUL/Eigenschaft/orient" title="de/XUL/Eigenschaft/orient">orient</a></li> <li><a href="/de/XUL/Eigenschaft/pack" title="de/XUL/Eigenschaft/pack">pack</a></li> <li><a href="/de/XUL/Eigenschaft/pageCount" title="de/XUL/Eigenschaft/pageCount">pageCount</a></li> <li><a href="/de/XUL/Eigenschaft/pageid" title="de/XUL/Eigenschaft/pageid">pageid</a></li> <li><a href="/de/XUL/Eigenschaft/pageIncrement" title="de/XUL/Eigenschaft/pageIncrement">pageIncrement</a></li> <li><a href="/de/XUL/Eigenschaft/pageIndex" title="de/XUL/Eigenschaft/pageIndex">pageIndex</a></li> <li><a href="/de/XUL/Eigenschaft/pageStep" title="de/XUL/Eigenschaft/pageStep">pageStep</a></li> <li><a href="/de/XUL/Eigenschaft/parentContainer" title="de/XUL/Eigenschaft/parentContainer">parentContainer</a></li> <li><a href="/de/XUL/Eigenschaft/palette" title="de/XUL/Eigenschaft/palette">palette</a></li> <li><a href="/de/XUL/Eigenschaft/persist" title="de/XUL/Eigenschaft/persist">persist</a></li> <li><a href="/de/XUL/Eigenschaft/persistence" title="de/XUL/Eigenschaft/persistence">persistence</a></li> <li><a href="/de/XUL/Eigenschaft/placeholder" title="de/XUL/Eigenschaft/placeholder">placeholder</a> </li> <li><a href="/de/XUL/Eigenschaft/pmIndicator" title="de/XUL/Eigenschaft/pmIndicator">pmIndicator</a></li> <li><a href="/de/XUL/Eigenschaft/popup" title="de/XUL/Eigenschaft/popup">popup</a></li> <li><a href="/de/XUL/Eigenschaft/popupBoxObject" title="de/XUL/Eigenschaft/popupBoxObject">popupBoxObject</a></li> <li><a href="/de/XUL/Eigenschaft/popupOpen" title="de/XUL/Eigenschaft/popupOpen">popupOpen</a></li> <li><a href="/de/XUL/Eigenschaft/position" title="de/XUL/Eigenschaft/position">position</a></li> <li><a href="/de/XUL/Eigenschaft/predicate" title="de/XUL/Eigenschaft/predicate">predicate</a></li> <li><a href="/de/XUL/Eigenschaft/preferenceElements" title="de/XUL/Eigenschaft/preferenceElements">preferenceElements</a></li> <li><a href="/de/XUL/Eigenschaft/preferencePanes" title="de/XUL/Eigenschaft/preferencePanes">preferencePanes</a></li> <li><a href="/de/XUL/Eigenschaft/preferences" title="de/XUL/Eigenschaft/preferences">preferences</a></li> <li><a href="/de/XUL/Eigenschaft/priority" title="de/XUL/Eigenschaft/priority">priority</a></li> <li><a href="/de/XUL/Eigenschaft/radioGroup" title="de/XUL/Eigenschaft/radioGroup">radioGroup</a></li> <li><a href="/de/XUL/Eigenschaft/readOnly" title="de/XUL/Eigenschaft/readOnly">readonly</a></li> <li><a href="/de/XUL/Eigenschaft/readOnly" title="de/XUL/Eigenschaft/readOnly">readOnly</a></li> <li><a href="/de/XUL/Eigenschaft/ref" title="de/XUL/Eigenschaft/ref">ref</a></li> <li><a href="/de/XUL/Eigenschaft/resource" title="de/XUL/Eigenschaft/resource">resource</a></li> <li><a href="/de/XUL/Eigenschaft/resultsPopup" title="de/XUL/Eigenschaft/resultsPopup">resultsPopup</a></li> <li><a href="/de/XUL/Eigenschaft/scrollBoxObject" title="de/XUL/Eigenschaft/scrollBoxObject">scrollBoxObject</a></li> <li><a href="/de/XUL/Eigenschaft/scrollIncrement" title="de/XUL/Eigenschaft/scrollIncrement">scrollIncrement</a></li> <li><a class="internal" href="/de/XUL/Eigenschaft/scrollHeight" title="de/XUL/Eigenschaft/scrollHeight">scrollHeight</a> </li> <li><a class="internal" href="/de/XUL/Eigenschaft/scrollWidth" title="de/XUL/Eigenschaft/scrollWidth">scrollWidth</a> </li> <li><a href="/de/XUL/Eigenschaft/SearchButton" title="de/XUL/Eigenschaft/searchButton">searchButton</a></li> <li><a href="/de/XUL/Eigenschaft/searchCount" title="de/XUL/Eigenschaft/searchCount">searchCount</a></li> <li><a href="/de/XUL/Eigenschaft/searchLabel" title="de/XUL/Eigenschaft/searchLabel">searchLabel</a></li> <li><a href="/de/XUL/Eigenschaft/searchParam" title="de/XUL/Eigenschaft/searchParam">searchParam</a></li> <li><a href="/de/XUL/Eigenschaft/searchSessions" title="de/XUL/Eigenschaft/searchSessions">searchSessions</a></li> <li><a href="/de/XUL/Eigenschaft/second" title="de/XUL/Eigenschaft/second">second</a></li> <li><a href="/de/XUL/Eigenschaft/secondLeadingZero" title="de/XUL/Eigenschaft/secondLeadingZero">secondLeadingZero</a></li> <li><a href="/de/XUL/Eigenschaft/securityUI" title="de/XUL/Eigenschaft/securityUI">securityUI</a></li> <li><a href="/de/XUL/Eigenschaft/selected" title="de/XUL/Eigenschaft/selected">selected</a></li> <li><a href="/de/XUL/Eigenschaft/selectedBrowser" title="de/XUL/Eigenschaft/selectedBrowser">selectedBrowser</a></li> <li><a href="/de/XUL/Eigenschaft/selectedCount" title="de/XUL/Eigenschaft/selectedCount">selectedCount</a></li> <li><a href="/de/XUL/Eigenschaft/selectedIndex" title="de/XUL/Eigenschaft/selectedIndex">selectedIndex</a></li> <li><a href="/de/XUL/Eigenschaft/selectedItem" title="de/XUL/Eigenschaft/selectedItem">selectedItem</a></li> <li><a href="/de/XUL/Eigenschaft/selectedItems" title="de/XUL/Eigenschaft/selectedItems">selectedItems</a></li> <li><a href="/de/XUL/Eigenschaft/selectedPanel" title="de/XUL/Eigenschaft/selectedPanel">selectedPanel</a></li> <li><a href="/de/XUL/Eigenschaft/selectedTab" title="de/XUL/Eigenschaft/selectedTab">selectedTab</a></li> <li><a href="/de/XUL/Eigenschaft/selectionEnd" title="de/XUL/Eigenschaft/selectionEnd">selectionEnd</a></li> <li><a href="/de/XUL/Eigenschaft/selectionStart" title="de/XUL/Eigenschaft/selectionStart">selectionStart</a></li> <li><a href="/de/XUL/Eigenschaft/selstyle" title="de/XUL/Eigenschaft/selstyle">selstyle</a></li> <li><a href="/de/XUL/Eigenschaft/selType" title="de/XUL/Eigenschaft/selType">selType</a></li> <li><a href="/de/XUL/Eigenschaft/sessionCount" title="de/XUL/Eigenschaft/sessionCount">sessionCount</a></li> <li><a href="/de/XUL/Eigenschaft/sessionHistory" title="de/XUL/Eigenschaft/sessionHistory">sessionHistory</a></li> <li><a href="/de/XUL/Eigenschaft/showCommentColumn" title="de/XUL/Eigenschaft/showCommentColumn">showCommentColumn</a></li> <li><a href="/de/XUL/Eigenschaft/showPopup" title="de/XUL/Eigenschaft/showPopup">showPopup</a></li> <li><a href="/de/XUL/Eigenschaft/size" title="de/XUL/Eigenschaft/size">size</a></li> <li><a href="/de/XUL/Eigenschaft/smoothScroll" title="de/XUL/Eigenschaft/smoothScroll">smoothScroll</a></li> <li><a href="/de/XUL/Eigenschaft/spinButtons" title="de/XUL/Eigenschaft/spinButtons">spinButtons</a></li> <li><a href="/de/XUL/Eigenschaft/src" title="de/XUL/Eigenschaft/src">src</a></li> <li><a href="/de/XUL/Eigenschaft/state" title="de/XUL/Eigenschaft/state">state</a></li> <li><a href="/de/XUL/Eigenschaft/statusbar" title="de/XUL/Eigenschaft/statusbar">statusbar</a></li> <li><a href="/de/XUL/Eigenschaft/statusText" title="de/XUL/Eigenschaft/statusText">statusText</a></li> <li><a href="/de/XUL/Eigenschaft/stringBundle" title="de/XUL/Eigenschaft/stringBundle">stringBundle</a></li> <li><a href="/de/XUL/Eigenschaft/strings" title="de/XUL/Eigenschaft/strings">strings</a></li> <li><a href="/de/XUL/Eigenschaft/style" title="de/XUL/Eigenschaft/style">style</a></li> <li><a href="/de/XUL/Eigenschaft/subject" title="de/XUL/Eigenschaft/subject">subject</a></li> <li><a href="/de/XUL/Eigenschaft/suppressOnSelect" title="de/XUL/Eigenschaft/suppressOnSelect">suppressOnSelect</a></li> <li><a href="/de/XUL/Eigenschaft/tabContainer" title="de/XUL/Eigenschaft/tabContainer">tabContainer</a></li> <li><a href="/de/XUL/Eigenschaft/tabIndex" title="de/XUL/Eigenschaft/tabIndex">tabIndex</a></li> <li><a href="/de/XUL/Eigenschaft/tabs" title="de/XUL/Eigenschaft/tabs">tabs</a></li> <li><a href="/de/XUL/Eigenschaft/tabScrolling" title="de/XUL/Eigenschaft/tabScrolling">tabScrolling</a></li> <li><a href="/de/XUL/Eigenschaft/tabpanels" title="de/XUL/Eigenschaft/tabpanels">tabpanels</a></li> <li><a href="/de/XUL/Eigenschaft/tag" title="de/XUL/Eigenschaft/tag">tag</a></li> <li><a href="/de/XUL/Eigenschaft/textLength" title="de/XUL/Eigenschaft/textLength">textLength</a></li> <li><a href="/de/XUL/Eigenschaft/textValue" title="de/XUL/Eigenschaft/textValue">textValue</a></li> <li><a href="/de/XUL/Eigenschaft/timeout" title="de/XUL/Eigenschaft/timeout">timeout</a></li> <li><a href="/de/XUL/Eigenschaft/title" title="de/XUL/Eigenschaft/title">title</a></li> <li><a href="/de/XUL/Eigenschaft/toolbarName" title="de/XUL/Eigenschaft/toolbarName">toolbarName</a></li> <li><a href="/de/XUL/Eigenschaft/toolbarset" title="de/XUL/Eigenschaft/toolbarset">toolbarset</a></li> <li><a href="/de/XUL/Eigenschaft/tooltip" title="de/XUL/Eigenschaft/tooltip">tooltip</a></li> <li><a href="/de/XUL/Eigenschaft/tooltipText" title="de/XUL/Eigenschaft/tooltipText">tooltipText</a></li> <li><a href="/de/XUL/Eigenschaft/top" title="de/XUL/Eigenschaft/top">top</a></li> <li><a href="/de/XUL/Eigenschaft/treeBoxObject" title="de/XUL/Eigenschaft/treeBoxObject">treeBoxObject</a></li> <li><a href="/de/XUL/Eigenschaft/type" title="de/XUL/Eigenschaft/type">type</a></li> <li><a href="/de/XUL/Eigenschaft/uri" title="de/XUL/Eigenschaft/uri">uri</a></li> <li><a href="/de/XUL/Eigenschaft/userAction" title="de/XUL/Eigenschaft/userAction">userAction</a></li> <li><a href="/de/XUL/Eigenschaft/value" title="de/XUL/Eigenschaft/value">value</a></li> <li><a href="/de/XUL/Eigenschaft/valueNumber" title="de/XUL/Eigenschaft/valueNumber">valueNumber</a></li> <li><a href="/de/XUL/Eigenschaft/view" title="de/XUL/Eigenschaft/view">view</a></li> <li><a href="/de/XUL/Eigenschaft/webBrowserFind" title="de/XUL/Eigenschaft/webBrowserFind">webBrowsereFind</a></li> <li><a href="/de/XUL/Eigenschaft/webNavigation" title="de/XUL/Eigenschaft/webNavigation">webNavigation</a></li> <li><a href="/de/XUL/Eigenschaft/webProgress" title="de/XUL/Eigenschaft/webProgress">webProgress</a></li> <li><a href="/de/XUL/Eigenschaft/width" title="de/XUL/Eigenschaft/width">width</a></li> <li><a href="/de/XUL/Eigenschaft/wizardPages" title="de/XUL/Eigenschaft/wizardPages">wizardPages</a></li> <li><a href="/de/XUL/Eigenschaft/wrapAround" title="de/XUL/Eigenschaft/wrapAround">wrapAround</a></li> <li><a href="/de/XUL/Eigenschaft/year" title="de/XUL/Eigenschaft/year">year</a></li> <li><a href="/de/XUL/Eigenschaft/yearLeadingZero" title="de/XUL/Eigenschaft/yearLeadingZero">yearLeadingZero</a></li> +</ul> +<h3 id="Verwandte_DOM_Elementeigenschaften">Verwandte DOM Elementeigenschaften</h3> +<ul> <li><a href="/de/DOM/Node.attributes" title="de/DOM/element.attributes">DOM:element.attributes</a></li> <li><a href="/de/DOM/Node.baseURI" title="de/DOM/element.baseURI">DOM:element.baseURI</a></li> <li><a href="/de/DOM/Element.childElementCount" title="de/DOM/element.childElementCount">DOM:element.childElementCount</a></li> <li><a href="/de/DOM/Node.childNodes" title="de/DOM/element.childNodes">DOM:element.childNodes</a></li> <li><a href="/de/DOM/Element.children" title="de/DOM/element.children">DOM:element.children</a></li> <li><a href="/de/DOM/element.clientHeight" title="de/DOM/element.clientHeight">DOM:element.clientHeight</a></li> <li><a href="/de/DOM/element.clientLeft" title="de/DOM/element.clientLeft">DOM:element.clientLeft</a></li> <li><a href="/de/DOM/element.clientTop" title="de/DOM/element.clientTop">DOM:element.clientTop</a></li> <li><a href="/de/DOM/element.clientWidth" title="de/DOM/element.clientWidth">DOM:element.clientWidth</a></li> <li><a href="/de/DOM/Node.cloneNode" title="de/DOM/element.cloneNode">DOM:element.cloneNode</a></li> <li><a href="/de/DOM/Node.firstChild" title="de/DOM/element.firstChild">DOM:element.firstChild</a></li> <li><a href="/de/DOM/Element.firstElementChild" title="de/DOM/element.firstElementChild">DOM:element.firstElementChild</a></li> <li><a href="/de/DOM/Node.lastChild" title="de/DOM/element.lastChild">DOM:element.lastChild</a></li> <li><a href="/de/DOM/Element.lastElementChild" title="de/DOM/element.lastElementChild">DOM:element.lastElementChild</a></li> <li><a href="/de/DOM/Node.localName" title="de/DOM/element.localName">DOM:element.localName</a></li> <li><a href="/de/DOM/Node.namespaceURI" title="de/DOM/element.namespaceURI">DOM:element.namespaceURI</a></li> <li><a href="/de/DOM/Element.nextElementSibling" title="de/DOM/element.nextElementSibling">DOM:element.nextElementSibling</a></li> <li><a href="/de/DOM/Node.nextSibling" title="de/DOM/element.nextSibling">DOM:element.nextSibling</a></li> <li><a href="/de/DOM/Node.nodeName" title="de/DOM/element.nodeName">DOM:element.nodeName</a></li> <li><a href="/de/DOM/Node.nodeType" title="de/DOM/element.nodeType">DOM:element.nodeType</a></li> <li><a href="/de/DOM/Node.nodeValue" title="de/DOM/element.nodeValue">DOM:element.nodeValue</a></li> <li><a href="/de/DOM/Node.ownerDocument" title="de/DOM/element.ownerDocument">DOM:element.ownerDocument</a></li> <li><a href="/de/DOM/Node.parentNode" title="de/DOM/element.parentNode">DOM:element.parentNode</a></li> <li><a href="/de/DOM/Node.prefix" title="de/DOM/element.prefix">DOM:element.prefix</a></li> <li><a href="/de/DOM/Element.previousElementSibling" title="de/DOM/element.previousElementSibling">DOM:element.previousElementSibling</a></li> <li><a href="/de/DOM/Node.previousSibling" title="de/DOM/element.previousSibling">DOM:element.previousSibling</a></li> <li><a href="/de/DOM/element.scrollHeight" title="de/DOM/element.scrollHeight">DOM:element.scrollHeight</a></li> <li><a href="/de/DOM/element.scrollLeft" title="de/DOM/element.scrollLeft">DOM:element.scrollLeft</a></li> <li><a href="/de/DOM/element.scrollTop" title="de/DOM/element.scrollTop">DOM:element.scrollTop</a></li> <li><a href="/de/DOM/element.scrollWidth" title="de/DOM/element.scrollWidth">DOM:element.scrollWidth</a></li> <li><a href="/de/DOM/element.tagName" title="de/DOM/element.tagName">DOM:element.tagName</a></li> <li><a href="/de/DOM/Node.textContent" title="de/DOM/element.textContent">DOM:element.textContent</a></li> +</ul> diff --git a/files/de/archive/mozilla/xul/events/index.html b/files/de/archive/mozilla/xul/events/index.html new file mode 100644 index 0000000000..346a893f9a --- /dev/null +++ b/files/de/archive/mozilla/xul/events/index.html @@ -0,0 +1,464 @@ +--- +title: Ereignisse +slug: Archive/Mozilla/XUL/Events +tags: + - XUL-Ereignisse +translation_of: Archive/Mozilla/XUL/Events +--- +<p> </p> + +<p><a href="https://developer.mozilla.org/de/docs/XUL_Referenz" title="« Startseite XUL Referenz">« Startseite XUL Referenz</a></p> + +<p> </p> + +<p>Die folgenden Tabellen beschreiben die Ereignisbehandlungsroutinen, welche die meisten XUL-Elemente betreffen. Die Ereignisse können mit dem Element über »Lauscher« (Listener) verknüpft werden. Der <a href="/de/DOM/element.addEventListener" title="de/DOM/element.addEventListener">addEventListener</a> fügt ein Ereignis hinzu, der <a href="/de/DOM/element.removeEventListener" title="de/DOM/element.removeEventListener"> removeEventListener</a> hebt diese Verknüpfung wieder auf.</p> + +<p>Für einige Ereignisse kann die Verknüpfung auch über Attribute erfolgen. Hierbei muss jedoch berücksichtigt werden, dass nur ein Listener gleichzeitig verknüpft werden kann. Eventuell bereits bestehende Verknüpfungen mit Lauschern werden aufgelöst. Der Name des Attributs entspricht dem Namen des Ereignisses mit einem vorangestellten 'on'.</p> + +<h3 id="Geerbte_DOM-Ereignisse" name="Geerbte_DOM-Ereignisse">Geerbte DOM Ereignisse</h3> + +<table class="fullwidth-table"> + <tbody> + <tr> + <th>Ereignis</th> + <th>Beschreibung</th> + </tr> + <tr> + <td> + <p>blur</p> + </td> + <td> + <p>Das Gegenteil des focus-Ereignisses; das blur-Ereignis tritt auf, nachdem ein Element den Eingabefokus verloren hat.<br> + <strong>Attribut:</strong> onblur</p> + </td> + </tr> + <tr> + <td> + <p>change</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn der Wert eines Textfelds geändert wird, aber erst wenn der Eingabefokus auf ein anderes Element übergeht.<br> + <strong>Attribut:</strong> onchange</p> + </td> + </tr> + <tr> + <td> + <p>click</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn eine Maustaste gedrückt und wieder losgelassen wurde. Über die <code>button</code> Eigenschaft des Ereignisobjekts kann ermittelt werden, welche Maustaste gedrückt wurde. Dieses Ereignis wird auch gesendet, wenn der Benutzer einen Doppelklick ausführt. Über die <code>detail</code> Eigenschaft kann festgelegt werden, wie viele Klicks auftreten sollen. So kann auch auf dreifach-Klicks getestet werden. Dieses Ereignis sollte in XUL nicht verwendet werden, um auf Benutzeraktionen zu reagieren. Stattdessen sollte das <code>command</code> Ereignis benutzt werden.<br> + <strong>Attribut:</strong> onclick</p> + </td> + </tr> + <tr> + <td> + <p>dblclick</p> + </td> + <td> + <p>Dieses Ereignis verhält sich wie das <code>click</code> Ereignis, allerdings wird es nur gesendet, wenn der Benutzer einen Doppelklick ausführt. Das Ereignis kann als eine Alternative zur <code>detail</code> Eigenschaft im <code>click</code> Ereignis verwendet werden.<br> + <strong>Attribut:</strong> ondblclick</p> + </td> + </tr> + <tr> + <td> + <p>DOMMouseScroll</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn das Mausrad bewegt wird, egal, ob der Inhalt gescrollt wird oder nicht.<br> + Ziel dieses Ereignisses ist das Element, welches sich unter dem Mauszeiger befindet, wenn das Mausrad bewegt wird.</p> + </td> + </tr> + <tr> + <td> + <p>focus</p> + </td> + <td> + <p>Das<code> focus</code> Ereignis wird gesendet, wenn ein Element den Fokus erhält. Wenn das Element fokussiert ist, werden Tastaturereignisse zu diesem Element gesendet. Der Fokus kann geändert werden, indem auf eine anderes Element geklickt wird, die TAB Taste gedrückt wird, um zum nächsten Element zu wechseln, oder die »Zurück TAB« Taste gedrückt wird, um zum vorherigen Element zu wechseln.<br> + <strong>Attribut:</strong> onfocus</p> + </td> + </tr> + <tr> + <td> + <p>keydown</p> + </td> + <td> + <p>Dieses Ereignis wird zu einem Element gesendet, das den Eingabefokus hat, während eine Taste gedrückt, aber nicht losgelassen wird.<br> + <strong>Attribut:</strong> onkeydown</p> + </td> + </tr> + <tr> + <td> + <p>keypress</p> + </td> + <td> + <p>Das <code>keypress</code> Ereignis wird zu einem Element gesendet, das den Eingabefokus hat und eine Taste gedrückt und losgelassen wurde. Wenn der Benutzer eine Taste drückt, wird zuerst das <code>keydown</code> Ereignis gesendet, gefolgt vom <code>keypress</code> Ereignis und schließlich dem <code>keyup</code> Ereignis. In einem Textfeld kann der Benutzer normalerweise eine Taste gedrückt halten, um ein Zeichen wiederholt zu senden. In diesem Fall werden mehrere Ereignispaare gesendet, als ob der Benutzer die gleiche Taste sehr schnell hintereinander drücken würde.<br> + <strong>Attribut:</strong> onkeypress</p> + </td> + </tr> + <tr> + <td> + <p>keyup</p> + </td> + <td> + <p>Das <code>keyup</code> Ereignis wird einem Element gesendet, das den Eingabefokus hat, wenn eine Taste losgelassen wird.<br> + <strong>Attribut:</strong> onkeyup</p> + </td> + </tr> + <tr> + <td> + <p>load</p> + </td> + <td> + <p>Dieses Element wird zum Fenster gesendet, nachdem es vollständig geladen wurde. Die Behandlungsroutine sollte dem <code>window</code> Element zugewiesen werden. Dieses Ereignis kann auch bei Bildelementen oder einem Element, das Bildattribute akzeptiert verwendet werden und wird dann gesendet, wenn das Bild vollständig geladen wurde. Bei Bildern wird dieses Element nicht im Elementenbaum auftauchen, sodass es nicht mit dem <code>load</code> Ereignis des Fensters in Konflikt gerät.<br> + <strong>Attribut:</strong> onload</p> + </td> + </tr> + <tr> + <td> + <p>mousedown</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn die Maustaste über einem Element gedrückt, aber nicht losgelassen wird.<br> + <strong>Attribut:</strong> onmousedown</p> + </td> + </tr> + <tr> + <td> + <p>mousemove</p> + </td> + <td> + <p>Dieses Ereignis wird wiederholt gesendet, während der Mauszeiger über einem Element bewegt wird.<br> + <strong>Attribut:</strong> onmousemove</p> + </td> + </tr> + <tr> + <td> + <p>mouseout</p> + </td> + <td> + <p>Dieses Ereignis wird einem Element gesendet, wenn der Benutzer den Mauszeiger aus dem Bereich des Elements bewegt. Es ist das Gegenstück zum <code>mouseover</code> Ereignis.<br> + <strong>Attribut:</strong> onmouseout</p> + </td> + </tr> + <tr> + <td> + <p>mouseover</p> + </td> + <td> + <p>Dieses Element wird einem Element gesendet, wenn sich die Maus erstmals über einem Element befindet. Es kann dazu verwendet werden dem Benutzer Rückmeldungen bereitzustellen.<br> + <strong>Attribut:</strong> onmouseover</p> + </td> + </tr> + <tr> + <td> + <p>mouseup</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn die Maustaste über einem Element losgelassen wird.<br> + <strong>Attribut:</strong> onmouseup</p> + </td> + </tr> + <tr> + <td> + <p>select</p> + </td> + <td> + <p>Dieses Ereignis wird einer Listbox bzw. einem Tree bei Auswahl eines Eintrags gesendet.<br> + <strong>Attribut:</strong> onselect</p> + </td> + </tr> + <tr> + <td> + <p>unload</p> + </td> + <td> + <p>Dieses Ereignis wird einem Fenster gesendet, wenn das Fenster geschlossen wurde. Das erfolgt nach dem <code>close</code> Ereignis. Die Behandlungsroutine für dieses Ereignis sollte dem <code>window</code> Element zugewiesen werden.<br> + <strong>Attribut:</strong> onunload</p> + </td> + </tr> + </tbody> +</table> + +<h3 id="Ver.C3.A4nderungs-DOM-Ereignisse" name="Ver.C3.A4nderungs-DOM-Ereignisse">Ereignisse zu Veränderungen am DOM</h3> + +<table class="fullwidth-table"> + <tbody> + <tr> + <th>Ereignis</th> + <th>Beschreibung</th> + </tr> + <tr> + <td> + <p>DOMAttrModified</p> + </td> + <td> + <p>Dieses Ereignis wird einem Element gesendet, wenn eines der Attribute verändert wird. In der Behandlungsroutine kann das Attribut, welches verändert wurde, über die <code>attrName</code> Eigenschaft ermittelt werden. Neue und alte Werte des Attributs können über die <code>prevValue</code> und <code>newValue</code> Eigenschaften abgerufen werden.</p> + </td> + </tr> + <tr> + <td> + <p>DOMNodeInserted</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn ein Kontenelement (als ein Kindelement) einem Element hinzugefügt wird. Wenn dieses Element auf dem Dokumentenlevel erfasst wird, können Hinweise zu Dokumentenveränderung auftreten.</p> + </td> + </tr> + <tr> + <td> + <p>DOMNodeRemoved</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn ein Kontenelement aus einem Element entfernt wird. Wenn dieses Element auf dem Dokumentenlevel erfasst wird, können Hinweise zu Dokumentenveränderung auftreten.</p> + </td> + </tr> + </tbody> +</table> + +<p>Es sollte darauf hingewiesen werden, dass die Anwesenheit von Behandlungsroutinen zur Veränderungen am DOM die Performance von nachfolgenden DOM Operationen in dem Dokument stark beeinträchtigt. Das kann bedeuten, dass eine DOM Operation 1,5 bis 7 mal so lange braucht als es ohne einen Eventhandler brauchen würde.</p> + +<h3 id="Gebr.C3.A4uchliche_XUL-Ereignisse" name="Gebr.C3.A4uchliche_XUL-Ereignisse">Gebräuchliche XUL Ereignisse</h3> + +<table class="fullwidth-table"> + <tbody> + <tr> + <th>Ereignis</th> + <th>Beschreibung</th> + </tr> + <tr> + <td> + <p>broadcast</p> + </td> + <td> + <p>Dieses Ereignis sollte einem Beobachter zugewiesen werden. Das <code>broadcast</code> Ereignis wird gesendet, wenn die Attribute eines Elements verändert oder beobachtet werden.<br> + <strong>Attribut:</strong> onbroadcast</p> + </td> + </tr> + <tr> + <td> + <p>close</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn eine Anfrage durch den Benutzer getätigt wurde, die das Fenster schließen lassen soll (z.B durch Klick auf den Schließen Button). Wird eine Behandlungsroutine auf das <code>window</code> Element gesetzt, kann das Schließen des Fensters verhindert werden. Wird <code>false</code> vom Close-handler zurückgeliefert, wird das Fenster nicht geschlossen. Eine Rückgabe von <code>true</code> schließt das Fenster normal. Dieses Ereignis wird nur gesendet, wenn der Benutzer den Schließen Button in der Titelleiste anklickt. Das <code>unload</code> Ereignis erfasst alle Versuche das Fenster zu schließen.<br> + <strong>Attribut:</strong> onclose</p> + </td> + </tr> + <tr> + <td> + <p>command</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn ein Element aktiv ist. Wie es aktiviert wird, variiert von Element zu Element und in vielen Fällen gibt es mehrere Wege, um eine Element zu aktivieren. Zum Beispiel kann eine Schaltfläche, wenn sie fokussiert ist, durch ein Klick mit der Maus oder durch das Drücken der ENTER Taste aktivert werden. Menüs können durch das Auswählen mit der Maus oder durch das Drücken einer Schnelltaste aktiviert werden. Es sollte immer das<code> command </code>Ereignis, anstatt des <code>click</code> Ereignisses verwendet werden, weil in allen nötigen Fällen aufgerufen wird.<br> + <strong>Attribut:</strong> oncommand</p> + </td> + </tr> + <tr> + <td> + <p>commandupdate</p> + </td> + <td> + <p>Dieses Ereignis tritt auf, wenn eine Befehlsaktualisierung beim <code><commandset></code> Element statt findet. Es wird verwendet, um die ausgeschalteten Befehle zu aktualisieren.<br> + <strong>Attribut:</strong> oncommandupdate</p> + </td> + </tr> + <tr> + <td> + <p>contextmenu</p> + </td> + <td> + <p>Dieses Ereignis wird einem Element gesendet, wenn der Benutzer eine Anfrage stellt, die ein Kontextmenü öffnen soll. Die Aktion variiert von Betriebssystem zu Betriebssystem, wird aber typischerweise durch einen Rechtsklick ausgelöst. Diese Behandlungsroutine wird normalerweise verwendet, um dynamische Befehle auszuführen, wenn der Benutzer die Anfrage stellt, das Menü anzuzeigen oder es wird ein Ereignis benutzt, welches ein Popup-Fenster anzeigt. Wird<code> false</code> von diesem Eventhandler zurückgegeben, wird verhindert, dass das Popup-Fenster angezeigt wird.<br> + <strong>Attribut:</strong> oncontextmenu</p> + </td> + </tr> + <tr> + <td> + <p>drag {{ Fx_minversion_inline(3) }}</p> + </td> + <td> + <p>Das <code>drag</code> Ereignis wird zum Quellknoten (der Knoten, der gezogen wurde) mehrmals pro Sekunde gesendet, während ein Objekt gezogen wird.<br> + <strong>Attribut:</strong> ondrag</p> + </td> + </tr> + <tr> + <td> + <p>dragdrop</p> + </td> + <td> + <p>Dieses Ereignis wird ausgelöst, wenn der Benutzer die Maustaste los lässt, um ein Objekt abzulegen, welches gezogen wurde. Das Element, wenn es das Ablegen akzeptiert, sollte in irgendeiner Weise reagieren (z.B. durch das Hineinlegen des gezogenen Objekten in das Element selbst).<br> + <strong>Attribut:</strong> ondragdrop</p> + </td> + </tr> + <tr> + <td> + <p>dragend {{ Fx_minversion_inline(3) }}</p> + </td> + <td> + <p>Das <code><code>dragend</code></code> Ereignis wird zum Quellknoten (der Konten, der gezogen wurde) gesendet, wenn das Objekt nicht mehr gezogen wird.<br> + <strong>Attribut:</strong> ondragend</p> + </td> + </tr> + <tr> + <td> + <p>dragenter</p> + </td> + <td> + <p>Das <code>dragenter</code> Ereignis wird gesendet, wenn sich der Mauszeiger erstmals über ein Element befindet in welches ein Objekt gezogen werden soll. Es ist ähnlich zum <code>mouseover</code> Ereignis, tritt aber nur beim Hineinlegen von Objekten auf.<br> + <strong>Attribut:</strong> ondragenter</p> + </td> + </tr> + <tr> + <td> + <p>dragexit</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn sich der Mauszeiger aus dem Element entfernt, in welches ein Objekten gezogen werden soll. Es wird auch aufgerufen, wenn ein Objekt in ein Element gezogen wurde. Es ist ähnlich zum <code>mouseout</code> Ereignis, tritt aber nur beim Hineinlegen von Objekten auf.<br> + <strong>Attribut:</strong> ondragexit</p> + </td> + </tr> + <tr> + <td> + <p>draggesture</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn der Benutzer beginnt ein Element zu ziehen, normalerweise in dem die Maustaste gedrückt und bewegt wird.<br> + <strong>Attribut:</strong> ondraggesture</p> + </td> + </tr> + <tr> + <td> + <p>dragover</p> + </td> + <td> + <p>Ähnlich zum <code>mousemove</code> Ereignis wird dieses Ereignis gesendet, während etwas über ein Element gezogen wird. Die Behandlungsroutine sollte angeben, ob das Objekt gezogen wird oder abgelegt werden kann.<br> + <strong>Attribut:</strong> ondragover</p> + </td> + </tr> + <tr> + <td> + <p>input</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn der Benutzer einen Text in ein Textfeld eingibt. Das Ereignis wird nur dann aufgerufen, wenn der angezeigte Text verändert wird, daher wird es nicht aufgerufen, wenn der Benutzer Tasten drückt, die nicht in einem Textfeld dargestellt werden.<br> + <strong>Attribut:</strong> oninput</p> + </td> + </tr> + <tr> + <td> + <p>overflow</p> + </td> + <td> + <p>Dieses Ereignis wird nur zu einer Box oder einem anderen Layoutelement gesendet, wenn die CSS <code>overflow</code> Eigenschaft auf einen anderen Wert als '<code>visible</code>' festgelegt wird. Falls nicht genug Platz vorhanden ist, um den Inhalt des Elements vollständig anzuzeigen, wird das <code>overflow</code> Ereignis gesendet. Abhängig vom Wert der <code>overflow</code> Eigenschaft treten eventuell Scrollbalken auf. Wenn zum Beispiel eine Box eine maximale Größe von 100 Pixeln besitzt und nur genug Platz für 80 Pixel verfügbar ist, wird das <code>overflow</code> Ereignis zur Box gesendet. Wenn sich die Größe verändert, zum Beispiel durch den Benutzer, der die Fenstergröße ändert, wird das <code>underflow</code> Ereignis gesendet, wenn genug Platz frei wird.<br> + <strong>Attribut:</strong> onoverflow</p> + </td> + </tr> + <tr> + <td> + <p>popuphidden</p> + </td> + <td> + <p>Dieses Ereignis wird einem Popup gesendet, nachdem er versteckt wurde.<br> + <strong>Attribut:</strong> onpopuphidden</p> + </td> + </tr> + <tr> + <td> + <p>popuphiding</p> + </td> + <td> + <p>Dieses Ereignis wird einem Popup gesendet, wenn es versteckt wird.<br> + <strong>Attribut:</strong> onpopuphiding</p> + </td> + </tr> + <tr> + <td> + <p>popupshowing</p> + </td> + <td> + <p>Dieses Ereignis wird einem Popup gesendet, bevor dieser angezeigt wird. Diese Behandlungsroutine wird normalerweise verwendet, um Inhalte dynamisch festzulegen, wenn der Benutzer eine Anfrage stellt diese anzuzeigen. Wird <code>false</code> vom Eventhandler zurückgegeben, wird die Anzeige des Popups verhindert.<br> + <strong>Attribut:</strong> onpopupshowing</p> + </td> + </tr> + <tr> + <td> + <p>popupshown</p> + </td> + <td> + <p>Dieses Ereignis wird einem Popup gesendet, nachdem er geöffnet wurde, sehr ähnlich zum <code>onload</code> Ereignis, welches gesendet wird, wenn ein Fenster geöffnet wurde.<br> + <strong>Attribut:</strong> onpopupshown</p> + </td> + </tr> + <tr> + <td> + <p>syncfrompreference</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn das Element verändert wurde, weil eine Einstellung geändert wurde oder wenn ein Element von einer Einstellung initialisiert wurde. Dieses Ereignis wird nur an Elemente gesendet, die mit einer Einstellung verbunden sind und in<a href="/de/XUL/prefwindow" title="de/XUL/prefwindow"> prefwindow</a> vorhanden sind. Das ist kein wirkliches Ereignis, es ist ein Funktionsaufruf und muss die Attributschreibweise verwenden. Das Skript kann einen Wert zurück liefern, um dem Element auf einen spezifischen Wert zu geben, als den Wert der Einstellung. Dieses Ereignis wird normalerweise verwendet, um einen Wert einzustellen, sodass es passender für die Anzeige in der Benutzeroberfläche gemacht werden kann.<br> + <strong>Attribut:</strong> onsyncfrompreference</p> + </td> + </tr> + <tr> + <td> + <p>synctopreference</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn ein Element, das mit einer Einstellung verbunden ist, verändert wurde. ieses Ereignis wird nur an Elemente gesendet, die mit einer Einstellung verbunden sind und in<a href="/de/XUL/prefwindow" title="de/XUL/prefwindow"> prefwindow</a> vorhanden sind. Das ist kein wirkliches Ereignis, es ist ein Funktionsaufruf und muss die Attributschreibweise verwenden. Das Skript kann einen Wert zurück liefern, um dem Element auf einen spezifischen Wert zu geben, als den Wert der Einstellung.<br> + <strong>Attribut:</strong> onsynctopreference</p> + </td> + </tr> + <tr> + <td> + <p>underflow</p> + </td> + <td> + <p>Dieses Ereignis wird einem Element gesendet, wenn genug Platz vorhanden ist, um es vollständig anzuzeigen. Das betrifft Boxen und andere Layoutelement mit der CSS <code>overflow</code> Eigenschaft, die einen anderen Wert als '<code>visible</code>' besitzen. Das<code> underflow</code> Ereignis kann verwendet werden, um zu ermitteln, dass ein Scrollmechanismus nicht länger benötigt wird.<br> + <strong>Attribut:</strong> onunderflow</p> + </td> + </tr> + <tr> + <td> + <p>DOMMenuItemActive</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn ein Menü oder Menüitem hervorgehoben wird oder die Maus darüber schwebt.</p> + </td> + </tr> + <tr> + <td> + <p>DOMMenuItemInactive</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn ein Menü oder Menüitem nicht länger hervorgehoben wird oder die Maus nicht länger darüber schwebt.</p> + </td> + </tr> + </tbody> +</table> + +<h3 id="Zug.C3.A4nglichkeitsereignisse_.28Accessibility.29" name="Zug.C3.A4nglichkeitsereignisse_.28Accessibility.29">Ereignisse zur Zugänglichkeit (Accessibility)</h3> + +<p>Mit diesen Ereignissen wird das Zugänglichkeitssystem über Veränderungen an einem Element benachrichtigt. Sie würden diese normalerweise nicht selbst verwenden.</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <th>Ereignis</th> + <th>Beschreibung</th> + </tr> + <tr> + <td> + <p>CheckboxStateChange</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn eine <a href="/de/XUL/checkbox" title="de/XUL/checkbox"> checkbox</a> angekreuzt oder nicht angekreuzt wird, entweder vom Benutzer oder von einem Skript. Normalerweise würde ein <code>command</code> Ereignis zur Abfrage der <code>checkbox</code> Veränderungen verwendetet werden, das <code>command</code> Ereignis wird aber nur gesendet, wenn der Benutzer den Wert verändert, während das <code>CheckboxStateChange</code> Ereignis auch gesendet wird, wenn ein Skript die <code>checked</code> Eigenschaft einer <code>checkbox</code> verändert. Bei Änderungen vom Benutzer wird das <code>CheckboxStateChange</code> Ereignis vor dem <code>command</code> Ereignis gesendet.</p> + </td> + </tr> + <tr> + <td> + <p>RadioStateChange</p> + </td> + <td> + <p>Dieses Ereignis wird gesendet, wenn ein <a href="/de/XUL/radio" title="de/XUL/radio">Radiobutton</a> ausgewählt wird, entweder vom Benutzer oder von einem Skript. Normalerweise würde ein <code>command</code> Ereignis zur Abfage der Veränderungen am Radiobutton verwendet werden, das <code>command </code>Ereignis wird aber nur gesendet, wenn der Benutzer den ausgewählten Radiobutton verändert, während das <code>RadioStateChange</code> Ereignis auch gesendet wird, wenn ein Skript die Auswahl verändert. Bei Änderungen vom Benutzer wird das <code>RadioStateChange</code> Ereignis vor dem <code>command</code> Ereignis gesendet.</p> + </td> + </tr> + </tbody> +</table> + +<p>{{ languages( { "en": "en/XUL/Events", "es": "es/XUL/Events", "ja": "ja/XUL/Events", "pl": "pl/XUL/Zdarzenia" } ) }}</p> diff --git a/files/de/archive/mozilla/xul/grippy/index.html b/files/de/archive/mozilla/xul/grippy/index.html new file mode 100644 index 0000000000..73061bf15a --- /dev/null +++ b/files/de/archive/mozilla/xul/grippy/index.html @@ -0,0 +1,88 @@ +--- +title: grippy +slug: Archive/Mozilla/XUL/grippy +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/grippy +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein Element, das in einem <code><a href="/de/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code>-Element verwendet werden kann. Es ermöglicht das Zusammenklappen eines Geschwisterelements des Trenners.</p> +<p>Weitere Informationen im <a href="/de/XUL_Tutorial/Splitters" title="de/XUL_Tutorial/Splitters">XUL Tutorial</a>.</p> +<h3 id="Beispiele" name="Beispiele">Beispiele</h3> +<p>(Beispiel benötigt)</p> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften" name="Eigenschaften">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandt">Verwandt</h3> +<p>TBD</p> diff --git a/files/de/archive/mozilla/xul/iframe/index.html b/files/de/archive/mozilla/xul/iframe/index.html new file mode 100644 index 0000000000..7d5fa181af --- /dev/null +++ b/files/de/archive/mozilla/xul/iframe/index.html @@ -0,0 +1,161 @@ +--- +title: iframe +slug: Archive/Mozilla/XUL/iframe +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/iframe +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein innerer Frame, der in etwa wie das <code>iframe</code>-Element von HTML funktioniert. Das Attribut <code id="a-src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code> gibt den Inhalt des Frames an. Dieser Inhalt befindet sich in einem separaten Dokument. Jegliche Kindelemente des <code>iframe</code> Elements werden ignoriert.</p> +<p>Weitere Informationen sind im <a href="/de/XUL_Tutorial/Content_Panels" title="de/XUL_Tutorial/Content_Panels">XUL Tutorial</a> verfügbar.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-showcaret">showcaret</a>, <a href="#a-src">src</a>, <a href="#a-browser.type">type</a>, <a href="#a-transparent">transparent</a></dd> <dt>Eigenschaften</dt> <dd><a href="#p-accessibleType">accessibleType</a>, <a href="#p-contentDocument">contentDocument</a>, <a href="#p-contentWindow">contentWindow</a>, <a href="#p-docShell">docShell</a>, <a href="#p-webNavigation">webNavigation</a></dd> +</dl> +<h3 id="Beispiele" name="Beispiele">Beispiele</h3> +<pre><iframe src="table.php" flex="2" id="browserTable" name="table_frame"/> +</pre> +<p>Einen URL aus einem Menü auswählen</p> +<pre><menulist oncommand="doNav(this);"> + <menupopup> + <menuitem label="Mozilla" value="http://mozilla.org" /> + <menuitem label="Slashdot" value="http://slashdot.org"/> + <menuitem label="Sourceforge" value="http://sf.net" /> + <menuitem label="Freshmeat" value="http://freshmeat.net"/> + </menupopup> +</menulist> + + +<iframe id="myFrame" flex="1"/> + +<script> +function doNav(obj){ + var url = obj.selectedItem.value; + // note the firstChild is the menupopup element + document.getElementById('myFrame').setAttribute('src', url); +} +</script> +</pre> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<div id="a-showcaret"> + + +<dl> + <dt><code id="a-showcaret"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/showcaret">showcaret</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>Whether or not to cause a typing caret to be visible in the content area. Default is <code>false</code>.</dd> +</dl> + + +</div> <div id="a-src"> + +<dl> + <dt> + <code id="a-src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code></dt> + <dd> + Typ: <em>URL</em></dd> + <dd> + Die URL des im Element anzuzeigenden Inhalts.</dd> +</dl> + +</div> <div id="a-browser.type"> + + +<dl> + <dt><code id="a-browser.type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/browser.type">type</a></code></dt> + <dd><span class="seoSummary">Type: <em>one of the values below</em>.</span></dd> + <dd><span class="seoSummary">The type of browser, which can be used to set access of the document loaded inside the browser.</span> If this is not set, the loaded document has the same access as the window containing the <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code>. More precisely: The document loaded into a chrome window is always of chrome type. Subdocuments of chrome documents are of chrome type, unless the container element (one of iframe, browser or editor) has one of the special type attribute values (the common ones are content, content-targetable and content-primary) indicating that the subdocument is of content type. This boundary has a number of special effects, such as making window.top == window (unless the <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code> is added to a chrome document), and preventing documents from inheriting the principal of the parent document. The type attribute on all frames in content documents is ignored; subdocuments of content documents are always content documents.</dd> + <dt> + <div class="warning"><strong>Warning: </strong>The type attribute must be set before the element is inserted into the document.</div> + </dt> + <dd> + <dl> + <dt><code>content</code></dt> + <dd>A browser for content. The content that is loaded inside the browser is not allowed to access the chrome above it.</dd> + <dt><code>content-primary</code></dt> + <dd>The primary browser for content. The content that is loaded inside the browser is not allowed to access the chrome above it. For instance, in a web browser, this would be the element that displays the web page. The window for the primary content can be retrieved more conveniently using <a href="/en/DOM/window.content" title="en/DOM/window.content">window.content</a>.</dd> + <dt><code>content-targetable</code></dt> + <dd>One browser among many for content. The content that is loaded inside the browser is not allowed to access the chrome above it. This is the preferred value for any <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code> element in an application, which will use multiple browsers of equal privileges, and is unselected at the moment.</dd> + <dt><code>chrome</code></dt> + <dd>(default behaviour): A browser, intended to be used for loading privileged content using a chrome:// URI. Don't use for content from web, as this may cause serious security problems!</dd> + </dl> + </dd> +</dl> + + +</div> <div id="a-transparent"> +<dl><dt><code id="a-iframe.transparent"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/iframe.transparent">transparent</a></code></dt><dd>Type: <em>one of the values below</em></dd><dd>Set the background of an <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code> as transparent.</dd><dd><dl><dt><code>transparent</code></dt><dd>This results in the iframe's background being transparent. This can be used to workaround things like <a class=" link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=540911" title="https://bugzilla.mozilla.org/show_bug.cgi?id=540911">bug 540911</a></dd></dl></dd> +</dl> +</div> <table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften" name="Eigenschaften">Eigenschaften</h3> +<p> </p><div id="p-accessibleType"></div> <div id="p-contentDocument"></div> <div id="p-contentWindow"></div> <div id="p-docShell"></div> <div id="p-webNavigation"></div> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandte_Themen" name="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Schnittstellen</dt> <dd><a href="/de/NsIAccessibleProvider" title="de/NsIAccessibleProvider">nsIAccessibleProvider</a></dd> +</dl> diff --git a/files/de/archive/mozilla/xul/index.html b/files/de/archive/mozilla/xul/index.html new file mode 100644 index 0000000000..d275bb0520 --- /dev/null +++ b/files/de/archive/mozilla/xul/index.html @@ -0,0 +1,83 @@ +--- +title: XUL +slug: Archive/Mozilla/XUL +tags: + - XUL +translation_of: Archive/Mozilla/XUL +--- +<div class="callout-box"><strong><a href="/de/XUL_Tutorial" title="de/XUL_Tutorial">XUL Tutorial</a></strong><br> +Ein geführter Leitfaden für einen schnellen Einstieg in XUL, ursprünglich von XULPlanet.</div> + +<div><strong>XUL</strong> (XML User Interface Language) ist Mozillas <a href="/de/XML" title="de/XML">XML</a>-basierte Beschreibungssprache, die plattformübergreifende Anwendungen ermöglicht, die unabhängig von einer bestehenden Internetverbindung ausgeführt werden können. Diese Anwendungen können leicht (z.B. sprachlich) mittels alternativen Texten oder Layouts und alternativer Grafik angepasst werden. Web-Entwickler, die bereits mit dynamischen HTML (<a href="/de/DHTML" title="de/DHTML">DHTML</a>) vertraut sind, finden sich schnell in XUL zurecht und können direkt mit dem Bauen von Anwendungen beginnen. Das <a class="external" href="http://www.hevanet.com/acorbin/xul/top.xul">XUL Periodensystem</a> zeigt in Firefox oder einem anderen <a href="/de/Gecko" title="de/Gecko">Gecko</a>-basierten Browser einige XUL-Demos, die einen guten Überblick liefern.</div> + +<table class="topicpage-table"> + <tbody> + <tr> + <td> + <h4 id="Dokumentation" name="Dokumentation"><a href="/Special:Tags?tag=XUL&language=de" title="Special:Tags?tag=XUL&language=de">Dokumentation</a></h4> + + <dl> + <dt><a href="/de/XUL_Referenz" title="de/XUL_Referenz">XUL Referenz</a></dt> + <dd><small>XUL Elemente, Attribute, Eigenschaften, Methoden, und Eventhandler.</small></dd> + <dt><a href="/de/XUL_Bedienelemente" title="de/XUL_Bedienelemente">XUL Bedienelemente</a></dt> + <dd><small>Eine kurze Liste aller verfügbaren XUL Bedienelemente.</small></dd> + <dt><a href="/de/XUL_School" title="de/XUL_School">XUL School</a></dt> + <dd><small>Eine sehr ausführliche Tutorial-Reihe über die Entwicklung von Add-ons in Mozilla.</small></dd> + <dt><a href="/de/XUL_Überblick" title="de/XUL_Überblick">XUL Überblick</a></dt> + <dd><small>Beschreibung der wichtigsten Eigenschaften und Komponenten von XUL.</small></dd> + <dt><a href="/de/XUL/PopupGuide" title="de/XUL/PopupGuide">Menüs und Popups</a></dt> + <dd><small>Ein Leitfaden zur Verwendung von Menüs und Popup-Panels.</small></dd> + <dt><a href="/de/XUL/Vorlagen_Tutorial" title="de/XUL/Vorlagen_Tutorial">Leitfaden für Vorlagen</a></dt> + <dd><small>Ein detaillierter Leitfaden für XUL Vorlagen (Templates), einem Mittel zur Erzeugung von Inhalt aus Datenquellen.</small></dd> + <dt><a href="/de/DragDrop/Drag_und_Drop" title="Drag und Drop">Drag und Drop</a></dt> + <dd><small>Wie man Drag und Drop Operationen ausführen kann.</small></dd> + <dt><a href="/de/XUL_Verbesserungen_in_Firefox_3" title="de/XUL_Verbesserungen_in_Firefox_3">XUL Anwendungen für Firefox 3 anpassen</a></dt> + <dd><small>Eine Liste von Änderungen in <a href="/de/Firefox_3_für_Entwickler" title="de/Firefox_3_für_Entwickler">Firefox 3.0</a>, die XUL-Entwickler betreffen.</small></dd> + <dt><a href="/de/Firefox_2_für_Entwickler" title="de/Firefox_2_für_Entwickler">XUL Anwendungen für Firefox 2 anpassen</a></dt> + <dd><small>Eine Liste von Änderungen in <a href="/de/Firefox_2_für_Entwickler" title="de/Firefox_2_für_Entwickler">Firefox 2.0</a>, die XUL-Entwickler betreffen.</small></dd> + <dt><a href="/de/XUL_Anwendungen_für_Firefox_1.5_anpassen" title="de/XUL_Anwendungen_für_Firefox_1.5_anpassen">XUL Anwendungen für Firefox 1.5 anpassen</a></dt> + <dd><small>Eine Liste von Änderungen in <a class="external">Firefox 1.5</a>, die XUL-Entwickler betreffen.</small></dd> + </dl> + + <p><span class="alllinks"><a href="/Special:Tags?tag=XUL&language=de" title="Special:Tags?tag=XUL&language=de">Alle anzeigen...</a></span></p> + + <dl> + </dl> + </td> + <td> + <h4 id="Community">Community</h4> + + <ul> + <li>Mozillas XUL Foren:</li> + </ul> + + <p>{{ DiscussionList("dev-tech-xul", "mozilla.dev.tech.xul") }}</p> + + <ul> + <li><a class="link-irc" href="irc://irc.mozilla.org/xul">#xul auf irc.mozilla.org</a></li> + </ul> + + <h4 id="Tools">Tools</h4> + + <ul> + <li><a class="external" href="http://starkravingfinkle.org/blog/xul-explorer/">XUL Explorer</a> (eine leichtgewichtige XUL IDE)</li> + <li><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Extension developer's extension</a> (featuring a Live XUL Editor)</li> + <li><a class="external" href="http://www.extensionsmirror.nl/index.php?showtopic=751">XULRef sidebar</a></li> + <li><a class="external" href="http://www.getfirebug.com/">Firebug</a></li> + <li><a href="/en/DOM_Inspector" title="en/DOM_Inspector">DOM Inspector</a></li> + <li><a class="external" href="http://www.spket.com/">Spket IDE</a>, IDE für XUL/XBL</li> + <li><a class="external" href="http://www.amplesdk.com" title="http://www.amplesdk.com/">Ample SDK</a>, (Browser-übergreifender XUL-Renderer in JavaScript/HTML)</li> + <li><a href="/Special:Tags?tag=XUL:Tools&language=de" title="Special:Tags?tag=XUL:Tools&language=de">weitere...</a></li> + </ul> + + <h4 id="Verwandte_Themen" name="Verwandte_Themen">Verwandte Themen</h4> + + <dl> + <dd><a href="/de/JavaScript" title="de/JavaScript">JavaScript</a>, <a href="/de/XBL" title="de/XBL">XBL</a>, <a href="/de/CSS" title="de/CSS">CSS</a>, <a href="/de/RDF" title="de/RDF">RDF</a>, <a href="/de/Erweiterungen" title="de/Erweiterungen">Erweiterungen</a>, <a href="/de/XULRunner" title="de/XULRunner">XULRunner</a></dd> + </dl> + </td> + </tr> + </tbody> +</table> + +<p>{{ languages( { "en": "en/XUL", "es": "es/XUL", "fr": "fr/XUL", "it": "it/XUL", "ja": "ja/XUL", "ko": "ko/XUL", "pl": "pl/XUL", "pt": "pt/XUL", "ru": "ru/XUL", "zh-cn": "cn/XUL", "zh-tw": "zh_tw/XUL" } ) }}</p> diff --git a/files/de/archive/mozilla/xul/method/geticon/index.html b/files/de/archive/mozilla/xul/method/geticon/index.html new file mode 100644 index 0000000000..cb0dd30447 --- /dev/null +++ b/files/de/archive/mozilla/xul/method/geticon/index.html @@ -0,0 +1,15 @@ +--- +title: getIcon +slug: Archive/Mozilla/XUL/Method/getIcon +translation_of: Archive/Mozilla/XUL/Method/getIcon +--- +<div class="noinclude"> + <span class="breadcrumbs XULRefMeth_breadcrumbs">« <a href="/de/docs/XUL_Referenz" title="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> + <dt> + <span id="m-getIcon"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getIcon">getIcon( aTab )</a></code></span> </dt> + <dd> + Return type: <em>string</em></dd> + <dd> + Returns the URL of the specified tab's favicon. If <code>aTab</code> is null, the current tab's icon is returned. See <span id="m-setIcon"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/setIcon">setIcon</a></code></span> to set the icon.</dd> +</dl> diff --git a/files/de/archive/mozilla/xul/method/gettabforbrowser/index.html b/files/de/archive/mozilla/xul/method/gettabforbrowser/index.html new file mode 100644 index 0000000000..bc48db12b9 --- /dev/null +++ b/files/de/archive/mozilla/xul/method/gettabforbrowser/index.html @@ -0,0 +1,15 @@ +--- +title: getTabForBrowser +slug: Archive/Mozilla/XUL/Method/getTabForBrowser +translation_of: Archive/Mozilla/XUL/Method/getTabForBrowser +--- +<div class="noinclude"> + <span class="breadcrumbs XULRefMeth_breadcrumbs">« <a href="/de/docs/XUL_Referenz" title="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div> +<dl> + <dt> + <span id="m-getTabForBrowser"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getTabForBrowser">getTabForBrowser( browser )</a></code></span> </dt> + <dd> + Return type:<em> <code><a href="/de/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code></em></dd> + <dd> + Returns the XUL <code><a href="/de/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code> which contains the specified <code><a href="/de/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code>.</dd> +</dl> diff --git a/files/de/archive/mozilla/xul/method/index.html b/files/de/archive/mozilla/xul/method/index.html new file mode 100644 index 0000000000..934c525318 --- /dev/null +++ b/files/de/archive/mozilla/xul/method/index.html @@ -0,0 +1,14 @@ +--- +title: Methoden +slug: Archive/Mozilla/XUL/Method +tags: + - XUL Methoden + - XUL Referenz +translation_of: Archive/Mozilla/XUL/Method +--- +<p><span class="breadcrumbs XULRefMeth_breadcrumbs">« <a href="/de/docs/XUL_Referenz" title="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></p> +<ul> <li><a href="/de/XUL/Method/acceptDialog" title="de/XUL/Method/acceptDialog">acceptDialog</a></li> <li><a href="/de/XUL/Method/addItemToSelection" title="de/XUL/Method/addItemToSelection">addItemToSelection</a></li> <li><a href="/de/XUL/Method/addPane" title="de/XUL/Method/addPane">addPane</a></li> <li><a href="/de/XUL/Method/addProgressListener" title="de/XUL/Method/addProgressListener">addProgressListener</a></li> <li><a href="/de/XUL/Method/addSession" title="de/XUL/Method/addSession">addSession</a></li> <li><a href="/de/XUL/Method/addTab" title="de/XUL/Method/addTab">addTab</a></li> <li><a href="/de/XUL/Method/AddTabsProgressListener" title="de/XUL/Method/addTab">addTabsProgressListener</a></li> <li><a href="/de/XUL/Method/advance" title="de/XUL/Method/advance">advance</a></li> <li><a href="/de/XUL/Method/advanceSelectedTab" title="de/XUL/Method/advanceSelectedTab">advanceSelectedTab</a></li> <li><a href="/de/XUL/Method/appendCustomToolbar" title="de/XUL/Method/appendCustomToolbar">appendCustomToolbar</a></li> <li><a href="/de/XUL/Method/appendGroup" title="de/XUL/Method/appendGroup">appendGroup</a></li> <li><a href="/de/XUL/Method/appendItem" title="de/XUL/Method/appendItem">appendItem</a></li> <li><a href="/de/XUL/Method/appendNotification" title="de/XUL/Method/appendNotification">appendNotification</a></li> <li><a href="/de/XUL/Method/blur" title="de/XUL/Method/blur">blur</a></li> <li><a href="/de/XUL/Method/cancel" title="de/XUL/Method/cancel">cancel</a></li> <li><a href="/de/XUL/Method/cancelDialog" title="de/XUL/Method/cancelDialog">cancelDialog</a></li> <li><a href="/de/XUL/Method/centerWindowOnScreen" title="de/XUL/Method/centerWindowOnScreen">centerWindowOnScreen</a></li> <li><a href="/de/XUL/Method/checkAdjacentElement" title="de/XUL/Method/checkAdjacentElement">checkAdjacentElement</a></li> <li><a href="/de/XUL/Method/clearResults" title="de/XUL/Method/clearResults">clearResults</a></li> <li><a href="/de/XUL/Method/clearSelection" title="de/XUL/Method/clearSelection">clearSelection</a></li> <li><a href="/de/XUL/Method/click" title="de/XUL/Method/click">click</a></li> <li><a href="/de/XUL/Method/close" title="de/XUL/Method/close">close</a></li> <li><a href="/de/XUL/Method/collapseToolbar" title="de/XUL/Method/collapseToolbar">collapseToolbar</a></li> <li><a href="/de/XUL/Method/contains" title="de/XUL/Method/contains">contains</a></li> <li><a href="/de/XUL/Method/decrease" title="de/XUL/Method/decrease">decrease</a></li> <li><a href="/de/XUL/Method/decreasePage" title="de/XUL/Method/decreasePage">decreasePage</a></li> <li><a href="/de/XUL/Method/doCommand" title="de/XUL/Method/doCommand">doCommand</a></li> <li><a href="/de/XUL/Method/ensureElementIsVisible" title="de/XUL/Method/ensureElementIsVisible">ensureElementIsVisible</a></li> <li><a href="/de/XUL/Method/ensureIndexIsVisible" title="de/XUL/Method/ensureIndexIsVisible">ensureIndexIsVisible</a></li> <li><a href="/de/XUL/Method/ensureSelectedElementIsVisible" title="de/XUL/Method/ensureSelectedElementIsVisible">ensureSelectedElementIsVisible</a></li> <li><a href="/de/XUL/Method/expandToolbar" title="de/XUL/Method/expandToolbar">expandToolbar</a></li> <li><a href="/de/XUL/Method/extra1" title="de/XUL/Method/extra1">extra1</a></li> <li><a href="/de/XUL/Method/extra2" title="de/XUL/Method/extra2">extra2</a></li> <li><a href="/de/XUL/Method/focus" title="de/XUL/Method/focus">focus</a></li> <li><a href="/de/XUL/Method/getBrowserAtIndex" title="de/XUL/Method/getBrowserAtIndex">getBrowserAtIndex</a></li> <li><a href="/de/XUL/Method/getBrowserForDocument" title="de/XUL/Method/getBrowserForDocument">getBrowserForDocument</a></li> <li><a href="/de/XUL/Method/getBrowserForTab" title="de/XUL/Method/getBrowserForTab">getBrowserForTab</a></li> <li><a href="/de/XUL/Method/getBrowserIndexForDocument" title="de/XUL/Method/getBrowserIndexForDocument">getBrowserIndexForDocument</a></li> <li><a href="/de/XUL/Method/getButton" title="de/XUL/Method/getButton">getButton</a></li> <li><a href="/de/XUL/Method/getDefaultSession" title="de/XUL/Method/getDefaultSession">getDefaultSession</a></li> <li><a href="/de/XUL/Method/getEditor" title="de/XUL/Method/getEditor">getEditor</a></li> <li><a href="/de/XUL/Method/getElementsByAttribute" title="de/XUL/Method/getElementsByAttribute">getElementsByAttribute</a></li> <li><a href="/de/XUL/Method/getElementsByAttributeNS" title="de/XUL/Method/getElementsByAttributeNS">getElementsByAttributeNS</a></li> <li><a href="/de/XUL/Method/getFormattedString" title="de/XUL/Method/getFormattedString">getFormattedString</a></li> <li><a href="/de/XUL/Method/getHTMLEditor" title="de/XUL/Method/getHTMLEditor">getHTMLEditor</a></li> <li><a href="/de/XUL/Method/getIndexOfFirstVisibleRow" title="de/XUL/Method/getIndexOfFirstVisibleRow">getIndexOfFirstVisibleRow</a></li> <li><a href="/de/XUL/Method/getIndexOfItem" title="de/XUL/Method/getIndexOfItem">getIndexOfItem</a></li> <li><a href="/de/XUL/Method/getItemAtIndex" title="de/XUL/Method/getItemAtIndex">getItemAtIndex</a></li> <li><a href="/de/XUL/Method/getNextItem" title="de/XUL/Method/getNextItem">getNextItem</a></li> <li><a href="/de/XUL/Method/getNotificationBox" title="de/XUL/Method/getNotificationBox">getNotificationBox</a></li> <li><a href="/de/XUL/Method/getNotificationWithValue" title="de/XUL/Method/getNotificationWithValue">getNotificationWithValue</a></li> <li><a href="/de/XUL/Method/getNumberOfVisibleRows" title="de/XUL/Method/getNumberOfVisibleRows">getNumberOfVisibleRows</a></li> <li><a href="/de/XUL/Method/getPageById" title="de/XUL/Method/getPageById">getPageById</a></li> <li><a href="/de/XUL/Method/getPreviousItem" title="de/XUL/Method/getPreviousItem">getPreviousItem</a></li> <li><a href="/de/XUL/Method/getResultAt" title="de/XUL/Method/getResultAt">getResultAt</a></li> <li><a href="/de/XUL/Method/getResultCount" title="de/XUL/Method/getResultCount">getResultCount</a></li> <li><a href="/de/XUL/Method/getResultValueAt" title="de/XUL/Method/getResultValueAt">getResultValueAt</a></li> <li><a href="/de/XUL/Method/getRowCount" title="de/XUL/Method/getRowCount">getRowCount</a></li> <li><a href="/de/XUL/Method/getSearchAt" title="de/XUL/Method/getSearchAt">getSearchAt</a></li> <li><a href="/de/XUL/Method/getSelectedItem" title="de/XUL/Method/getSelectedItem">getSelectedItem</a></li> <li><a href="/de/XUL/Method/getSession" title="de/XUL/Method/getSession">getSession</a></li> <li><a href="/de/XUL/Method/getSessionByName" title="de/XUL/Method/getSessionByName">getSessionByName</a></li> <li><a href="/de/XUL/Method/getSessionResultAt" title="de/XUL/Method/getSessionResultAt">getSessionResultAt</a></li> <li><a href="/de/XUL/Method/getSessionStatusAt" title="de/XUL/Method/getSessionStatusAt">getSessionStatusAt</a></li> <li><a href="/de/XUL/Method/getSessionValueAt" title="de/XUL/Method/getSessionValueAt">getSessionValueAt</a></li> <li><a href="/de/XUL/Method/getString" title="de/XUL/Method/getString">getString</a></li> <li><a href="/de/XUL/Method/goBack" title="de/XUL/Method/goBack">goBack</a></li> <li><a href="/de/XUL/Method/goBackGroup" title="de/XUL/Method/goBackGroup">goBackGroup</a></li> <li><a href="/de/XUL/Method/goDown" title="de/XUL/Method/goDown">goDown</a></li> <li><a href="/de/XUL/Method/goForward" title="de/XUL/Method/goForward">goForward</a></li> <li><a href="/de/XUL/Method/goForwardGroup" title="de/XUL/Method/goForwardGroup">goForwardGroup</a></li> <li><a href="/de/XUL/Method/goHome" title="de/XUL/Method/goHome">goHome</a></li> <li><a href="/de/XUL/Method/goTo" title="de/XUL/Method/goTo">goTo</a></li> <li><a href="/de/XUL/Method/gotoIndex" title="de/XUL/Method/gotoIndex">gotoIndex</a></li> <li><a href="/de/XUL/Method/goUp" title="de/XUL/Method/goUp">goUp</a></li> <li><a href="/de/XUL/Method/hidePopup" title="de/XUL/Method/hidePopup">hidePopup</a></li> <li><a href="/de/XUL/Method/increase" title="de/XUL/Method/increase">increase</a></li> <li><a href="/de/XUL/Method/increasePage" title="de/XUL/Method/increasePage">increasePage</a></li> <li><a href="/de/XUL/Method/insertItem" title="de/XUL/Method/insertItem">insertItem</a></li> <li><a href="/de/XUL/Method/insertItemAt" title="de/XUL/Method/insertItemAt">insertItemAt</a></li> <li><a href="/de/XUL/Method/invertSelection" title="de/XUL/Method/invertSelection">invertSelection</a></li> <li><a href="/de/XUL/Method/loadGroup" title="de/XUL/Method/loadGroup">loadGroup</a></li> <li><a href="/de/XUL/Method/loadOneTab" title="de/XUL/Method/loadOneTab">loadOneTab</a></li> <li><a href="/de/XUL/Method/loadTabs" title="de/XUL/Method/loadTabs">loadTabs</a></li> <li><a href="/de/XUL/Method/loadURI" title="de/XUL/Method/loadURI">loadURI</a></li> <li><a href="/de/XUL/Method/loadURIWithFlags" title="de/XUL/Method/loadURIWithFlags">loadURIWithFlags</a></li> <li><a href="/de/XUL/Method/makeEditable" title="de/XUL/Method/makeEditable">makeEditable</a></li> <li><a href="/de/XUL/Method/moveByOffset" title="de/XUL/Method/moveByOffset">moveByOffset</a></li> <li><a href="/de/XUL/Method/moveTo" title="de/XUL/Method/moveTo">moveTo</a></li> <li><a href="/de/XUL/Method/moveToAlertPosition" title="de/XUL/Method/moveToAlertPosition">moveToAlertPosition</a></li> <li><a href="/de/XUL/Method/onSearchComplete" title="de/XUL/Method/onSearchComplete">onSearchComplete</a></li> <li><a href="/de/XUL/Method/onTextEntered" title="de/XUL/Method/onTextEntered">onTextEntered</a></li> <li><a href="/de/XUL/Method/onTextReverted" title="de/XUL/Method/onTextReverted">onTextReverted</a></li> <li><a href="/de/XUL/Method/openPopup" title="de/XUL/Method/openPopup">openPopup</a></li> <li><a href="/de/XUL/Method/openPopupAtScreen" title="de/XUL/Method/openPopupAtScreen">openPopupAtScreen</a></li> <li><a href="/de/XUL/Method/openSubDialog" title="de/XUL/Method/openSubDialog">openSubDialog</a></li> <li><a href="/de/XUL/Method/openWindow" title="de/XUL/Method/openWindow">openWindow</a></li> <li><a href="/de/XUL/Method/preferenceForElement" title="de/XUL/Method/preferenceForElement">preferenceForElement</a></li> <li><a href="/de/XUL/Method/reload" title="de/XUL/Method/reload">reload</a></li> <li><a href="/de/XUL/Method/reloadAllTabs" title="de/XUL/Method/reloadAllTabs">reloadAllTabs</a></li> <li><a href="/de/XUL/Method/reloadTab" title="de/XUL/Method/reloadTab">reloadTab</a></li> <li><a href="/de/XUL/Method/reloadWithFlags" title="de/XUL/Method/reloadWithFlags">reloadWithFlags</a></li> <li><a href="/de/XUL/Method/removeAllItems" title="de/XUL/Method/removeAllItems">removeAllItems</a></li> <li><a href="/de/XUL/Method/removeAllNotifications" title="de/XUL/Method/removeAllNotifications">removeAllNotifications</a></li> <li><a href="/de/XUL/Method/removeAllTabsBut" title="de/XUL/Method/removeAllTabsBut">removeAllTabsBut</a></li> <li><a href="/de/XUL/Method/removeCurrentNotification" title="de/XUL/Method/removeCurrentNotification">removeCurrentNotification</a></li> <li><a href="/de/XUL/Method/removeCurrentTab" title="de/XUL/Method/removeCurrentTab">removeCurrentTab</a></li> <li><a href="/de/XUL/Method/removeItemAt" title="de/XUL/Method/removeItemAt">removeItemAt</a></li> <li><a href="/de/XUL/Method/removeItemFromSelection" title="de/XUL/Method/removeItemFromSelection">removeItemFromSelection</a></li> <li><a href="/de/XUL/Method/removeNotification" title="de/XUL/Method/removeNotification">removeNotification</a></li> <li><a href="/de/XUL/Method/removeProgressListener" title="de/XUL/Method/removeProgressListener">removeProgressListener</a></li> <li><a href="/de/XUL/Method/removeSession" title="de/XUL/Method/removeSession">removeSession</a></li> <li><a href="/de/XUL/Method/removeTab" title="de/XUL/Method/removeTab">removeTab</a></li> <li><a href="/de/XUL/Method/RemoveTabsProgressListener" title="de/XUL/Method/removeTab">removeTabsProgressListener</a></li> <li><a href="/de/XUL/Method/removeTransientNotifications" title="de/XUL/Method/removeTransientNotifications">removeTransientNotifications</a></li> <li><a href="/de/XUL/Method/replaceGroup" title="de/XUL/Method/replaceGroup">replaceGroup</a></li> <li><a href="/de/XUL/Method/reset" title="de/XUL/Method/reset">reset</a></li> <li><a href="/de/XUL/Method/rewind" title="de/XUL/Method/rewind">rewind</a></li> <li><a href="/de/XUL/Method/scrollByIndex" title="de/XUL/Method/scrollByIndex">scrollByIndex</a></li> <li><a href="/de/XUL/Method/scrollByPixels" title="de/XUL/Method/scrollByPixels">scrollByPixels</a></li> <li><a href="/de/XUL/Method/scrollToIndex" title="de/XUL/Method/scrollToIndex">scrollToIndex</a></li> <li><a href="/de/XUL/Method/select" title="de/XUL/Method/select">select</a></li> <li><a href="/de/XUL/Method/selectAll" title="de/XUL/Method/selectAll">selectAll</a></li> <li><a href="/de/XUL/Method/selectItem" title="de/XUL/Method/selectItem">selectItem</a></li> <li><a href="/de/XUL/Method/selectItemRange" title="de/XUL/Method/selectItemRange">selectItemRange</a></li> <li><a class="internal" href="/de/XUL/Method/selectTabAtIndex" title="de/XUL/Method/selectTabAtIndex">selectTabAtIndex</a></li> <li><a href="/de/XUL/Method/setSelectionRange" title="de/XUL/Method/setSelectionRange">setSelectionRange</a></li> <li><a href="/de/XUL/Method/showPane" title="de/XUL/Method/showPane">showPane</a></li> <li><a href="/de/XUL/Method/showPopup" title="de/XUL/Method/showPopup">showPopup</a></li> <li><a href="/de/XUL/Method/sizeTo" title="de/XUL/Method/sizeTo">sizeTo</a></li> <li><a href="/de/XUL/Method/startEditing" title="de/XUL/Method/startEditing">startEditing</a></li> <li><a href="/de/XUL/Method/stop" title="de/XUL/Method/stop">stop</a></li> <li><a href="/de/XUL/Method/stopEditing" title="de/XUL/Method/stopEditing">stopEditing</a></li> <li><a href="/de/XUL/Method/SwapDocShells" title="de/XUL/Method/swapDocShells">swapDocShells</a></li> <li><a href="/de/XUL/Method/syncSessions" title="de/XUL/Method/syncSessions">syncSessions</a></li> <li><a href="/de/XUL/Method/timedSelect" title="de/XUL/Method/timedSelect">timedSelect</a></li> <li><a href="/de/XUL/Method/toggleItemSelection" title="de/XUL/Method/toggleItemSelection">toggleItemSelection</a></li> +</ul> +<h3 id="Verwandte_DOM-Element_Methoden">Verwandte DOM-Element Methoden</h3> +<ul> <li><a href="/de/DOM/element.addEventListener" title="de/DOM/element.addEventListener">DOM:element.addEventListener</a></li> <li><a href="/de/DOM/Node.appendChild" title="de/DOM/element.appendChild">DOM:element.appendChild</a></li> <li><a href="/de/DOM/Node.compareDocumentPosition" title="de/DOM/Node.compareDocumentPosition">DOM:element.compareDocumentPosition</a></li> <li><a href="/de/DOM/element.dispatchEvent" title="de/DOM/element.dispatchEvent">DOM:element.dispatchEvent</a></li> <li><a href="/de/DOM/element.getAttribute" title="de/DOM/element.getAttribute">DOM:element.getAttribute</a></li> <li><a href="/de/DOM/element.getAttributeNode" title="de/DOM/element.getAttributeNode">DOM:element.getAttributeNode</a></li> <li><a href="/de/DOM/element.getAttributeNodeNS" title="de/DOM/element.getAttributeNodeNS">DOM:element.getAttributeNodeNS</a></li> <li><a href="/de/DOM/element.getAttributeNS" title="de/DOM/element.getAttributeNS">DOM:element.getAttributeNS</a></li> <li><a href="/de/DOM/element.getElementsByTagName" title="de/DOM/element.getElementsByTagName">DOM:element.getElementsByTagName</a></li> <li><a href="/de/DOM/element.getElementsByTagNameNS" title="de/DOM/element.getElementsByTagNameNS">DOM:element.getElementsByTagNameNS</a></li> <li><a href="/de/DOM/Node.getFeature" title="de/DOM/Node.getFeature">DOM:element.getFeature</a></li> <li><a href="/de/DOM/Node.getUserData" title="de/DOM/Node.getUserData">DOM:element.getUserData</a></li> <li><a href="/de/DOM/element.hasAttribute" title="de/DOM/element.hasAttribute">DOM:element.hasAttribute</a></li> <li><a href="/de/DOM/element.hasAttributeNS" title="de/DOM/element.hasAttributeNS">DOM:element.hasAttributeNS</a></li> <li><a href="/de/DOM/Node.hasAttributes" title="de/DOM/element.hasAttributes">DOM:element.hasAttributes</a></li> <li><a href="/de/DOM/Node.hasChildNodes" title="de/DOM/element.hasChildNodes">DOM:element.hasChildNodes</a></li> <li><a href="/de/DOM/Node.insertBefore" title="de/DOM/element.insertBefore">DOM:element.insertBefore</a></li> <li><a href="/de/DOM/Node.isEqualNode" title="de/DOM/Node.isEqualNode">DOM:element.isEqualNode</a></li> <li><a href="/de/DOM/Node.isSameNode" title="de/DOM/Node.isSameNode">DOM:element.isSameNode</a></li> <li><a href="/de/DOM/Node.isSupported" title="de/DOM/element.isSupported">DOM:element.isSupported</a></li> <li><a href="/de/DOM/Node.lookupNamespaceURI" title="de/DOM/Node.lookupNamespaceURI">DOM:element.lookupNamespaceURI</a></li> <li><a href="/de/DOM/Node.lookupPrefix" title="de/DOM/Node.lookupPrefix">DOM:element.lookupPrefix</a></li> <li><a href="/de/DOM/Node.normalize" title="de/DOM/element.normalize">DOM:element.normalize</a></li> <li><a href="/de/DOM/element.removeAttribute" title="de/DOM/element.removeAttribute">DOM:element.removeAttribute</a></li> <li><a href="/de/DOM/element.removeAttributeNode" title="de/DOM/element.removeAttributeNode">DOM:element.removeAttributeNode</a></li> <li><a href="/de/DOM/element.removeAttributeNS" title="de/DOM/element.removeAttributeNS">DOM:element.removeAttributeNS</a></li> <li><a href="/de/DOM/Node.removeChild" title="de/DOM/element.removeChild">DOM:element.removeChild</a></li> <li><a href="/de/DOM/element.removeEventListener" title="de/DOM/element.removeEventListener">DOM:element.removeEventListener</a></li> <li><a href="/de/DOM/Node.replaceChild" title="de/DOM/element.replaceChild">DOM:element.replaceChild</a></li> <li><a href="/de/DOM/element.setAttribute" title="de/DOM/element.setAttribute">DOM:element.setAttribute</a></li> <li><a href="/de/DOM/element.setAttributeNode" title="de/DOM/element.setAttributeNode">DOM:element.setAttributeNode</a></li> <li><a href="/de/DOM/element.setAttributeNodeNS" title="de/DOM/element.setAttributeNodeNS">DOM:element.setAttributeNodeNS</a></li> <li><a href="/de/DOM/element.setAttributeNS" title="de/DOM/element.setAttributeNS">DOM:element.setAttributeNS</a></li> <li><a href="/de/DOM/Node.setUserData" title="de/DOM/Node.setUserData">DOM:element.setUserData</a></li> +</ul> diff --git a/files/de/archive/mozilla/xul/school_tutorial/adding_menus_and_submenus/index.html b/files/de/archive/mozilla/xul/school_tutorial/adding_menus_and_submenus/index.html new file mode 100644 index 0000000000..e48c15eade --- /dev/null +++ b/files/de/archive/mozilla/xul/school_tutorial/adding_menus_and_submenus/index.html @@ -0,0 +1,99 @@ +--- +title: Adding menus and submenus +slug: Archive/Mozilla/XUL/School_tutorial/Adding_menus_and_submenus +translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School/Adding_menus_and_submenus +--- +<p>{{ PreviousNext("XUL_School/Setting_Up_a_Development_Environment", "XUL_School/Adding_Toolbars_and_Toolbar_Buttons") }}</p> +<p>The Hello World example in the previous sections shows the two most common ways to add menus. In this section we'll look into more specialized menus and what you can do with them.</p> +<h2 id="Adding_a_New_Menu">Adding a New Menu</h2> +<p>We already saw how to add menus in overlays and, as you may have imagined, you can nest submenus as deep as you want. You should avoid having deep menus or too many options, since they are confusing for most users.</p> +<p>If your extension requires custom XUL windows, you may also need to have menus on those windows. You can do this with a <a href="/en/XUL/menubar" title="en/XUL/menubar">menubar</a>. The <em>menubar</em> element should be a child of a <a href="/en/XUL/toolbox" title="en/XUL/toolbox">toolbox</a> element because it is treated like another toolbar on systems other than Mac OS X.</p> +<div class="note"> + <p>Mac OS X treats menus in a very different way than other systems. If your extension involves menus in any way, you should test it on Mac OS X to make sure everything works adequately.</p> +</div> +<p>The toolbox should be positioned near the top of the XUL document, and the code should be similar to this:</p> +<pre><code><toolbox> + <menubar id="</code><code>xulschoolhello</code><code>-menubar"> + <menu id="</code><code>xulschoolhello</code><code>-greeting-menu" label="&</code><code>xulschoolhello</code><code>.greeting.label;"> + <menupopup> + <menuitem label="&xulschoolhello.greet.short.label;" + oncommand="XULSchoolChrome.GreetingDialog.greetingShort(event);" /> + <menuitem label="&</code><code>xulschoolhello</code><code>.greet.medium.label;" + oncommand="XULSchoolChrome.GreetingDialog.greetingMedium(event);" /> + <menuitem label="&</code><code>xulschoolhello</code><code>.greet.long.label;" + oncommand="XULSchoolChrome.GreetingDialog.greetingLong(event);" /> + <menuseparator /> + <menuitem label="&</code><code>xulschoolhello</code><code>.greet.custom.label;" + oncommand="XULSchoolChrome.GreetingDialog.greetingCustom(event);" /> + </menupopup> + </menu> + </menubar> +</toolbox> </code></pre> +<p>This code displays a simple <a href="/en/XUL/menu" title="en/XUL/menu">menu</a> with options for 3 different types of greetings, a <a href="/en/XUL/menuseparator" title="en/XUL/menuseparator">menuseparator</a>, and finally an option to show a custom greeting. The separator is usually displayed as a horizontal line that creates a logical division between different types of <a href="/en/XUL/menuitem" title="en/XUL/menuitem">menuitem</a> elements, keeping everything more organized.</p> +<p>A <em>menubar</em> can hold one or more <em>menu</em> elements. Menus require a <a href="/en/XUL/menupopup" title="en/XUL/menupopup">menupopup</a> element as a container for its children, which are usually <em>menuitem</em> elements, but can also be <em>menuseparator,</em> or <em>menu</em> in order to have multiple nesting levels:</p> +<pre><code><toolbox> + <menubar id="</code><code>xulschoolhello</code><code>-menubar"> + <menu id="</code><code>xulschoolhello</code><code>-greeting-menu" label="&</code><code>xulschoolhello</code><code>.greeting.label;"> + <menupopup> + <menu id="</code><code>xulschoolhello</code><code>-greeting-sizes-menu" label="&</code><code>xulschoolhello</code><code>.greetingSizes.label;"> + <menupopup> + <menuitem label="&</code><code>xulschoolhello</code><code>.greet.short.label;" + oncommand="</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingShort(event);" /> + <menuitem label="&</code><code>xulschoolhello</code><code>.greet.medium.label;" + oncommand="</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingMedium(event);" /> + <menuitem label="&</code><code>xulschoolhello</code><code>.greet.long.label;" + oncommand="</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingLong(event);" /> + </menupopup> + </menu> + <menuitem label="&</code><code>xulschoolhello</code><code>.greet.custom.label;" + oncommand="</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingCustom(event);" /> + </menupopup> + </menu> + </menubar> +</toolbox> </code></pre> +<p>In this case we grouped the 3 greeting items into a submenu. It doesn't make much sense to do that in this case because we end up with only two menu items, one of them being a menu with 3 child items.</p> +<p>You can also have menus that are filled dynamically. Instead of setting the menupopup directly in the XUL, you can use the <a href="/en/XUL/Attribute/onpopupshowing" title="en/XUL/Attribute/onpopupshowing">onpopupshowing</a> event to fill the children when the popup is about to be displayed. DOM functions like <a href="/en/DOM/document.createElement" title="en/DOM/document.createElement">createElement</a> and <a href="/En/DOM/Node.appendChild" title="En/DOM/Node.appendChild">appendChild</a> can be used to accomplish this.</p> +<div class="note"> + <p>If you have nothing to show on a menu, you should follow the standard used in Firefox: show a single disabled item with an "(Empty)" label.</p> + <p>If filling your menu takes a noticeable amount of time, you should not make Firefox (and your users) wait for it to fill up before displaying anything. It's best to show an item with a throbber image (see <a class="external" rel="freelink">chrome://global/skin/icons/loading_16.png</a>) so the user knows there's something going on, and asynchronously fill its contents. We'll look into some asynchronous techniques further ahead in the tutorial.</p> +</div> +<h2 id="Adding_Elements_to_Existing_Menus">Adding Elements to Existing Menus</h2> +<p>Just as explained in the previous sections, the best place to overlay your extension menu is inside the <em>Tools</em> menu. That is, unless there's a place inside the menu structure where your extension menus make more sense. If you're overlaying the Tools menu, your overlay code should have something like this:</p> +<pre><code><menupopup id="menu_ToolsPopup"> + <menu id="</code><code>xulschoolhello</code><code>-hello-menu" label="&</code><code>xulschoolhello</code><code>.hello.label;" + accesskey="&</code><code>xulschoolhello</code><code>.helloMenu.accesskey;" + insertafter="javascriptConsole,devToolsSeparator"> + <menupopup> + <!-- Your menuitem goes here. --> + </menupopup> + </menu> +</menupopup> </code></pre> +<p>Now let's look at some specialized types of menu items.</p> +<h2 id="Menu_types">Menu types</h2> +<h3 id="Checkbox_Menu_Items">Checkbox Menu Items</h3> +<p>You can make a <em>menuitem</em> "checkable" to allow the user to enable/disable options using the menu. We use two attributes for this: <a href="/en/XUL/menuitem#a-menuitem.type" title="en/XUL/menuitem#a-menuitem.type">type</a> and <a href="/en/XUL/menuitem#a-checked" title="en/XUL/menuitem#a-checked">checked</a>. The <em>type</em> attribute must be set to "checkbox". You can set the <em>checked</em> attribute to "true" to check it by default.</p> +<p>The item's checked state changes when the user clicks on it. An example of one such item is the View > Status Bar item in the main Firefox menu.</p> +<h3 id="Radio_Menu_Items">Radio Menu Items</h3> +<p>If you need to have a set of <em>menuitem</em> elements where only one of them has to be checked at any given moment, you should set the <em>type</em> to "radio". The <em>name</em> attribute is used to identify the items that belong to the radio group.</p> +<pre><code><menupopup oncommand="XULSchoolChrome.HW.GreetingDialog.greeting(event);"> + <menuitem type="radio" name="</code><code>xulschoolhello</code><code>-greeting-radio" + label="&</code><code>xulschoolhello</code><code>.greet.short.label;" checked="true" /> + <menuitem type="radio" name="</code><code>xulschoolhello</code><code>-greeting-radio" + label="&</code><code>xulschoolhello</code><code>.greet.medium.label;" /> + <menuitem type="radio" name="</code><code>xulschoolhello</code><code>-greeting-radio" + label="&</code><code>xulschoolhello</code><code>.greet.long.label;" /> +</menupopup> </code></pre> +<p>This is a modified version of the 3 greeting menus. It is now implemented as a radio menu where you pick one of the 3 available choices. The first one is checked by default. The <em>oncommand</em> attribute is set on the <em>menupopup</em> to avoid code duplication, since now the 3 items call the same function.</p> +<p>Another example of a menu like this is the View > Sidebars menu. Only one sidebar is visible at any given moment, and you can pick from several.</p> +<h3 id="Menus_with_Images">Menus with Images</h3> +<p>To add an icon to a <em>menu</em> or <em>menuitem</em>, set its class to "menu-iconic" or "menuitem-iconic" respectively, and set the <a href="/en/XUL/Attribute/image" title="en/XUL/Attribute/image">image</a> attribute or the <a href="/en/CSS/list-style-image" title="en/CSS/list-style-image">list-style-image</a> CSS property. Menu icons are typically 16px by 16px.</p> +<h2 id="Menus_on_Mac_OS_X">Menus on Mac OS X</h2> +<p>As mentioned earlier, menus are very different on Mac OS X. This is because menus on Mac are located in a single menu bar which is controlled by the operating system, as opposed to menus in other systems, which are entirely controlled by Firefox. Mac OS X also has menu standards, such as the positioning of certain items that are not used in other systems. Here's a list of the known issues we've run into when handling menus on Mac:</p> +<ul> + <li>The About, Preferences and Quit menu items are located under the "Firefox" menu, not the usual places you would find them. You can access these items by id through the DOM, but their parent menu is not easily accessible.</li> + <li>We've run into bugs when adding, removing, enabling and disabling menu items dynamically, specially the root menu items (File, Edit, View, etc). You should carefully test this behavior to make sure it works properly in your extension.</li> + <li>Images in menu items may not appear, showing only a narrow segment of the image instead. This seems to happen when remote images are used.</li> + <li>Menu items are not dynamically updated while they are open. For example, you could have a <em>menuitem</em> that tells you the current time and is updated every second. On other systems you would be able to see the item update itself without having to close the menu and then reopen. This is not the case on Mac OS.</li> +</ul> +<p>{{ PreviousNext("XUL_School/Setting_Up_a_Development_Environment", "XUL_School/Adding_Toolbars_and_Toolbar_Buttons") }}</p> +<p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p> diff --git a/files/de/archive/mozilla/xul/school_tutorial/die_grundlagen_einer_erweiterung/index.html b/files/de/archive/mozilla/xul/school_tutorial/die_grundlagen_einer_erweiterung/index.html new file mode 100644 index 0000000000..cda64ab5a8 --- /dev/null +++ b/files/de/archive/mozilla/xul/school_tutorial/die_grundlagen_einer_erweiterung/index.html @@ -0,0 +1,454 @@ +--- +title: Die Grundlagen einer Erweiterung +slug: Archive/Mozilla/XUL/School_tutorial/Die_Grundlagen_einer_Erweiterung +translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School/The_Essentials_of_an_Extension +--- +<p>{{ PreviousNext("XUL_School/Getting_Started_with_Firefox_Extensions", "XUL_School/Setting_Up_a_Development_Environment") }}</p> + +<h2 id="Die_install.rdf_Datei">Die install.rdf Datei</h2> + +<p>In der letzten Lektion haben wir uns den Inhalt der Hello World Erweiterung angesehen.Jetzt werfen wir einen Blick in diese Dateien und den Code, beginnen wir mit der install.rdf Datei. Sie können diese mit jedem Texteditor öffnen.</p> + +<p>Die Datei ist in einem speziellen Dialekt von XML, <a class="external" href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a> genannt formatiert. RDF wird eingesetzt als ein zentraler Speichermechanismus für Forefox, aber es ist jetzt durch ein einfacheres Datenbanksystem ersetzt worden. Wir werden später in diesem Tutorial beide Speichersystem besprechen.</p> + +<p>Nehmen wir jetzt einen genaueren Blick auf die wichtigen Teile der Datei.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><em:id>helloworld@xulschool.com</em:id></pre> +</div> +</div> + +<p>Dies ist der eindeutige Bezeichner für die Erweiterung. Firefox benötigt diesen für die Unterscheidung eurer Erweiterung von anderen Erweiterungen, aufgrunddessen ist es erforderlich das Sie eine ID haben die eindeutig ist.</p> + +<p>Es gibt zwei akzeptierte Standards für Add-on ID`s. Eine ist das E-Mail ähnliche Format in dem Hello World Beispiel, dieses sollte folgendermaßen aufgebaut sein <span style="color: #0000ff;"><em><project-name>@<yourdomain></em></span>. Die andere standard Vorgehensweise ist die Verwendung eines erzeugten <a class="external" href="http://en.wikipedia.org/wiki/Uuid">UUID</a>-Strings, welcher sehr unwahrscheinlich duppliziert ist. UNIX-basierte Systeme haben ein Kommandozeilenprogramm mit dem Namen <em>uuidgen </em>das diese UUID`S erzeugt. Auch gibt es herunterladbare Anwendungen für alle Plattformen die diese gnerieren. Die umschließenden Klammern sind nur ein Teil der Notation und hierbei handelt es sich nur um die gängige Praxis. Solange Ihre ID etwas eindeutiges hat, ist es OK diese in irgendeiner Form zu verwenden.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><em:name>XUL School Hello World</em:name> +<em:description>Welcome to XUL School!</em:description> +<em:version>0.1</em:version> +<em:creator>Appcoast</em:creator> +<span class="code-comment"><em:homepageURL>https://developer.mozilla.org/en-US/docs/XUL_School</em:homepageURL></span></pre> + +<p><span class="code-comment">Dies sind die Informationen die angezeigt werden bevor und nachdem die Erweiterung installiert ist, die Sie im Add-on Manager sehen können. Es können viele weitere Tags für Beteiligte und Übersetzer hinzugefügt werden.</span> Die <a href="/en-US/docs/Install_Manifests" title="en/Install Manifests">vollständige Spezifikation</a> der install.rdf Datei beinhaltet alle Details.</p> + +<p>Seit Erweiterungen in mehrere Sprachen übersetzt werden können, ist es oft notwendig die Erweiterungsbeschreibung zu übersetzen, oder sogar deren Namen. Eine lokal begrenzte Beschreibung und Name kann mit dem folgenden Code hinzugefügt werden.</p> +</div> +</div> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><em:localized> + <Description> + <em:locale>es-ES</em:locale> + <em:name>XUL School Hola Mundo</em:name> + <em:description>Bienvenido a XUL School!</em:description> + </Description> +</em:localized></pre> +</div> +</div> + +<p>Der es-Es lokale String bedeutet das dies die spanische (es) lokalisierung für Spanien (ES) ist. Sie können soviele <em><em:localized> </em>Sektionen hinzufügen wie Sie benötigen. Für Friefox 2, ist die lokaliesierungs Datei <a href="/en-US/docs/Localizing_extension_descriptions#Localizing_before_Gecko_1.9">etwas komplizierter</a>. Wir werden im weiteren die lokalisierung in diesem Kapitel besprechen.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><em:type>2</em:type></pre> +</div> +</div> + +<p>Dies bestimmt, dass das Add-on als eine Erweiterung installiert wird. Sie können die verschieden möglichen Typen in der <a href="/en-US/docs/Install_Manifests#type">install.rdf Spezifikation</a> nachlesen.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><em:targetApplication> + <Description> + <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> + <em:minVersion>4.0</em:minVersion> + <em:maxVersion>10.*</em:maxVersion> + </Description> +</em:targetApplication> +</pre> +</div> +</div> + +<p>Dieser Knoten spezifiziert die Zielanwendung und die Zielversion für die Erweiterung, in der Regel Firefox von Version 4 bis zu Version 10. Die UUID ist die eindeutige ID von Firefox. Ander Mozilla und Mozillabasierte Anwendenungen wie z.B. Thunderbirf und Seamonkey besitzen ihre eigene. Es ist möglich eine Erweiterung zu besitzen die auf mehreren Anwendungen und Versionen arbeitet. Als Beispiel , wenn Sie eine Firefox-Erweiterung entwickeln, wird es in der Regel wenig Aufwand erfordern diese zu SeaMonkey zu portieren, welches ähnliche Features und Benutzeroberflächen besitzt.</p> + +<p>Die min und max Version Angabe spezifiziert den Versionbereich in dem die Erweiterung installiert werden kann. Hier gibt es mehr Informationen über das <a href="/en-US/docs/Toolkit_version_format" title="en/Toolkit version format">Versionsformat.</a> Wenn die Anwendung nicht mit dem Versionsbereich übereinstimmt, wird es Ihnen nicht erlaubt sein die Anwendung zu installieren, oder die Erweiterung wird mit einem gesetzten deaktiviert Status installiert. Benutzer können Versionsüberprüfungen über die Einstellungen deaktivieren, oder durch die Installation von Add-on`s wie den <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/15003" title="https://addons.mozilla.org/en-US/firefox/addon/15003">Add-on Compatibility Reporter</a>. Mit Anfang des Firefox 11, werden Add-on`s standardmäßig als kompatiel betrachtet und Firefox wird den Versionsbereich weitesgehend ignorieren. Das Testen Ihrer Add-on`s auf allen Firefoxversionen ist immer empfehlenswert.</p> + +<p>Diese Informationen werden von Firefox und anderen Mozillaanwendungen benötigt um ein Add-on zu installieren. Jeder Fehler oder fehlende Informationen werden den Installationsprozess zum Scheitern bringen, oder die Erweiterung wird mit einem gesetzten deaktvitiert Status installiert.</p> + +<h2 id="The_chrome.manifest_File">The chrome.manifest File</h2> + +<blockquote> +<p><span style="color: #0000ff;">Chrome is the set of user interface elements of the application window that are outside of a window's content area.</span> Toolbars, menu bars, progress bars, and window title bars are all examples of elements that are typically part of the chrome.</p> +</blockquote> + +<p>Auszug aus der <a href="/en-US/docs/Chrome_Registration" title="en/Chrome Registration">Chrome Registration</a>.</p> + +<p>Mit anderen Worten, Chrome ist alles was Sie im Firefox sehen. Alle Firefoxfenster können betrachtet werden als Zusammensetzung zweier Teilbereiche: (1) Chrome und (2) ein möglicher Inhaltsbereich, wie das das in Firefox die Anzeige von Webseiten übernimmt. Fenster wie das Downloadfenster sind ausschließlich Chrome. Der Großteil des Programmcodes einer Erweiterung liegt im Chromeordner, wie bei dem Hello World Beispiel.</p> + +<p>Wie wir in der Ordnerstruktur der entpackten Erweiterung gesehen haben, Chrome ist zusammengesetzt aus drei Teilbereichen: <span style="color: #0000ff;">content</span>, <span style="color: #0000ff;">locale</span> und <span style="color: #0000ff;">skin</span>. Diese drei sind notwendig für die meisten Erweiterungen. Wenn wir die <em>chrome.manifest</em>-Datei erneut öffnen (nochmals jeder Texteditor kann hierfür verwendet werden), werden wir diese drei angesprochenen Teilbereiche erkennen können.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java">content xulschoolhello content/ +skin xulschoolhello classic/1.0 skin/ +locale xulschoolhello en-US locale/en-US/ +</pre> +</div> +</div> + +<p><span style="color: #0000ff;">Die <em>chrome.manifest</em> Datei lässt Firefox wissen, wo es nach den Chromedateien zu suchen hat.</span> Der Text ist formatiert so das er dem Aussehen einer Tabelle gleicht, aber dies ist nicht notwendig. Der Parser ignoriert aufeinanderfolgende Leerzeichen.</p> + +<p>Das erste Wort in einer Zeile teilt Firefox mit, was angegeben ist (content, skin, locale, oder weiter Angaben, die später erwähnt werden). Das zweite ist der Paketname, was wir demnächst erklären werden.</p> + +<p>Darstellungs und lokale Packete besitzen einen dritten Wert, um zu spezifizieren welche lokale oder welche Darstellung sie erweitern. Es können mehrere Darstellungs und lokale Einträge für unterschiedliche Darstellung und lokalisierungs Variablen eingetragen werden. Der häufigste Fall ist es einen Darstellungeintrag für die gloabe Darstellung zu haben , <em>classic/1.0</em>, und mehrere lokale Einträge, einen für jede Übersetzung. Am Ende wird eine Ortsvariable spezifizerit.</p> + +<p>Es gibt einige zusätzliche Optionen, die in die Einträge der <em>chrome.manifest</em> Datei eingefügt werden können. Diese sind auf der <a href="/en-US/docs/Chrome_Registration" title="en/Chrome Registration">Chrome Registration</a> Seite dokumentiert. Beachtenswert ist, wir können Einträge erstellen, die Betriebssystem spezifisch sind. Dies ist wichtig, weil das Aussehen des Browsers ist sehr unterschiedlich für jedes Betriebssystem. Wenn es notwendig ist, dass Ihre Erweiterung auf verschieden Systemen unterschiedlich aussieht, könnten wir das Manifest so anpassen, dass es aussieht wie hier:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java">content xulschoolhello content/ +skin xulschoolhello classic/1.0 skin/unix/ +skin xulschoolhello classic/1.0 skin/mac/ os=Darwin +skin xulschoolhello classic/1.0 skin/win/ os=WinNT +locale xulschoolhello en-US locale/en-US/ +</pre> +</div> +</div> + +<p>Über diesen Weg können wir unterschiedliche Darstellungen für Windows, Mac OS X und Linux (plus anderer unix-ähnlichen Systemen) haben, die jede von ihnen in einer seperaten Ordnerstruktur definiert ist. Seit die meisten anderen System Unix-basiert sind, ist die "unix" Darstellung der Standard ohne weitere Marker.</p> + +<h2 id="Chrome">Chrome</h2> + +<p>Wie zuvor angesprochen Chrome besteht aus 3 Teilbereichen: content, locale und skin. Der content-Bereich ist der wichtigste Bereich, beinhaltet die Benutzerschnittstelle (XUL) und Skriptdateien (JA). Der Darstellungsbereich beinhaltet die Dateien die das Meiste des Aussehen und Verhalten der UI (mit Einsatz von CSS und Bildern, wie bei Webseiten) definieren. Abschließend enthält der locale Bereich den gesamten in der Erweiterung verwendeten Text, in DTD und die Einstellungsdateien. Diese Aufteilung erlaubt es anderenen Entwicklern Themes zu entwickeln die die Darstellung ersetzen und Übersetzer für andere Sprachen, all das ohne das eine Änderung der Erweiterung oder des Programmcodes notwendig wäre. Dies gibt Firefox Erweiterungen eine großartige Flexibiltät.</p> + +<p>Chrome Dateien werden über das Chrome-Protokoll zugewiesen. So sieht eine chrome URI aus:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java">chrome:<span class="code-comment">//packagename/section/path/to/file</span></pre> + +<p><span class="code-comment">Wenn ich beispielsweise Zugriff auf die Datei</span> <em>browserOverlay.xul </em>haben möchte, wäre die Chrome URI <em>chrome://xulschoolhello/content/browserOverlay.xul</em>.</p> +</div> +</div> + +<p>Wenn Sie zu viele Dateien im content Bereich habe und Sie diese in Subordner organisieren wollen, gibt es nichts was Sie im <em>chrome.manifest</em> ändern müssen, alles was Sie benötigen ist den richtigen Pfad nach <em>content</em> in die URI hinzuzufügen.</p> + +<p>Darstellungs- und Regions-Dateien arbeiten in der selben Art und Weise, und Sie müssen keine Darstellungs- oder Regions -Namen festleggen. Also um auf die DTD-Datei in der Hello Wolrd Erweiterung zuzugreifen, ist der Chromepfad <em>chrome://xulschoolhello/locale/browserOverlay.dtd</em>. Firefox was anschließend nach welcher Region es abrufen muss.</p> + +<p>Hier ist ein interesantes Experiment. Öffne ein neues Firefox Tab, tippe <em>chrome://mozapps/content/downloads/downloads.xul </em>in deine Adressleiste und drücke Enter. Überrascht? Sie haben soeben das Downloadfenster in einem Firefoxtab geöffnet! Sie können auf jede Chromedatei zugreifen indem Sie die URI in die Addressleite eintippen. Dies kann nützlich werden, wenn du Skriptdatei untersuchen möchtest, die ein Teil von Firefox, anderen Erweiterungen oder deine eigene sind. Die meisten dieser Dateien werden als Textdatei geöffnet, mit der Ausnahme von XUL-Dateien, diese werden ausgeführt und so dargestellt wie Sie diese normalerweise in einem Fenster sehen würden.</p> + +<h3 id="Content">Content</h3> + +<p>Es gibt 2 Dateien im content Verzeichnis. Sehen wir uns zuerst die XUL-Datei an.</p> + +<p>Bei XUL-Dateien handelt es sich um XML-Dateien, die Benutzeroberflächenelemente in Firefox und Firefoxerweiterungen definieren. XUL wurde von HTML inspiriert, von daher werden Sie viele Ähnlichkeiten zwischen den beiden feststellen. Wie auch immer, XUL ist auch eine Verbesserung gegenüber HTML, die aus vielen Fehlern gelernt hat, die bei der Entwickliung von HTML gemacht wurden. XUL erlaubt Ihnen reichere und interaktivere Oberflächen zu erstellen, als mit HTML, oder zumindest macht XUL es einfacher.</p> + +<p>XUL-Dateien defineren in der Regel eine von zwei Dingen: Fenster oder Overlays. Die Datei die Sie zuvor geöffnet haben, <em>downloads.xul</em>, beinhaltet den Programmcode der das Downloadfenster definiert. Die XUL-Datei die in der Hello World Erweiterung eingeschlossen ist, ist eine Overlay. Ein Overlay erweitert ein vorhandes Fenster, fügt diesem neue Elemente hinzu oder ersetzt einige der Elemente in ihm. Die Zeile die wir in der <em>chrome.manifest</em> Datei übersprungen haben gibt an das es sich bei dieser XUL-Datei um ein Overlay für das Browserhauptfenster handelt:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java">overlay chrome:<span class="code-comment">//browser/content/browser.xul chrome://xulschoolhello/content/browserOverlay.xul</span></pre> + +<p><span class="code-comment">Durch diese Zeile weiß Firefox, dass es die Inhalte aus </span><em>browserOverlay.xul </em>verwenden muss und diese über das Browserhauptfenster, <em>browser.xul </em>legen muss. Sie können für jedes Fenster oder Dialog in Firefox ein Overlay festlegen, aber ein Overlay über das Browserhauptfenster zu legen ist der mit Abstand häufigste Fall.</p> + +<p>Jetzt nehme wir einen Blick auf unsere XUL-Datei. Wir werden die ersten paar Zeilen überspringen, weil diese sich auf die Darstellung und die Region beziehen, diese werden wir im späteren behandeln.</p> +</div> +</div> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><overlay id="xulschoolhello-browser-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"></pre> +</div> +</div> + +<p>Das Wurzelelement in dieser Datei ist ein <em>Overlay</em>. Andere XUL-Dokumente nutzen den window oder dialog Tag. Das Element besitzt einie eindeutige ID, welche Sie bei den meisten Element in Ihrer XUL vergeben sollten. Das zweite Attribut ist der Namensraum, diesen sollten Sie immer in Ihrem XUL-Wurzelelment definieren. Es sagt aus, dass dieser Knoten und alle Kindknotten XUL-Element sind. Sie brauchen nur änderungen an der Namensraum deklaration vornehmen, wenn Sie verschiedene Arten eines Inhalts in dem gleichen Dokument kombinieren, wie z.B. XUL mit HTML oder SVG.</p> + +<div class="panel" style="border-width: 1px;"> +<div class="panelContent"> +<div class="note">You may have noticed the naming we use on several places, such as the id <em>xulschoolhello-browser-overlay</em>. This is the namespacing standard that we use to avoid conflicts with Firefox and other extensions, as well as making some development tasks easier. We namespace all ids and style classes in overlay elements because they will be mixed with other elements in the main browser window. If we used generic ids like <em>container</em> or <em>input</em>, they will likely conflict with ids used within Firefox, or with ids from other extension overlays. Using namespaces minimizes compatibility problems with other extensions. We use camel casing for file names, and all lower case with dashes for element ids and CSS style class names, but you're free to use your own system.</div> +</div> +</div> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><script type=<span class="code-quote">"application/x-javascript"</span> src=<span class="code-quote">"chrome:<span class="code-comment">//xulschoolhello/content/browserOverlay.js"</span> /></span></pre> +</div> +</div> + +<p>Wie in HTML, wird hierdurch eine JavaScript-Datei eingebunden. Sie können soviele Skriptelement in ein XUL-Dokumente einbinden wie Sie benötigen. Wir werden uns diesen Programmcode später noch ansehen.</p> + +<div class="panel" style="border-width: 1px;"> +<div class="panelContent"> +<div class="note">You also probably noticed how we format our code, and wonder about the rules we follow. Our general rule on line length is not having lines longer than 80 characters. This feels very restrictive, specially with XML files, but the number was chosen to allow pretty much any text editor to handle these files easily. Even old command line editors work well with files that cut their lines at 80 characters. The tabulation is very straightforward: 2 blank space indents. We never use actual tab characters, with the exception of Makefiles, which will be covered later on. Most of our coding standards are based on Mozilla's or other known and used standards.</div> +</div> +</div> + +<p>Wir werden etwas Programmcode übersprinder, der im Regionsbereich behandelt wird, um mit dem wichtigsten Bereich von content fortzufahren.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><menubar id="main-menubar"> + <menu id="xulschoolhello-hello-menu" label="&xulschoolhello.hello.label;" + accesskey="&xulschoolhello.helloMenu.accesskey;" insertafter="helpMenu"> + <menupopup> + <menuitem id="xulschoolhello-hello-menu-item" + label="&xulschoolhello.hello.label;" + accesskey="&xulschoolhello.helloItem.accesskey;" + oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);" /> + </menupopup> + </menu> +</menubar> + +<vbox id="appmenuSecondaryPane"> + <menu id="xulschoolhello-hello-menu-2" label="&xulschoolhello.hello.label;" + accesskey="&xulschoolhello.helloMenu.accesskey;" + insertafter="appmenu_addons"> + <menupopup> + <menuitem id="xulschoolhello-hello-menu-item-2" + label="&xulschoolhello.hello.label;" + accesskey="&xulschoolhello.helloItem.accesskey;" + oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);" /> + </menupopup> + </menu> +</vbox> +</pre> +</div> +</div> + +<p>Das ist der Code, der das Hello World-Menü dem Browserfenster hinzufügt.</p> + +<p>Darin enthalten sind zwei ähnliche Codeblöcke, dass ist dadurch begründet das in modernen Versionen von Firefox, insbesondere unter Windows, ein einzelner Firefox Menübutton mit vereinfachten Menüoptionen, anstatt einer umfangreichen Menübar dargestellt wird. Der zweite Codeblock bezieht sich auf alle üblichen Buttonprozesse; der erste Codeblock bezieht sich auf alle anderen Prozesse. Setze den Hacken Menüleiste unter dem Optionsmenü im Menübutton, um die Anzeige des klassischen Menüs unter Windows und einigen Linuxdistributionen zu aktivieren.</p> + +<p>Um diesen Code zu schreiben, benötigen wir etwas Wissen über den XUL-Code in <em>browser.xul</em>. Wir müssen wissen, dass die ID des rechten Fläche in dem undefinierten Menü <em>appmenuSecondaryPane</em> ist. Wir werden ein eigenes Menü hinzufügen und Firefox mitteilen dieses rechts nachdem Add-on-Element in die Fläche hinzuzufügen. Dies ist die Festlegung des Attributes:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java">insertafter=<span class="code-quote">"appmenu_addons"</span> +</pre> +</div> +</div> + +<p><em>appmenu_addons</em> ist die ID des Menüelements, dass mit dem Add-on-Menü im Hauptmenü in verbindung steht. Wir werden später sehen wir die Dinge wie die ID von Browserelementen ermitteln können, aber jetzt sehen wir uns die Elemente aus denen sich das Hello World-Menü zusammensetzt.</p> + +<p>Für das klassische Menü, fügen wir das Hello World-Menü rechts in das "Wurzelverzeichnis" der Menüs hinzu, so dass es sehr einfach zu finden ist, aber in der Praxis ist es nicht notwendig. Stellen Sie sich vor was passieren würde, wenn alle Erweiterungen ein Menü im oberen Menü hinzufügen würden; ein paar Erweiterungen zu haben würde es dann außen lassen wie die Kontrollanzeige eines Flugzeuges, voller Knöpfe und Schalter. Im Falle des zusammengesetzen Menüs, sind die Dinge aufgrund von zu wenigen Optionen etwas mehr kompliziert. Wenn dein Menüitem in den Webentwicklerbereich passt empfiehlt es sich es dort zu platzieren. Andererweise ist das Wurzelmenü möglicherweise der einzige sinnvolle Ort.</p> + +<p>Ein empfehlenswerter Ort für Menüs in dem Klassikmenü ist unter dem Extrasmenü, von daher sollte der Code in etwa so aussehen:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><menupopup id=<span class="code-quote">"menu_ToolsPopup"</span>> + <menu id=<span class="code-quote">"xulschoolhello-hello-menu"</span> label=<span class="code-quote">"&</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello.label;"</span> + accesskey=<span class="code-quote">"&</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.helloMenu.accesskey;"</span> + insertbefore=<span class="code-quote">"</span>devToolsEndSeparator<span class="code-quote">"</span>> + <menupopup> + <menuitem id=<span class="code-quote">"</span><span class="code-quote">xulschoolhello</span><span class="code-quote">-hello-menu-item" + </span> label=<span class="code-quote">"&</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello.label;"</span> + accesskey=<span class="code-quote">"&</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.helloItem.accesskey;"</span> + oncommand=<span class="code-quote">"XULSchoolChrome.BrowserOverlay.sayHello(event);"</span> /> + </menupopup> + </menu> +</menupopup> +</pre> +</div> +</div> + +<p>Wir legen das Menü über das tieferlegende in dem XUL-Baum, aber das spielt keine Rolle weil alles was wir benötigen ist die ID des Elements das wir Überblenden wollen. In diesem Fall ist dies das Menüpopup-Element das sich innerhalb des Extras. Das<em>insertbefore</em> Attribut teilt Firefox mit das Menü im unteren Bereich des Entwicklerextrasbereich hinzuzufügen, über den abschließenden Seperatoren. Wir werden im späteren des Tutorials über Menüs sprechen.</p> + +<p>Nehmen wir jetzt einen Blick auf den eigentlichen Code:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java">oncommand=<span class="code-quote">"XULSchoolChrome.BrowserOverlay.sayHello(event);"</span> +</pre> +</div> +</div> + +<p>Dieses Attribute beschreibt einen Eventhandler. . Das <em>command</em> event ist das am meisten genutzte in Firefox, da es mit den Hauptaktionen der meisten UI-Elemente kommuniziert. Der Nutzen der Attribute ist der JacaScript-Code der eine Funktion aufruft. Diese Funktion ist in er der JS-Datei definiert, das mit Skript-Tag eingebunden wird. Die JS-Funktion wird aufgerufen wenn der Benutzer auf einen Menüeintrag im Hello World-Menü aufruft. Alle Eventhandler definieren ein spezielles Objekt namens <em>event</em>, welches normalerweise ausreicht um ein Argument an die Funktion zu übergeben. Eventhandler werden im späteren genauer definiert.</p> + +<p>Nun werfen wir einen Blick in die JavaScript-Datei und und sehen uns an wenn das Event ausgeführt wird.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="brush: js">/** + * XULSchoolChrome namespace. + */ +if ("undefined" == typeof(XULSchoolChrome)) { + var XULSchoolChrome = {}; +};</pre> +</div> +</div> + +<p>Der <em>XULSchoolChrome</em> Namensraum ist definiert. Alle Objekte und Variablen die wir i JavaScript definieren sind global, das bedeutet das Skripte in Firefox und andere Erweiterungen können diese sehen und mit Ihnen interagieren. Dies bedeudet also dass wenn wir ein Objekt <em>MenuHandler definieren </em>oder einige generische Namen, ist es wahrscheinlich das es mit einem extierenden Objekt in Konflikt steht. Was wir hier machen ist ein einzelnes globales Objekt zu definieren: <em>XULSchoolChrome</em>. Nun wissen dass alle unsere Objekte sind innerhalb dieses Objekts, welches unwahrscheinlich duplliziert oder überschrieben wird von anderen Erweiterungen.</p> + +<p>Sie können hier mehr über den <a href="/en-US/docs/JavaScript/Reference/Operators/typeof" title="en/Core JavaScript 1.5 Reference/Operators/Special Operators/typeof Operator"><span class="external">typeof operator</span></a> erfahren. Wenn Sie nicht mit JavaScript oder der besonderen Syntax, ein Objekt mit {} zu intialisieren ist identisch mit es mit <em>new Object() </em>zu intialisieren.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="brush: js">/** + * Controls the browser overlay <span class="code-keyword">for</span> the Hello World extension. + */ +XULSchoolChrome.BrowserOverlay = {</pre> +</div> +</div> + +<p>Sclussendlich ist <em>BrowserOverlay </em>unser Objekt. Ein Objekt in solcher langen und ausführlichen Art und Weise zu benennen und refernzieren kann sich am Anfang unkomfirtabel anfühlen, aber es ist den Aufwand wert.</p> + +<div class="panel" style="border-width: 1px;"> +<div class="panelContent"> +<div class="note">We use <a class="external" href="http://java.sun.com/j2se/javadoc/writingdoccomments/index.html">Javadoc</a> style comments on all namespaces, objects and object members. This is a similar standard to the one used in Mozilla code, and some tools can generate documentation automatically from Javadoc.</div> +</div> +</div> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="brush: js">sayHello : function(aEvent) { + let stringBundle = document.getElementById("xulschoolhello-string-bundle"); + let message = stringBundle.getString("xulschoolhello.greeting.label"); + + window.alert(message); +}</pre> +</div> +</div> + +<p>Und Schlussendlich ist dass unsere Funktionsdeklaration. Drei Zeilen sind alles was wir benötigen. Die erste Zeile in dem Body der Funktion deklariert eine Variable die das <a href="/en-US/docs/XUL/stringbundle" title="en/XUL/stringBundle">stringbundle</a>-Element beinhaltet, das im Overlay definiert ist. Die Variable ist deklariert durch die Verwendung von <em>let, </em>dass <em>var </em>ähnlich ist aber einen enger begrenzten Bereich besitzt. Hier können Sie mehr über die <a href="/en-US/docs/JavaScript/Reference/Statements/let" title="let"><span class="external">let deklaration </span></a>nachlesen.</p> + +<p>WIe auch im regulären JS, können wir das <a href="/en-US/docs/DOM" title="en/DOM"><span class="external">DOM</span></a> (Document Object Model) nutzen um dass XUL-Dokument zu manipulieren.Als erstes bekommen wir eine referenze auf das <a href="/en-US/docs/XUL/stringbundle" title="en/XUL/stringbundle"><span class="external">stringbundle-Element</span></a> in dem Dokument. Dies ist ein spezielles Element das es uns erlaubt beschränkte Strings dynamisch zu erhalten, nur durch die bereitstellung eines "key`s" der Den String identifiziert. Das macht die zweite Zeile. Wir rufen die <a href="/en-US/docs/XUL/stringbundle#m-getString" title="en/XUL/stringbundle#m-getString">getString Methode</a> des bundle-Elements udn bekommen die begrenzte Meldung angeziegt. Anschließende rufen wir die <a href="/en-US/docs/DOM/window.alert" title="en/DOM/window.alert">window.alert</a>-Funktion auf, wie wir das auch in einem HTML-Dokument machen würden.</p> + +<h3 id="Locale">Locale</h3> + +<p>Es gibt zwei Arten von locale-Dateien: DTD und Einstellungen, und in diesem Beispiel werden wir beide benutzen. DTD ist der effizenteste Weg um Text in XUL anzuzeigen, von daher sollten Sie es benutzen wann immer es möglich ist. Es ist etwas unflexibel, so kann es nicht für dynamisch erzeugten Text verwendet werden, folglich gibt es eine Notwendigkeit um auf regionale Strings zuzugreifen.</p> + +<p>Werfen wir einen Blick zurück auf den Menücode, dort haben Sie unter Umständen einge Attribute wie diese bemerkt:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java">label=<span class="code-quote">"&xulschoolhello.hello.label;"</span> accesskey=<span class="code-quote">"&xulschoolhello.helloItem.accesskey;"</span></pre> +</div> +</div> + +<p>Diese Attribute definieren den Text den Sie in den Menüs sehen, es sind String-keys die in unserer DTD-Datei definiert sind, <em>browserOverlay.dtd</em>. Die DTD-Datei wurd mit folgendem Code in die XUL-Datei eingefügt:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><!DOCTYPE overlay SYSTEM "chrome://xulschoolhello/locale/browserOverlay.dtd" ></pre> +</div> +</div> + +<p>Und in der DTD-Datei können Sie die Zuordnung von Keys und regionalen Strings sehen:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><!ENTITY xulschoolhello.hello.label <span class="code-quote">"Hello World!"</span>> +<!ENTITY xulschoolhello.helloMenu.accesskey <span class="code-quote">"l"</span>> +<!ENTITY xulschoolhello.helloItem.accesskey <span class="code-quote">"H"</span>></pre> +</div> +</div> + +<p>Beachte das Sie in den XUL-Dateien den String mit & und ; umschließen, wohingegen sie in eriner DTD-Datei nur den Key spezifizieren. Sie erhalten womöglich sonderbare Fehlermeldungen oder Zuordnungen wenn Sie dass nicht beachten.</p> + +<p>Zugangs Key`s sind Shortcuts die es Ihnen erlauben, nur mit der Tastatur schnell durch ein Menü zu navigieren. Sie sind auch der einzige Weg durch die Menüs zu navigieren für Menschen die eine <a href="http://www.dict.cc/deutsch-englisch/Barrierefreiheit.html">Barrierefreiheit</a> benötigen, durch teilweise oder vollkommene Blindheit oder durch körperliche Eingeschränktheit die, dass nutzen einer Maus sehr schwierig oder unmöglich machen. Sie können die Zugangs-Key`s unter Windows leicht erkennen, weil der Buchstabe der mit dem Zugangs-Key in Verbindung steht unterstrichen ist, wie in der folgenden Abbildung.</p> + +<div> +<p><img alt="" class="internal" src="/@api/deki/files/4226/=accesskeys.png" style="width: 167px; height: 58px;"></p> +</div> + +<p>DIe meisten Benutzeroberflächen Schaltflächen besitzen ein <em>accesskey</em> Atribut, und Sie sollten es benutzen. Der Wert eines Zugangs-Key`s ist lokal beschränkt, weil er einem Buchstaben im Labeltext entsprechen soll. Sie sollten darauf achten es zu vermeiden Zugangs-Key´s zu wiederholen. Als Beispiel, innerhalb eines Menüs oder Untermenüs sollten Zugangs-Key`s nicht wiederholt werden. In einem Fenster müssen Sie noch vorsichtiger sein bei der Auswahl von Zugang-Key`s weil es dort normalerweise eine größere Anzahl an Schaltflächen gibt. Besonders vorsichtig müssen Sie sein wenn Sie Zugangs-Key`s für eine Overlay auswahlen. In unserem Fall, können wir den Buchstaben "H" nicht als einen Zugangs-Key im Hauptmenü verwenden, weil dieser sich mit dem Zugangs-Key den Hilfemenüs überschneiden würde. Das selbe gilt für das "W" und das Fenstermenü unter Mac OS. Von daher haben wir den Buchstaben "l" zugewiesen.</p> + +<p>DTD-Strings werden aufgelöst und gesetzt wenn das Dokument lädt. Wenn Sie den <em>label-Attribute </em>Wert für das Hello World-Menü mit hilfe von DOM abfragen, erhalten Sie den begrenzten String und nicht den String-Key. Sie können nicht dynamischen den Wert von Attributen mit einem neuen DTD-Schlüssel ändern, Sie müssen den neuen Wert direkt setzen.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="brush: js">let helloItem = document.getElementById(<span class="code-quote">"xulschoolhello-hello-menu-item"</span>); + +<span class="code-comment">// The alert will say <span class="code-quote">"Hello World!"</span> +</span>alert(helloItem.getAttribute(<span class="code-quote">"label"</span>)); +<span class="code-comment">// Wrong +</span>helloItem.setAttribute(<span class="code-quote">"label"</span>, <span class="code-quote">"&</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello2.label;"</span>); +<span class="code-comment">// Better +</span>helloItem.setAttribute(<span class="code-quote">"label"</span>, <span class="code-quote">"Alternate message"</span>); +<span class="code-comment">// Right! +</span>helloItem.setAttribute(<span class="code-quote">"label"</span>, someStringBundle.getString(<span class="code-quote">"</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello2.label"</span>));</pre> +</div> +</div> + +<p>Das ist der Grund warum DTD-String keine Lösung für alle beschränkten Fälle sind, and der Grund warum wir oft Stringpakete in XUL-Dateien einbinden müssen.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><stringbundleset id="stringbundleset"> + <stringbundle id="xulschoolhello-string-bundle" + src="chrome://xulschoolhello/locale/browserOverlay.properties" /> +</stringbundleset></pre> +</div> +</div> + +<p>Das <a href="/en-US/docs/XUL/stringbundleset" title="en/XUL/stringbundleset">stringbundleset</a>-Element ist nur ein Container für <a href="/en-US/docs/XUL/stringbundle" title="en/XUL/stringbundle">stringbundle</a>-Elemente. Hiervon sollte eines pro Dokument geben, dies ist auch der Grund warum wir das <em>stringbundleset</em> in der browser.xul überschreiben, daher die sehr generische ID. Wir fügen keine <em>insertbefore</em> oder <em>insertafter</em> Attribute ein weil die Reihenfolge der Stringpakete keine Rolle spielt. Das Element ist vollständig unsichtbar. Wenn Sie keine Ordnungsattribute in ein Overlay-Element einfügen, wird Firefox Ihr Element als letztes Kindelement des Elternelements betrachten.</p> + +<p>Alles was Sie für das Stringpaket benötigen ist eine ID (um später auf das Element zugreifen zu können und den Chrome-Pfad der Einstellungsdatei. Und natürlich die Einstellungsdatei:</p> + +<pre class="code-java language-html"><code class="language-html">xulshoolhello.greeting.label = Hi! How are you?</code></pre> + +<p>Die Leerzeichen vor und nach dem Gleichheitszeichen werden ignoriert. Genauso wie in der install.rdf, Kommentare können durch das "#" Zeichen am Anfang einer zeile hinzugefügt werden. Leere Zeilen werden ebenso ignoriert.</p> + +<p>Sei werden oft einen dynamischen Inhalt als Teil eines begrenzten Strings einbinden wollen, wie wenn Sie den Nutzer über den Status der Erweiterung informieren wollen. Als Beispiel: "Es wurden 5 der Suchanfrage entprechende Wörter gefunden". Ihre erste Idee ist möglicherweise einfach Strings zu verketten und eine "Found" Eigenschaft und eine weitere "words matching..." Eigenschaft zu verwenden. Dies ist keine Gute Idee. Sie behindert nur in einem großen Maße die Arbeit von Übersetzern und Grammatikregeln der verschieden Sprachen ändern möglicherweise den Aufbau des Satzes. Aus diesem Grund ist es besser Parameter in den Eienschaften zu verwenden.</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java">xulshoolhello.search.label = Found %S words matching the search query!</pre> +</div> +</div> + +<p>Wenn Sie den <a href="/en-US/docs/XUL/stringbundle#m-getFormattedString" title="en/XUL/stringbundle#m-getFormattedString">getFormattedString</a> anstatt des <em>getString </em>verwenden um auf den begrenzten String zuzugreifen. Glücklicherweise müssen wir durch dass nicht mehrere Eigenschaften anlegen, hierdurch wird das Leben für Übersetzer einfacher. Sie können mehr über das in dem <a href="/en-US/docs/XUL_Tutorial/Property_Files#Text_Formatting" title="en/XUL Tutorial/Property Files#Text Formatting">Text Formatting Bereich</a> des XUL Tutorial nachlesen. Werfen Sie auch einen Blick auf die <a href="/en-US/docs/Localization_and_Plurals" title="en/Localization and Plurals">Plurals and Localization</a> Artikel, die die Lokalisierungsfunktionen behandeln und es Ihnen weiterhin erlauben das letzte Beispiel zu verbessern, um verschiedene Arten von Pluralformen zu verarbeiten die auch Sprachabhängig sind.</p> + +<h3 id="Skin">Skin</h3> + +<p>XUL zu gestalten ist dem gestalten von HTML sehr ähnlich. Wir werden uns einige Unterschiede ansehen wenn wir das XUL-Box-Modell und andere fortgeschritten Themen. Es gibt nicht viel was Sie in bei einem minimalen Menü und einer einfachen Warnmeldung gestalten können, da die Hello World ERweiterung nur eine leere CSS-Datei und eine vorgeschriebene globale Skin-Datei beinhaltet:</p> + +<div class="code panel" style="border-width: 1px;"> +<div class="codeContent panelContent"> +<pre class="code-java"><?xml-stylesheet type=<span class="code-quote">"text/css"</span> href=<span class="code-quote">"chrome:<span class="code-comment">//global/skin/"</span> ?> +</span><?xml-stylesheet type=<span class="code-quote">"text/css"</span> + href=<span class="code-quote">"chrome:<span class="code-comment">//xulschoolhello/skin/browserOverlay.css"</span> ?></span></pre> +</div> +</div> + +<p>Die globale Skin-CSS-Datei enthält alle standard Styles für alle XUL-Elmente und Fenster. Wenn Sie vergessen diese Datei in ein XUL-Fensterer einzubinden, führt das normalerweise zu intersanten und oft ungewohlten Ergebnissen. In unserem Fall müssen wir diese nicht einbinden, seit wir die Hauptbrowser-XUL-Datei überblenden und diese bindet bereits diese globale CSS-Datei ein. Auf jeden Fall ist es besser sie immer einzubinden. Auf diesem Weg ist es schwieriger Fehler durch ein nicht einbinden zu vermeiden. Sie können den Chrome-Pfad in der Adressleiste eingeben und überprüfen wenn Sie sich unsicher sind.</p> + +<p>Dies behandelt alle Dateien der Hello World-Erweiterung. Nun sollten Sie eine Idee haben welche in die Erweiterungsentwicklung involviert sind, nun steigen wir direkt ein und stzen eine Eintwicklungumgebung auf. Aber als erstes eine kleine Übung.</p> + +<p>This covers all of the files in the Hello World extension. Now you should have an idea of the basics involved in extension development, so now we'll jump right in and set up a development environment. But first, a little exercise.</p> + +<h2 id="Übung">Übung</h2> + +<p>Mache die folgenden Änderungen in der Beispielerweiterung:</p> + +<ul> + <li>Passe die Willkommensmeldung die im Benachrichtigungsfenster angezeigt wird an.</li> + <li>Verschiebe das Hello World -menü in das Extras -menü.</li> +</ul> + +<p>Packe die XPI neu. Führe unter Linux oder Mac OS X folgendes Kommando innerhalb des Wurzelverzeichnisses der Erweiterung aus:</p> + +<pre>zip -r ../xulschoolhello2.xpi * +</pre> + +<p>Verwende unter Windows ein ZIP-Tool um alle Datei und Unterverzeichnisse innerhalb des Wurzelverzeichnisses der Erweiterung zu packen und setze die Dateierweiterung der Datei auf .xpi.</p> + +<p>Installiere die XPI neu. Sie können hierzu die XPI-Datei hierzu einfach in den Browser ziehen und diese wird lokal installiert.</p> + +<p>Teste es und überprüfe ob die Änderungen funktionieren. Wenn Sie auf Probleme während der Installation stoßen, ist es wahrscheinlich, dass Sie die XPI-Struktur nicht korrekt nachgebildet haben, möglicherweise durch das hinzufügen unnötiger Ordner.</p> + +<div class="note"><strong>Note:</strong> Packaging an extension is really just creating a ZIP archive of the contents of the main folder, then changing the filename extension to <code>.XPI</code>. Do <strong>not</strong> zip the containing folder, just its contents. The <code>content</code> folder, <code>chrome.manifest</code>, <code>install.rdf</code>, and other files and directories should be at the root level of your archive. If you zip the containing folder, your extension will not load.</div> + +<p>Beachte, dass das Extramenü standardmäßig in Firefox 4und höher, unter Windows und einige Linuxdistributionen versteckt ist. Setze einen Hacken im Optionsmenü unter dem Firefoxmenüknopf um es zu aktivieren.</p> + +<p>Nachdem Sie fertig sind, können Sie sich diese Refernzlösung ansehen: <a href="/@api/deki/files/5141/=xulschoolhello2.xpi" title="https://developer.mozilla.org/@api/deki/files/5141/=xulschoolhello2.xpi">Hello World 2</a>.</p> + +<p><img alt="" src="https://mdn.mozillademos.org/files/8423/menu_item%20-%20helloworld2.png"></p> + +<p>{{ PreviousNext("XUL_School/Getting_Started_with_Firefox_Extensions", "XUL_School/Setting_Up_a_Development_Environment") }}</p> + +<p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p> diff --git a/files/de/archive/mozilla/xul/school_tutorial/eine_entwicklungsumgebung_einrichten_environment/index.html b/files/de/archive/mozilla/xul/school_tutorial/eine_entwicklungsumgebung_einrichten_environment/index.html new file mode 100644 index 0000000000..1f4ea0ffbb --- /dev/null +++ b/files/de/archive/mozilla/xul/school_tutorial/eine_entwicklungsumgebung_einrichten_environment/index.html @@ -0,0 +1,161 @@ +--- +title: Eine Entwicklungsumgebung einrichten +slug: >- + Archive/Mozilla/XUL/School_tutorial/Eine_Entwicklungsumgebung_einrichten_Environment +translation_of: >- + Archive/Add-ons/Overlay_Extensions/XUL_School/Setting_Up_a_Development_Environment +--- +<p>{{ PreviousNext("XUL_School/The_Essentials_of_an_Extension", "XUL_School/Adding_menus_and_submenus") }}</p> +<h2 id="Eine_Entwicklungsumgebung_einrichten">Eine Entwicklungsumgebung einrichten</h2> +<p>Es gibt 3 Tools von denen wir denken das diese essentiell für eine effektive Add-on-Entwicklung sind (oder ehrlich gesagt für jede Art von Entwicklung): ein Quellcodeeditor, ein Versionskontrollsystem und eine Entwicklungsumgebung.</p> +<p>Im Bezug auf das Codeediting, es gibt keine offizelle Mozilla IDE. Mit anderen Worten, Erweiterungen benutzen die selben (oder ähnlichen) Sprachen die auch für die Webentwicklung genutzt werden, von daher könnnen die meisten Texteditoren und IDE`s eingesetzt werden. Die meisten XUL-Tools und Plugin`s die Sie Online finden werden sind lediglich Templates die die Ordnerstruktur füre das Projekt erzeugen, und das ist nicht viel Hilfe.</p> +<p>WIe empfehlen <a class="external" href="http://www.activestate.com/komodo_edit/" title="http://www.activestate.com/komodo_edit/">Komodo Edit</a>. Es ist kostenlos, OpenSource und Cross-Platform-Unabhängig. Es basiert auf der Mozilla XULRunner Platform, von daher unterstützt einige der Besonderheiten in der Firefoxerweiterungsentwicklung. Komodo Edit bietet eine Autovercollständigung für XUL-Tags und Attribute und es unterstützt Mozilla`s CSS-Erweiterungen (CSS-Werte und Einstellungen beginnen mit "-moz"). Es besitzt ein Add-on System ähnlich dem im Firefox, und es gibt einige Komodo-Erweiterungen die zusätzliche Hilfe bei der Erweiterungsentwicklung bieten. Das ist mehr als die meisten andern Editoren bieten, von daher empfehlen wir Ihnen ihm eine Chance zu geben. Alle unsere Beispiel wurden mit Komodo Edit erstellt, also wenn Sie eine .<em>kpf</em> oder <em>.komodoproject</em> fi Datei in einem Beispieldownload sehen ist das eine Komodoprojektdatei.</p> +<p><img alt="" height="479" src="https://mdn.mozillademos.org/files/8435/screenshot%20-%20komodo_edit.png" width="657"></p> +<p>Wir empfehlen <a href="http://git-scm.com/" title="http://git-scm.com/">Git</a> und <a href="https://github.com/" title="https://github.com/">GitHub</a> für die Versionskontrolle, aber jedes anständige <span class="st"><em><a href="http://en.wikipedia.org/wiki/Software_configuration_management" title="http://en.wikipedia.org/wiki/Software_configuration_management">Software-Configuration-Management</a></em></span> System kann hier eingesetzt werden.</p> +<p>Um XPI-Dateien zu packen, nutzen wir make. Wir haben <em>make</em> gewählt weil dieses System von Mozilla genutzt wird um Firefox zu bauen und es ist für alle Betriebssysteme verfügbar. <em>make</em> ist das Standard Tool in den meisten UNIX-basierten Systemen. Es kann unter Mac OS X als Teil von des XCode Tool-Paketes installiert werden und unter Windows mit <a class="external" href="http://www.cygwin.com/">cygwin</a>. In einer <em>cygwin</em>-Installation werden Sie explizit die <em>make</em> und <em>zip</em> utilities aus der langen Liste der Pakete auswählen müssen um diese herunterzuladen und installieren.</p> +<p>Sorgen Sie des weiteren dafür das <em>make</em> sich im ausführbaren Systempfad befindet. Nach der Einrichtung von <em>make</em>, sollten Sie in der Lage sein ein Kommandozeildenfenster zu öffnen, führen Sie "make-ver" aus, und Sie bekommen die installierte Version von <em>make</em> als Ausgabe.</p> +<p>Wir empfehlen Ihnen <em>make</em> auf Ihrem System einzurichten, da unsere Beispiele beinhalten alle notwendigen Dateien um die daraus entstehende XPI mit diesem Toolzu bauen und installieren. Es wird Ihnen einiges an Zeit für das packen ersparen. Oder Sie können ein vergleichbares System unter der Verwendung von Batch aufsetzen, machen Sie es wie auch immer Sie bevorzugen. Letztlich können Sie auch einfach jeden Zip oder Archivierungs Tool verwenden um den Inhalt des <em>src</em> Verzeichnisses zu komprimieren um ein identisches Ergebniss zu ereichen.</p> +<h2 id="Build_system">Build system</h2> +<p>Beginnen wir mit dem Herunterladen des Projekts mit dem die zweite Version von Hello World aufgebaut wurde, aus der Übung der letzten Lektion</p> +<p><a href="/@api/deki/files/5142/=HelloWorld2.zip" title="https://developer.mozilla.org/@api/deki/files/5142/=HelloWorld2.zip">Hello World 2 Project</a>.</p> +<p>Entpacken die Datei wohin Sie wollen. Innerhalb des <em>HelloWorld2</em> Verzeichnisses weden Sie zwei Verzeichnisse sehen: <em>bin</em> und <em>src</em>. Das <em>bin</em> Verzeichnis sollte leer sein. Dort werden alle enstehenden build-Dateien erstellt und dort werden Sie die Erweiterungs XPI-Datei finden wenn sie erstellt wurde.</p> +<p>Öffnen Sie die Projektdatei (<em>HelloWorld2.komodoproject</em>) in the <em>src </em>Verzeichnis in Komodo Edit. In dem Projektreiter sollten Sie nun in der Lage sein die Verzeichnisstruktur innerhalbt des <em>src-</em>Verzeichnises sehen. Dies Struktur solle ihnen vertraut sein, da Sie beinahe identisch mit der ungepackten XPI von der vorherigen Lektion ist.</p> +<p>Die einzige bemwerkswerte Änderung ist eine Datei mit der Bezeichnung <em>Makefile</em> unter <em>src</em>. Das ist die Datei die <em>make</em> nutzt um die XPI zu erstellen. Sie sollten sich etwas Zeit nehmen um diese zu lesen und zu verstehen., oder zumindest die Teile untersuchen die Sie ändern müssen um Ihr projekt zu beginnen. Die <a class="external" href="http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html">GNU Make Manual</a> ist eine sehr gute Refernz um sich mit <em>make</em> und der <em>Makefile</em>-Datei vertraut zu machen.</p> +<p>In den meisten Fällen müssen Sie nur ein paar der ersten Zeilen in der <em>Makefile</em>-Datei ändern. Diese definieren den Erweiterungsnamen, die Erweiterungs ID (wie in <em>install.rdf</em> festgelegt) und der Name des profile-Verzeichnisses wohin die Erweiterung während der Entwicklung und des testens installiert wird. Mehr über das später.</p> +<p>Versuchen wir zuerst die XPI über die Kommandozeile zu erstellen. Öffnen Sie das Kommandozeilenprogramm in Ihrem System und naviergien Sie zum <em>src</em> Verzeichnis in Ihrem Projekt. Führen Sie folgenden Befehl aus:</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">make</pre> + </div> +</div> +<p>Das ist es. Wenn alles gut läuft sollten Sie eine Ausgabe wie diese sehen:</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">Creating XPI file. + adding: install.rdf (deflated 50%) + adding: chrome.manifest (deflated 50%) + adding: content/browserOverlay.js (deflated 42%) + adding: content/browserOverlay.xul (deflated 69%) + adding: skin/browserOverlay.css (stored 0%) + adding: locale/en-US/browserOverlay.dtd (deflated 52%) + adding: locale/en-US/browserOverlay.properties (stored 0%) +Creating XPI file. Done! + +Build finished successfully. +</pre> + </div> +</div> +<p>Wenn Sie das <em>bin</em> Verzeichnis untersuchen, sollten Sie die <em>xulschoolhello2.xpi</em> Datei sehen.</p> +<p>Wenn Sie <em>make </em>ausführen, werden Sie die letzte Zeilde des Erstellungsprozesses sehen. Das ist so weil <em>make</em> mitteilt das die Datei im <em>bin</em> Verzeichnis aktuell ist und es nichts zu machen gibt. Änderungen an der Quelldatei werden <em>make</em> dazu bringen die notwendigen Schritte erneut auszuführen um XPI erneut zu erstellen.</p> +<p>Sie können das <em>bin </em>Verzeichnis aufräumen indem Sie einfach den folgenden Befehl ausführen (nochmal, innerhalb des <em>src</em> Verzeichnises)<br> + </p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">make clean</pre> + </div> +</div> +<p>Sie können diese Befehle auch in Komodo ausführen. Klicken Sie auf Tools > Befehl ausführen... In das "Ausführen" Textfeld sollten Sie das eingeben:</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">bash -c <span class="code-quote">"make"</span></pre> + </div> +</div> +<p><img alt="" src="https://mdn.mozillademos.org/files/8439/screenshot%20-%20komodo_edit%20Run%20Command.png"></p> +<p>Oder ersetzen Sie "make" mit "make clean" für das aufräumen. Der "basc -c" Teil zwingt Komodo <em>bash</em> zu nutzen, welches aus einigen Gründen nicht als das Standard Kommandozeile gesetzt werden kann. Es ist nicht notwendig dies zu tun, aber es ist besser so das mit dem <em>make</em>-Befehl übereinstimmt den wir als nächstes sehen werden.</p> +<p>In em "Start in" Textfeld sollten Sie %p wählen (Verzeichnispfad des aktiven Projektes. Wenn Sie dieses Textfeld nicht sehen können dann klicken Sie auf den "More" Schalter. Sie besitzen auch die Möglichkeit den Befehl zu speichern, durch einen Klick auf das "Add to Toolbox" Auswahlfeld. Um die Toolbox zu sehen, klicke auf View > Tabs > Toolbox, über das Hauptmenü. Damit sollten Sie einen sehr einfachen Weg haben um Ihre XPI zu erstellen, indem Sie nur den Erstellungsbefehl Doppelklicken.</p> +<p>Wir können es sogar noch besser machen. Wenn Sie einmal Ihren Code testen und debuggen, werden Sie feststellen, dass das ständige erstellen und installieren einer XPI sehr ermüdend sein kann. Das ist der Gründ warum wir "make install" eingeführt haben. Dies funktioniert nur wenn die Erweiterung bereits in einem Firefoxprofil installiert ist. Wie in den vorgestellten Projekt, benötigen Sie die Add-on-ID und die gesetzte Profillokation die in der <em>Makefile</em>-Datei. Wir nutzen diese Informationen um den Installationspfad von der Erweiterung und überschreiben die installierten Dateien. Wenn Firefox geöffnet ist können Sie den "make install"-Befehl ausführen, Sie müssen Firefox neustarten um die Änderungen zu sehen. Es ist immernoch besser als die XPI andauernd neu zu installieren.</p> +<p>Möglicherweise möchten Sie die Profillokation in Ihrem <em>Makefile</em>-Datei ändern. . Um die Profilloaktion auf den richtigen Wert zu setzen, sollten Sie den Artikel <a class="external" href="http://support.mozilla.com/en-US/kb/Profiles">support article on profiles</a> auf der Mozilla Support Seite lesen. Auch werden wir später tiefer in dieses Thema eintauchen.</p> +<p>Um "make install" auf nicht WIndowssystemen einzusetzen, benötigen Sie einen extra Schritt. Der Installationsprozess benötigt eine Umgebungsvariable mit dem Namen <em>OSTYPE</em>, welche nicht exportiert wird. Lange Geschichte kurzer Sinn, über Kommandozeile müssen Sie folgendes ausführen:</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">export OSTYPE; make install</pre> + </div> +</div> +<p>Und in Komodo sollten Sie fogenden Befehl eingeben:</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">bash -c <span class="code-quote">"export OSTYPE; make install"</span></pre> + </div> +</div> +<p>Der <em>export</em>-Befehl wird nicht korrekt funktionieren wenn Sie nicht "bach-c" verwenden.</p> +<div class="note"> + The file <em>Makefile</em> specifies which profile folder the add-on will be reinstalled to. This is set in the <em>profile_dir</em> variable (set to "xulschool-dev" in this case). When creating a development profile for your add-on, make sure you choose an easy name for the profile folder, and set it in your <em>Makefile</em> in order to take advantage of the install command.</div> +<h3 id="Building_IDL_files">Building IDL files</h3> +<p>Einige Erweiterungen setzen die Entwicklung von XPCOM-Komponeten voraus um gewisse fortgeschritten Funktionen hinzuzufügen. Es gibt eine Lektion die für XPCOM in diesem Tutorial vorgesehen ist, aber wie gehen kaum auf den Einflussdie es auf die Entwicklung von Erweiterungen hat ein. Sie können diesen Teil überspringen und es als Refernenz zu nutzen wenn Sie XPCOM in Ihrem Projekt benötigen.</p> +<p>XPCOM Schnittstellen werden mit IDL-Dateien definiert. Das sind Textdateien die Attribute definieren und Methoden in einem oder mehren Schnittstellen. Diese IDL-Dateien werden in Binarydateien kompiliert und werden in die Erweiterung als XPT-Dateien eingebunden.</p> +<p>Um eine IDL-Dateizu XPT zu komplieren, benötigen Sie ein Kommandozeilen Tool, xpidl. Dieses Tool ist im Mozilla <a href="/en/Gecko_SDK" title="en/Gecko SDK">Gecko SDK</a> enthalen. Wenn Sie IDL`s kompilieren möchten, gehen Sie zur SDK-Seite und laden Sie eine kompilierte Version für Ihr System herunter. Beachte auch mögliche Anforderungen. Wenn Ihr System nicht bei den unterstützen Systemen aufgelistet ist, müssen Sie das SDK selbständig aus dem Mozilla Quellcode erstellen. Viel Glück damit.</p> +<p>Sie sollten auch Ihre Umgebung so aufbauen das die <em>xpidl.exe</em> (oder nur <em>xpidl</em> in anderen Systemen) dich in dem standardmäßige auführbaren Pfad befindet und fügen Sie auch eine Variable mit der Bennung Gecko_SDK hinzu, die auf Ihren SDK-Build verweist:</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">export GECKO_SDK=/path/to/your/sdk</pre> + </div> +</div> +<p>Ihr Buildsystem sollte dort darauf zugreifen. Um es in Komodo unter UNIX-basierten Systemen einsetzen zu können, fügen wir den Befehl in die<em> .bash_login</em>-Datei im Homeverzeichnis hinzu und wir passen den Befehl folgendermasen an.</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">bash -c <span class="code-quote">". ~/.bash_login; make"</span></pre> + </div> +</div> +<p>Ein Beispiel Projekt mit XPCOM-Komponeten ist in der XPCOM-Lektion enthalten. Dort wird auch XPCOM Erstellung mit C++ angesprochen, was sehr viel schwieriger ist.</p> +<h3 id="Signing">Signing</h3> +<p>Um zusätzliche Sicherheit für Ihre Nutzer bereitzustellen, können Sie sich entscheiden <a href="/en/Signing_an_extension" title="en/Signing an extension">eine Signature zu Ihrer Erweiterung hinzuzufügen</a>. Die Signatur verfiziert das Sie der Autor dieser Erweiterung sind und das kann nur gemacht werden wenn Sie ein gültiges Zertifikat einer vertrauswürdigen Zertifizierungsstelle besitzen.</p> +<p>Der einzige wahrnehmbare Unterschied für den Benutzer ist das der XPI-Installationsdialog mitteilen wird das die Erweiterung von Ihnen erstellt wurde, was den Dialog vertrauswürdiger macht. Es is nicht üblich Erweiterungen zu signieren weil die meisten Anwender der offizellen Add-on-Seite (<a class="link-https" href="https://addons.mozilla.org" title="https://addons.mozilla.org">AMO</a>) vertrauen anstatt sich auf die Erweiterungssignaturen zu verlassen. Auf der anderen Seite, ist es gängie Praxis für große Unternehmen ihre Erweiterungen zu signieren.</p> +<p>Sie werden einige libraries herunterladen müssen damit Sie in der Lage sind Ihre Erweiterungen zu signieren. Folgen Sie dieser <a href="/en/Signing_an_extension" title="en/Signing an extension"><span class="external">Anleitung</span></a> und fügen etwas ähnliches wie das der Makefile-Datei hinzu:</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java"># The directory where the signature sources are located. +signature_dir := signature + +# The signing key /certificate file. +signature_extra_files := $(build_dir)/META-INF/manifest.mf \ + $(build_dir)/META-INF/zigbert.sf +# The signing key /certificate file. +signature_rsa_file = $(build_dir)/META-INF/zigbert.rsa# The signing key /certificate file. +signature_files := $(signature_extra_files) \ + $(signature_rsa_file) + +$(signature_files): $(build_dir) $(xpi_built) + @signtool -d $(signature_dir) -k $(cert_name) \ + -p $(cert_password) $(build_dir)</pre> + </div> +</div> +<p>Behalten Sie im Hinterkopf ds Ihr Passwort sollte nicht in Ihren Makefile-Dateien enthalten sein und Sie müssen sehr vorsichtig mit den Zertifkatsinformationen sein. Idealerweise sollte das von einer Person erledigt werden und nur Kurz vor Abschluss des Releaseprozess erledigt werden. Sie sollten auch einen abweichenden <em>make</em>-Befehl hierfür haben, wie z.B. <em>make signed </em>um die signierten und unsignierten Entwicklungs builds unterscheiden zu können.</p> +<h2 id="Firefox_profile_management">Firefox profile management</h2> +<p>Es ist gute Entwicklungspraxis die Testumgebung von allem anderen zu seperieren. Sie wollen bestimmt nicht das unstabilen Erweiterungen Ihr Firefoxprofil zu schädigen und einen Datenverlust zu riskieren. Es ist viel Besser eine weitere Firefox-"Version" für die Tests zu haben. Hierfür gibt es de Firefoxprofile.</p> +<p>Sie können in dem Mozillasupport-Artikeln <a class="external" href="http://support.mozilla.com/en-US/kb/Managing+profiles">Managing Profiles</a> lernen wie man mehrere Firefoxprofile aufsetzt. Sie können soviele Profile anlegen wie Sie möchten. Sie können diese auch mit mehreren Firefoxinstallationen mischen. Als Beispiel, Sie möchten möglicherweise Ihre Erweiterungen in Firefox 3.5 und Firefox 3.6 oder in unterschiedlichen regionalen Versionen von Firefox testen. Sie können soviele Firefoxversionen installieren wie Sie möchten und die Profile und Versionen mischen.</p> +<p>Unter Windows und Linux ist es einfach Verknüpfungen für jedes angeleget Profil zu erstellen, unter der Verwendung der Befehle beschrieben in http://kb.mozillazine.org/Command_line_arguments ..</p> +<p>Für Mac OS X Entwickler, gibt es auch eine Möglichkeit "Verknüpfungen" zu erstellen. Sie können dies erledigen, indem Sie eine Automator-Anwendung öffnen, indem Sie Run Shell Script auswählen und anschließend das Profillade-Skript in das Textfeld eingeben:</p> +<div class="code panel" style="border-width: 1px;"> + <div class="codeContent panelContent"> + <pre class="code-java">/Applications/Firefox.app/Contents/MacOS/firefox-bin -no-remote -p MyProfile > /dev/<span class="code-keyword">null</span> &</pre> + </div> +</div> +<p>Sie können "/dev/null" auf einen Dateispeicherort ändern, in dem Fall das Sie eine <em>dump</em>-Ausgabe in Firefox sehen möchten oder ander Erweiterungen. last & prevents hindert Automator daran auf das beenden Ihrer Firefoxsitzung zu warten. Speicher Sie das als eine Anwendung nicht als einen Workflow. Un möglicherweise wollen Sie diese auf Ihrem Desktop oder Dock, für einen einfachen Zugriff.</p> +<p>Es sollten auch noch Konfigurationsänderungen in Ihrem Testprofil vorgenommen werden, sodass Sie im falls etwas schief geht detailierte Informationen erhalten. Die Firefox <a href="/en/Error_Console" title="en/Error Console">Error Console</a> (Extras > Error Console) zeigt normalerweise JavaScripte Fehler an die auf der Webseite auftretten, aber mit etwas Optimierung können Sie Fehlerinformationen aus Ihrer Erweiterungen erhalten. Lesen hierfür Sie diesen Beitrag über<a href="/en/Setting_up_extension_development_environment#Development_preferences" title="en/Setting up extension development environment#Development preferences"><span class="external"> Development preferences</span></a>.</p> +<h2 id="Developer_extensions">Developer extensions</h2> +<p>Es gibt ein große Bandbreite an Firefoxerweiterungen die die Web- und Add-on-Entwicklung untersützen. Ein guter Ort um danach zu suchen ist die <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/browse/type:1/cat:4">Mozilla Add-ons Seite</a> auch gibt es hier ein gute <a href="/en/Setting_up_extension_development_environment#Development_extensions" title="en/Setting up extension development environment#Development extensions"><span class="external">Entwicklungserweiterungsliste</span></a>. Sie sollten sich etwas Zeit nehmen und mit den Webentwicklungstools die in Firefox enthalten sind herumspielen. Einige von diesen können sehr hilfreich für die Add-on-Entwicklung sein und überschneiden sich mit den aufgeführen Add-on`s. in dieser Lektion werden wir ein paar wenige ansprechen die wir als sehr hilfreich empfunden haben.</p> +<h3 id="DOM_Inspector">DOM Inspector</h3> +<p>Der <a href="/en/DOM_Inspector" title="en/DOM Inspector"><span class="external">DOM Inspector</span></a> war früher ein Teil von Firefox als eine Installationsoption, aber seit Firefox 3 ist von Firefox abgetrennt als ein weiteres Add-on Sie können es hinzufügen und entfernen. Es ist ein sehr nützliches Tool für Untersuchungen das Sie in das DOM von HTML und XUL-Dokumenten sehen lässt, genauso wie eingesetzte CSS-Regeln und zugehörige JavaScript Objekte. <a href="/en/DOM_Inspector/Introduction_to_DOM_Inspector" title="en/Introduction to DOM Inspector">Introduction to DOM Inspector</a> ist eine gute Einführung um mit der Verwendung zu beginnen.</p> +<p>Der DOM Inspector ist besonders hilfreich um heruauszufinden wie Sie ein Fenster überblenden, und wie Sie standard CSS-Style-Regeln ersetzen. Sie können die Namen der beteiligten Dateien sehen, was Ihnen einen guten Startpunkt gibt wenn Sie in die <a class="external" href="http://mxr.mozilla.org/">Mozilla source</a> sehen. Sie können sogar Styles, Attribute ändern und JavaScript Code ausführen, obwohl dies nicht vollständig zuverlässig ist.</p> +<h3 id="JavaScript_Debugger">JavaScript Debugger</h3> +<p>Der Name sagt alles. Der <a href="/en/Venkman" title="en/Venkman">Venkman JavaScript Debugger</a> ist ein größartiger Weg um die Ausführung von JavaScript zu verfolgen.</p> +<p>Um Erweiterungen und Browsercod zu debuggen, klicken Sie mit der rechten Maustaste auf die geladene Scriptkonsole und entfernen Sie die Auswahl von Exclude Browser Files. Die Liste der geladenen Skripte wird anwachsen um alle Skripte in Firefox zu beinhalten. Unsere Dateinamenkonventionen erweisen sich hierbei als sehr hilfreich. Sie können Unterbrechngspunkte setzen, aus und in Methoden springen und sogar Profilinformationen aus der JavaScriptausführung erhlaten. Sie können Variablen untersuchen, Überwachungsausdrücke verfolgen, und nach Ermessen JS an jedem Punkt der Ausführung auswerten.</p> +<p>Diese Erweiterungen ist seit einiger Zeit nicht mehr gewartet werden, daher ist sie sehr buggy. Es ist besonders unzuverlässig wenn es Code in XPCOM und XBL-Dateien debuggen soll. Dennoch, ist ein wertvolles Tool wenn man versucht herauszufinden warum sich eine bestimmte Funktion ungewünscht verhält.</p> +<h3 id="Tamper_Data">Tamper Data</h3> +<p><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/966" title="https://addons.mozilla.org/en-US/firefox/addon/966">Tamper Data</a> fängt HTTP-Anfragen und ihren -Antworten ab. Dies erlaubt Ihnen diese zu unterbrechen und sogar die Payload-Daten zu ersetzten bevor diese gesendet werden. Es gibt einige ähnliche Erweiterungen, wie z.B. <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/3829">Live HTTP Headers</a>, aber Tamper Data ist das eine das wir am meisten einsetzen. Wir werden mehr über HTTP debugging später erfahren.</p> +<h3 id="Firebug">Firebug</h3> +<p>Die <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/1843" title="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a> Erweiterung enthält fast alle Tools die bisher angesprochen wurden, aber sie ist hauptsächlich auf die Webentwicklung ausgerichtet. Die <a class="external" href="http://getfirebug.com/wiki/index.php/Chromebug_User_Guide" title="http://getfirebug.com/wiki/index.php/Chromebug_User_Guide">Chromebug</a> Erweiterung hilft Firebug nützlicher im Bezug auf die Erweiterungsentwicklung, aber sie ist möglicherweise nicht stark genug um alle alle angesprochen Add-ons zu ersetzen.</p> +<p>Auf der anderen Seite, bietet Firebug eine sehr benutzerfreundliches integriertes Oberfläche und wirdurch stärker weiterentwickelt als seine Gegenstücke. Es ist definitiv einen Versuch wert.</p> +<h3 id="Leak_Monitor">Leak Monitor</h3> +<p>Memoryleaks sind immer ein großer Kritikpunkt an Firefox gewesen. mozilla hat über die Zeit bewiesen das es die Arbeitsspeicher nutzung ernst nimmt, durch die Verbesserung der Performance an besonders kritischen Bereichen und durch das entfernen aller Memoryleaks.</p> +<p>Wie auch immer, Erweiterung können auch die Ursache von Memoryleaks sein. Wenn Sie Ihre Erweiterung in die Mozilla Add-on Seite aufgenommen haben möchten, sollten Sie besser keine Memoryleaks haben. In <a href="/en/Using_XPCOM_in_JavaScript_without_leaking" title="en/Using XPCOM in JavaScript without leaking"><span class="external">Using XPCOM in JavaScript</span></a> sind einige Richtlinien erfastt die Sie befolgen sollten um diese zu vermeiden. Einer der häufigsten Fehler die Entwicklern machen, ist einen JS event listener oder observer zu registrieren und diesen niemals zu entfernen. Die einfache Praxis immer Code für das Entfernen für alles was Sie hinzuzufügen anzufügen macht einen großen Unterschied.</p> +<p>Um sicher zugehen das Ihre Erweiterungen keine Leaks beinhaltet, Sie sollten die <a href="/en/Leak_Monitor" title="en/Leak Monitor"><span class="external">Leak Monitor Erweiterung</span></a> verwenden wenn Sie das testen. Testen Sie immer öffnende und schließende Fenster. Gewöhnlicherweise tretten diese Leaks bei diesem Vorgang auf.</p> +<h2 id="Exercise">Exercise</h2> +<ul> + <li>Setzen Sie ein neues Firefoxprofil für die XUL-Schule auf. Stellen Sie sicher das Sie Ihr XUL-Schulen Firefox öffnen und schließen können, ohne dass SIe die Instance von Fireox mit der Sie normalerweise surfen schließen mussen. Machen Sie irgendwelche beliebigen Änderungen an Ihrem XUL-Schulen Projekt, führen Sie make install aus und starten Sie Firefox neu um zu sehen das die Erweiterung nach Ihren Änderungen noch funktioniert.</li> + <li>Installiere den DOM Inspector. Benutze ihn um das von Ihnen erstellte Menü zu finden. <em>Hinweis: Sie können mit der ID nach einem Element suchen.</em> Untersuchen Sie CSS-Regel die Firefox standardmäßig verwendet. Sehen Sie sich den endgültigen berechneten Style für die Menüelemente an. Sehen Sie sich im Rest der Firefox DOM um, und versuchen Sie herauszufinden welche Knoten mit der Firefox UI in Verbindung stehen.</li> + <li>Installiere die Firebug Erweiterung. Öffne das Firebugfenster und gehe zu einer AJAX-lastigen Webseitewie z.B. Gmail oder Facebook. Öffne und aktviere den <em>Net </em>Reiter. Versuche herauszufinden was passiert wenn einige Anfragen gesendet werden.</li> +</ul> +<p>Jetzt das Sie wissen wie man schnell Ihr Projekt und Test-Änderungen überprüft, werden wir lernen wie man neue UI-Elemente zu Firefox durch Overlays und neuer Fenster hinzufügt.</p> +<p>{{ PreviousNext("XUL_School/The_Essentials_of_an_Extension", "XUL_School/Adding_menus_and_submenus") }}</p> +<p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p> diff --git a/files/de/archive/mozilla/xul/school_tutorial/einleitung/index.html b/files/de/archive/mozilla/xul/school_tutorial/einleitung/index.html new file mode 100644 index 0000000000..d31a97b230 --- /dev/null +++ b/files/de/archive/mozilla/xul/school_tutorial/einleitung/index.html @@ -0,0 +1,44 @@ +--- +title: Einleitung +slug: Archive/Mozilla/XUL/School_tutorial/Einleitung +tags: + - Add On + - Benutzeroberfläche + - Extension + - Gecko + - Mozilla + - XUL + - XULRunner +translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School/Introduction +--- +<div> + {{Next("XUL_School/Getting_Started_with_Firefox_Extensions")}}</div> +<p>Willkommen beim XUL School Tutorial!</p> +<p>Dieses Tutorial soll der entscheidene Schritt sein, welcher Sie in einen Firefox Extension Developer (Erweiterungsentwickler) verwandelt. Wir haben Jahre an Erfahrung mit XUL und während dieser Zeit alle Probleme kennengelernt, auf die Entwickler stoßen.</p> +<p>XUL School wurde erschaffen von <a href="http://appcoast.com/" title="http://appcoast.com/">Appcoast</a> (ehemals Glaxstar), eine der wenigen Firmen, welche sich der Addon Entwicklung von Firefox verschrieben hat. Ein Team von über einem Dutzend XUL Entwickler entwickelten Glaxstar während dieses Tutorial geschrieben wurde. Sie sammelten jahrelang Erfahrung und diese reflektieren Sie hier.</p> +<p><span class="long_text" id="result_box" lang="de"><span class="hps">In diesem Tutorial</span> <span class="hps">erfahren Sie</span><span>, wie Sie</span> <span class="hps">Firefox-Erweiterungen</span> <span class="hps">entwickeln.</span> <span class="hps">Sie werden</span> <span class="hps">lernen, wie man</span> <span class="hps">schnell </span><span class="hps">die häufigsten Aufgaben</span> <span class="hps">in</span> <span class="hps">der Extension-Entwicklung</span><span> löst und</span> <span class="hps">vergleichen</span> <span class="hps">verschiedene Ansätze</span><span>, sie zu lösen</span><span>.</span> <span class="hps">In den meisten Fällen</span> <span class="hps">bieten</span> <span class="hps">wir</span> <span class="hps">Codebeispiele</span><span>, die Sie leicht</span> <span class="hps">kopieren und</span> <span class="hps">an Ihre Bedürfnisse anpassen können</span><span>,</span> <span class="hps">sowie einige</span> <span class="hps">funktionierende Beispiele von <span class="long_text" id="result_box" lang="de"><span class="hps">Erweiterungen</span></span></span><span>.</span> <span class="hps">Das Tutorial</span> <span class="hps">soll</span> <span class="hps">so kurz wie</span> <span class="hps">möglich</span><span> sein.</span> O<span class="hps">ft hilft das Zurückgreifen</span><span class="hps"> auf die</span> <span class="hps">Mozilla</span><span>-Dokumentation für weitere</span> <span class="hps">Informationen</span><span>.</span> <span class="hps">Sie können es</span> <span class="hps">als</span> <span class="hps">praktischen Reiseführer mit Infos</span> durch die wachsende <span class="hps">Welt, die</span> <span class="hps">die</span> <span class="hps">Mozilla</span><span>-Plattform</span> <span class="hps">ist, nutzen.</span> <span class="hps">Die meisten</span> <span class="hps">Links</span> <span class="hps">in</span> <span class="hps">dieser Dokumentation</span> <span class="hps">sollten</span> <span class="hps">angeklickt</span> <span class="hps">und gelesen werden.</span></span></p> +<p>Wir starten mit einer Einführung in die Hauptkonzepte, falls Sie nicht mit Mozilla und Firefox vertraut sind.</p> +<h2 id="Mozilla_and_Firefox">Mozilla and Firefox</h2> +<p>Der Term <a href="http://en.wikipedia.org/wiki/Mozilla" title="http://en.wikipedia.org/wiki/Mozilla">Mozilla</a> wird benutzt, um folgende Konzepte zu beschreiben: das Mozilla Projekt, die <a href="http://en.wikipedia.org/wiki/Mozilla_Foundation" title="http://en.wikipedia.org/wiki/Mozilla_Foundation">Mozilla Foundation</a>, die <a href="http://en.wikipedia.org/wiki/Mozilla_Corporation" title="http://en.wikipedia.org/wiki/Mozilla_Corporation">Mozilla Corporation</a> und den alten <a href="http://en.wikipedia.org/wiki/Mozilla_Application_Suite" title="http://en.wikipedia.org/wiki/Mozilla_Application_Suite">Mozilla browser</a>. Auch Firefox wird manchmal "Mozilla" genannt. Falls Ihnen die Begriffe nicht geläufig sind, ist es von Vorteil, sich etwas Zeit zu nehemen und mehr über Mozilla zu lernen. Dies hilft die Kultur und das Umfeld von Mozilla zu verstehen.</p> +<p><span class="long_text" id="result_box"><span style="background-color: rgb(255, 255, 255);" title="Mozilla has spawned several products and projects, the most notable being the Mozilla Firefox web browser.">Mozilla hat mehrere <a href="http://www.mozilla.org/projects/" title="http://www.mozilla.org/projects/">Produkte und Projekte</a> <span class="long_text" id="result_box"><span style="background-color: rgb(255, 255, 255);" title="Mozilla has spawned several products and projects, the most notable being the Mozilla Firefox web browser.">hervorgebracht.</span></span> Das bemerkenswerteste ist der Mozilla Firefox Web-Browser. </span><span style="background-color: rgb(255, 255, 255);" title="Firefox is one of the most successful open source projects in history, combining the openness, standards-compliance and sophistication of open source with the focus on user experience and powerful outreach more commonly seen in less open companies.">Firefox ist eines der erfolgreichsten Open-Source-Projekte in der Geschichte. Es kombiniert Offenheit, die Einhaltung von Standards und Raffinesse von Open Source mit dem Fokus auf Benutzerfreundlichkeit und leistungsstarke Vielseitigkeit, wie man es in weniger offenen Unternehmen nur selten sieht. </span><br> + <br> + <span style="background-color: rgb(255, 255, 255);" title="Version 1.0 of Firefox was released in November 2004, version 2.0 in October 2006, and version 3.0 in June 2008.">Version 1.0 von Firefox wurde im November 2004, Version 2.0 im Oktober 2006 und Version 3.0 im Juni 2008 veröffentlicht. </span><span style="background-color: rgb(255, 255, 255);" title="This tutorial was written after Firefox 3 was released, and has been updated with time.">Dieses Tutorial wurde geschrieben, nachdem Firefox 3 veröffentlicht wurde, und ist mit der Zeit aktualisiert worden. </span><span style="background-color: rgb(255, 255, 255);" title="While most of it should still work for creating extensions Firefox 3 (and even Firefox 2), it is strongly recommended that you aim to support modern Firefox versions, to encourage users to stay up to date with security fixes.">Obwohl noch für die Erstellung von Erweiterungen in Firefox 3 (und auch Firefox 2) gearbeitet wird, ist es dringend zu empfehlen, dass Sie moderne Firefox-Versionen unterstützen, um Nutzer zu motivieren, mit Sicherheitsupdates auf dem laufenden zu bleiben. </span><span style="background-color: rgb(255, 255, 255);" title="A release that is more than 6 months old is likely vulnerable to published security bugs.">Eine Version, die vor mehr als 6 Monaten veröffentlicht wurde, ist wahrscheinlich anfällig für Sicherheitslücken. </span><br> + <br> + <span style="background-color: rgb(255, 255, 255);" title="Firefox and other Mozilla applications can be seen as composed of two different parts: a user interface layer that is distinct for each project, and a common platform on top of which the interface layer is built.">Firefox und andere Mozilla-Anwendungen kann man als zusammengesetzt <span class="long_text" id="result_box"><span style="background-color: rgb(255, 255, 255);" title="Firefox and other Mozilla applications can be seen as composed of two different parts: a user interface layer that is distinct for each project, and a common platform on top of which the interface layer is built.">ansehen </span></span>aus zwei verschiedenen Teilen: eine Benutzeroberflächen-Schicht, die für jedes Projekt <span class="long_text" id="result_box"><span style="background-color: rgb(255, 255, 255);" title="Firefox and other Mozilla applications can be seen as composed of two different parts: a user interface layer that is distinct for each project, and a common platform on top of which the interface layer is built.">verschieden </span></span> ist, und eine gemeinsame Plattform, worauf die <span class="long_text" id="result_box"><span style="background-color: rgb(255, 255, 255);" title="Firefox and other Mozilla applications can be seen as composed of two different parts: a user interface layer that is distinct for each project, and a common platform on top of which the interface layer is built.">Benutzeroberflächen-Schicht angesiedelt ist.</span></span> </span><span style="background-color: rgb(255, 255, 255);" title="The user interface is built with technology known as XUL, and the platform is known as XULRunner.">Die Benutzeroberfläche ist mit der Technologie <a href="https://developer.mozilla.org/en-US/docs/XUL">XUL</a> entwickelt und die Plattform wird als <a href="https://developer.mozilla.org/en-US/docs/XULRunner">XULRunner</a> bezeichnet.</span></span></p> +<p> </p> +<h2 id="XUL">XUL</h2> +<p><a href="/en-US/docs/XUL" title="XUL">XUL</a> <span id="result_box" lang="de"><span class="hps">(ausgesprochen</span> <span class="hps atn">"</span><span>zool</span><span>"</span><span>)</span> <span class="hps">ist eine von vielen</span> <span class="hps">Technologien</span> <span class="hps">für die Erstellung von</span> <span class="hps">Mozilla</span><span>-basierten Produkten</span> <span class="hps">und wird auch für Erweiterungen</span> <span class="hps">verwendet</span><span>.</span> <span class="hps">Sie</span> <span class="hps">ist nur ein Teil</span> <span class="hps">der Entwicklungsl</span><span class="hps">andschaft,</span> <span class="hps">aber da</span> sie<span class="hps"> praktisch</span> <span class="hps">exklusiv für</span> <span class="hps">Mozilla</span> <span class="hps">ist</span><span>, neigt man dazu, sie zu </span><span class="hps">verwenden, um </span><span class="hps">Mozilla</span><span>-bezogene</span> <span class="hps">Entwicklungen</span> <span class="hps">zu identifizieren.</span> <span class="hps">Sie</span> <span class="hps">lesen manchmal</span> <span class="hps atn">Begriffe wie "</span><span>XUL</span><span>-Anwendungen</span><span class="atn">" und "</span><span>XUL</span><span>-Erweiterungen</span><span>"</span><span>, aber nur selten</span> <span class="hps">werden sie für</span> <span class="hps">Projekte benutzt, die</span> <span class="hps">ausschließlich</span> <span class="hps">mit</span> <span class="hps">XUL</span> <span class="hps">gebaut</span> <span class="hps">sind</span><span>.</span> <span class="hps">Es</span> <span class="hps">bedeutet in der Regel</span><span>, dass die Projekte</span> <span class="hps">mit</span> <span class="hps">Mozilla</span><span>-Technologien <span id="result_box" lang="de"><span class="hps">gebaut</span> <span class="hps">wurden</span></span>.</span> <span class="hps">Auch dieses</span> <span class="hps">Projekt, genannt</span> <span class="hps">XUL</span> <span class="hps">Schule,</span> <span class="hps">erstreckt sich über mehrere</span> <span class="hps">andere Technologien wie</span> <span class="hps">JavaScript</span><span>, CSS,</span> <span class="hps">XBL</span> <span class="hps">und</span> <span class="hps">XPCOM</span><span>.</span></span></p> +<h2 id="XULRunner">XULRunner</h2> +<p><span id="result_box" lang="de"><a href="https://developer.mozilla.org/en-US/docs/XULRunner"><span class="hps">XULRunner</span></a> <span class="hps">umfasst die</span> <a href="https://developer.mozilla.org/en-US/docs/Gecko"><span class="hps">Gecko</span><span>-Rendering-Engine</span></a><span>,</span> <span class="hps">die</span> <a href="https://developer.mozilla.org/en-US/docs/Necko"><span class="hps">Necko</span> <span class="hps">Netzwerk-Bibliothek</span></a><span>,</span> <span class="hps">und einige andere</span> <span class="hps">Komponenten, die</span> <span id="result_box" lang="de"><span class="hps">unter anderem </span></span><span class="hps">OS</span><span class="atn">-</span><span>unabhängiges</span> <span class="hps">Datei-Management</span><span>, Zugänglichkeit und</span> <span class="hps">Lokalisierung</span> <span class="hps">bieten</span><span>.</span> <span class="hps">Es ist eine</span> <span class="hps">sehr</span> <span class="hps">leistungsfähige Plattform</span><span>, die ein solch</span> <span class="hps">schnelles</span> <span class="hps">Wachstum der</span> <span class="hps">Entwickler-Community</span> <span class="hps">rund um</span> <span class="hps">Mozilla</span> <span class="hps">und Firefox</span> <span class="hps">erlaubt</span> <span class="hps">hat</span><span>.</span></span></p> +<p><span id="result_box" lang="de"><span class="hps">XULRunner</span> <span class="hps">ist in</span> <span class="hps">binärer Form</span> <span class="hps">auf der</span> </span><a href="https://developer.mozilla.org/en-US/docs/XULRunner">XULRunner</a> Seite verfügbar<span lang="de"> <span class="hps">und sie ist</span> <span class="hps">die Basis</span> <span class="hps">für mehrere Projekte</span><span>, wie zum Beispiel</span> <span class="hps">Songbird</span><span>,</span> <span class="hps">Miro</span> <span class="hps">und</span> <span class="hps">Eudora</span><span>.</span> <span class="hps">Es gibt eine sehr</span> <span class="hps">umfassende Liste von</span> <span class="hps">Anwendungen in der</span> <a href="https://developer.mozilla.org/en-US/docs/XULRunner_Hall_of_Fame"><span class="hps">XULRunner</span> </a><span class="hps"><a href="https://developer.mozilla.org/en-US/docs/XULRunner_Hall_of_Fame">Hall of Fame</a>.</span></span></p> +<h3 id="Gecko">Gecko</h3> +<p><span id="result_box" lang="de"><span class="hps">Die</span> <a href="https://developer.mozilla.org/en-US/docs/Gecko"><span class="hps">Gecko-Engine</span></a> <span class="hps">ist der Teil von</span> <span class="hps">Firefox</span>, der <span class="hps">verwendet wird, um</span> <span class="hps">Web-Seiten und</span> <span class="hps">eine eigene Benutzeroberfläche</span> <span class="hps">zu gestalten.</span> <span class="hps">Sie erkennen</span> <span class="hps">den Grad der</span> <span class="hps">Kompatibilität</span> <span class="hps">von</span> <span class="hps">Web-Standards</span> <span class="hps">in</span> <a href="http://en.wikipedia.org/wiki/List_of_web_browsers#Gecko-based_browsers"><span class="hps">Gecko</span></a><span><a href="http://en.wikipedia.org/wiki/List_of_web_browsers#Gecko-based_browsers">-basierten Browsern</a>,</span> <span class="hps">indem Sie sich ihren</span> <a href="http://en.wikipedia.org/wiki/User_agent"><span class="hps">User Agent</span></a> <span class="hps">String ansehen</span><span>, der die</span> <span class="hps">Gecko</span><span>-Version</span> <span class="hps">enthalten sollte</span><span>.</span> <span class="hps">Gecko</span><span>-Versionen</span> <span class="hps">sind etwas</span> <span class="hps">unabhängig von</span> <span class="hps">Firefox</span><span>-Versionen</span><span>. Sie können</span> <span class="hps">eine Zuordnung</span> <span class="hps">von</span> <span class="hps">Firefox</span><span>-Versionen und</span> <span class="hps">Gecko-Versionen</span> <span class="hps">auf der</span> <a href="https://developer.mozilla.org/en-US/docs/Gecko"><span class="hps">Gecko</span><span>-Seite</span></a> <span class="hps">sehen.</span> <span class="hps">Der</span> <span class="hps">User Agent</span> <span class="hps">String</span> <span class="hps">für</span> <span class="hps">Firefox</span> <span class="hps">zum Zeitpunkt</span> <span class="hps">des Schreibens dieses Artikels</span> <span class="hps atn">(</span><span>in</span> <span class="hps">US-Englisch,</span> <span class="hps">Mac</span> <span class="hps">OS</span> <span class="hps">X)</span> <span class="hps">ist</span><span>:</span></span></p> +<p>Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:<strong>7.0.1</strong>) Gecko/20100101 Firefox/7.0.1</p> +<p><span id="result_box" lang="de"><span class="hps">Der markierte</span> <span class="hps">Abschnitt ist die</span> <span class="hps">Gecko</span><span>-Version</span><span>:</span> <span class="hps">7.0.1</span><span>.</span> <span class="hps">Sie können den </span></span><span id="result_box" lang="de"> <span class="hps atn">User-Agent-</span><span>String </span></span><span id="result_box" lang="de"><span class="hps">lesen und</span> <span class="hps">kopieren in jedem beliebiegen </span><span class="hps">Firefox-Fenster.</span> Dazu <span class="hps atn">wählen Sie "</span><span>Hilfe></span> <span class="hps">Informationen zur Fehlerbehebung</span><span>"</span> <span class="hps">aus dem Hauptmenü</span><span>.</span></span></p> +<h2 id="Weiter_im_Tutorial">Weiter im Tutorial</h2> +<p><span id="result_box" lang="de"><span class="hps">Mit</span> <span class="hps">den grundlegenden Konzepten</span> <span class="hps">können</span> <span class="hps">wir jetzt</span> <span class="hps">in die</span> <span class="hps">Entwicklung von Erweiterungen</span><span class="alt-edited"> einsteigen.</span> <span class="hps">Sie werden sich wahrscheinlich</span> <span class="hps">immer noch fragen,</span> <span class="hps">was genau</span> <span class="hps">ist eine Erweiterung</span><span>,</span> <span class="hps">was</span> kann <span class="hps alt-edited">sie leisten </span><span class="hps alt-edited">und wie kann man sie erstellen. </span><span class="hps">Nun,</span> <span class="hps">dieses ganze</span> <span class="hps">Tutorial</span><span class="hps"> verfolgt das Ziel, </span><span class="hps">Ihnen</span> <span class="hps">das zu erklären.</span><br> + <br> + <span class="hps">Willkommen in der Welt</span> <span class="hps">der</span> <span class="hps">Extension-Entwicklung</span><span>.</span> <span class="hps">Jetzt</span> wollen wir uns dem zuwenden.</span></p> +<div> + {{Next("XUL_School/Getting_Started_with_Firefox_Extensions")}}</div> +<p><small>This tutorial translation was kindly donated to Mozilla by Sinn - IT mit Emotion</small></p> diff --git a/files/de/archive/mozilla/xul/school_tutorial/getting_started_with_firefox_extensions/index.html b/files/de/archive/mozilla/xul/school_tutorial/getting_started_with_firefox_extensions/index.html new file mode 100644 index 0000000000..bfb1d41e7a --- /dev/null +++ b/files/de/archive/mozilla/xul/school_tutorial/getting_started_with_firefox_extensions/index.html @@ -0,0 +1,75 @@ +--- +title: Mit Firefox Erweiterungen beginnen +slug: Archive/Mozilla/XUL/School_tutorial/Getting_Started_with_Firefox_Extensions +tags: + - Erweiterungen +translation_of: >- + Archive/Add-ons/Overlay_Extensions/XUL_School/Getting_Started_with_Firefox_Extensions +--- +<p>{{ PreviousNext("XUL_School/Introduction", "XUL_School/The_Essentials_of_an_Extension") }}</p> +<h2 id="Was_ist_eine_Firefox_Erweiterung">Was ist eine Firefox Erweiterung?</h2> +<blockquote> + <p>Extensions add new functionality to Mozilla applications such as Firefox and Thunderbird. They can add anything from a toolbar button to a completely new feature. They allow the application to be customized to fit the personal needs of each user if they need additional features, while keeping the applications small to download.</p> +</blockquote> +<p>Auszug aus der <a href="/en/Extensions" title="en/Extensions">Erweiterungs-Seite</a>.</p> +<p>Wie es das Zitat beschreibt, ist eine Erweiterung eine kleine Anwendung, die etwas Neues zu einer oder mehreren Mozilla-Anwendungen hinzufügt. Dieses Tutorial konzentriert sich auf Erweiterungen für Firefox. Dieselben (oder sehr ähnliche) Prinzipien gelten auch für die Entwicklung von Erweiterungen zu anderen Anwendungen wie Thunderbird, Seamonkey oder Flock.</p> +<p>Bitte beachten Sie, dass es es einen Unterschied zwischen der Definiton einer <em>Erweiterung</em> und einem <em>Add-on</em> gibt. Alle Erweiterungen sind Add-ons, aber ein Add-on kann auch eine Theme, ein Plug-in oder ein Sprachpaket sein. Der Inhalt dieses Tutorials behandelt die Entwicklung von Erweiterungen. Themes und Sprachpakete werden in einer sehr ähnlichen Art und Weise entwickelt. Plug-ins sind gänzlich anders und sie werden in diesem Tutorial nicht behandelt. Sie können mehr über Plug-ins und deren Entwicklung auf der <a href="/en/Plugins">Plug-in-Seite</a> erfahren.</p> +<p>Firefox bietet eine sehr reiche und flexible Architektur. Diese erlaubt es den Entwicklern von Erweiterungen fortgeschrittene Funktionalitäten hinzuzufügen, sich der Benutzererfahrung anzupassen und Teile des Browsers vollständig zu ersetzen oder zu entfernen.</p> +<p>Das <a href="https://addons.mozilla.org/">Mozilla Add-on</a> Repository (AMO) beinhaltet eine umfassende Anzahl von Erweiterungen mit einer großen Bandbreite an Funktionen: Inhaltsfilterung (<a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/1865" title="https://addons.mozilla.org/en-US/firefox/addon/1865">AdBlock Plus</a>, <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/722" title="https://addons.mozilla.org/en-US/firefox/addon/722">NoScript</a>), Interaktion mit Webanwendungen (<a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/3615" title="https://addons.mozilla.org/en-US/firefox/addon/3615">Delicious Bookmarks</a>, <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/5202" title="https://addons.mozilla.org/en-US/firefox/addon/5202">eBay Companion</a>) und Webentwicklung (<a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/6622" title="https://addons.mozilla.org/en-US/firefox/addon/6622">DOM Inspector</a>, <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/1843" title="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a>). Dabei handelt es sich um sehr fortgeschrittene und komplexe Erweiterungen. Sie werden in diesem Tutorial das meiste erlernen, was benötigt wird, um derartige Erweiterungen zu erzeugen (genau genommen basiert Glaxstar auf drei von den hier aufgezählten).</p> +<p>Erweiterungen gibt es im Moment in drei verschiedenen Ausprägungen: <a class="link-https" href="https://addons.mozilla.org/en-US/developers/builder" title="https://addons.mozilla.org/en-US/developers/builder">Add-ons SDK extensions</a> (auch bekannt als Jetpacks), <a href="/en/Extensions/Bootstrapped_extensions" title="https://developer.mozilla.org/en/Extensions/Bootstrapped_extensions">bootstrapped-Erweiterungen </a>und traditionelle Erweiterungen. Wenn Sie gerade beginnen, Add-ons zu entwickeln, bietet das <a href="https://developer.mozilla.org/de/Add-ons/SDK">Add-on SDK</a> einen fantastischen Weg, um schnell Erweiterungen zu entwickeln und auf diesen aufzubauen. Dieses Tutorial konzentriert sich auf traditionelle Erweiterungen, welche auf eine andere Art entwickelt werden. Bootstrapped-Erweiterungen sind eine Stufe komplexer, als die traditionellen. Von daher sollten Sie zuerst dieses Tutorial durchgehen, bevor Sie sich diese ansehen.</p> +<p>Wir werden dieses Tutorial mit der Analyse einer sehr einfachen Erweiterung beginnen.</p> +<h2 id="Die_Hallo_Welt_Erweiterung">Die Hallo Welt Erweiterung</h2> +<p>Unsere Beispielerweiterung und dieses Tutorial im Allgemeinen sind ausgelegt für moderne Versionen des Firefox, aber die meisten von ihnen funktionieren auch auf älteren Versionen.</p> +<p>Wir werden nun mit einer einfachen "Hallo Welt"-Erweiterung beginnen. WIr beginnen mit seiner Installation. Dafür klicken Sie auf den folgenden Link.</p> +<p><a href="/@api/deki/files/5139/=xulschoolhello1.xpi" title="https://developer.mozilla.org/@api/deki/files/5139/=xulschoolhello1.xpi">Install Hello World</a></p> +<p>Hierbei wird entweder eine Installation oder ein Datei-Download angestoßen, abhängig von dem Inhaltstyp, der auf dem Webserver abgelegt ist. Der entsprechende Inhaltstyp, um eine Installation zu veranlassen, ist <strong>application/x-<strong>xpinstall</strong></strong>. Im Fall dieses Wiki`s, ist der Inhaltstyp entsprechend gesetzt und ein Installationsfenster sollte erscheinen.</p> +<p>Wenn der Inhaltstyp richtig gesetzt ist, werden Sie ordnungsgemäß gewarnt, dass es dieser Seite nicht erlaubt ist Add-ons zu installieren. Hierbei handelt es sich um eine Sicherheitsbarriere, die Seiten daran hindert, Erweiterungen ohne Benutzerzustimmung zu installieren. Dies ist vonnöten, weil bösartige Erweiterungen den gleichen Schaden verursachen können, wie jedes anderes Schadprogramm: Datenklau, das Löschen oder das Austauschen von Daten oder sonstiges unerwünschtes Verhalten. <a class="link-https" href="https://addons.mozilla.org/" title="https://addons.mozilla.org/">AMO</a> ist die einzige Seite mit einer generellen Erlaubnis. Dies liegt daran, dass die auf <a class="link-https" href="https://addons.mozilla.org/" title="https://addons.mozilla.org/">AMO</a> veröffentlichten Add-ons einem Überprüfungsprozess unterzogen werden, der Sicherheitsüberprüfungen beinhaltet.</p> +<p>Nach dem Herunterladen der Datei, können Sie diese, per Drag and Drop in den Firefox Inhaltsbereich ziehen und die Installation sollte beginnen.</p> +<p>Sie werden ein Fenster sehen, welches Ihnen mitteilt, dass sie dabei sind eine Erweiterung zu installieren. In diesem sind einige zusätzliche Informationen enthalten, wie unter anderem der Name des Authors. Sie werden benachrichtigt, dass der Author nicht verfiziert werden kann. Nur Erweiterungen, die mit einem digitalen Zertifkat signiert sind, können die Autorschaft verifizieren. Signierte Erweiterungen sind selten, aber wir werden das Signieren von Erweiterungen später behandeln.</p> +<p>Klicken Sie auf die "Jetzt Installieren"-Schaltfläche. Nach der Installation der Erweiterung, werden Sie gefragt ob Sie Firefox neu starten wollen. Installation, Deinstallation, Aktivierung und Deaktiverung von Add-ons erfordern einen Neustart für die Ausführung (außer von NPAPI-Plug-ins, Add-on SDK Erweiterungen und Bootstrapped Erweiterungen). Dies ist ein wichtiger Punkt, den Sie im Hinterkopf behalten sollten, wenn Sie Erweiterungen entwickeln, die andere Erweiterungen oder Themes manipulieren.</p> +<p>Sehen Sie nach der Installation in das Firefox Hauptfenster und schauen Sie, ob Sie eine Veränderung feststellen können.</p> +<p>Haben Sie es gesehen? Dort ist ein neues Menü im Hauptmenü, bezeichnet "Hello World!".</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/8421/menu_item%20-%20helloworld.png" style="width: 383px; height: 117px;"></p> +<p>Wenn Sie dieses Menü öffnen und den darunter liegenden Menüpunkt, werden Sie eine nette Mitteilung sehen ("nett" im weitesten Sinne). Klicken Sie auf die OK-Schaltfläche um die Mitteilung zu schließen.</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/8419/alert_message%20-%20helloworld.png" style="width: 364px; height: 132px;"></p> +<p>Das ist alles was die Erweiterung macht. Sehen wir uns das jetzt mal genauer an.</p> +<h2 id="Erweiterungsinhalte">Erweiterungsinhalte</h2> +<p>Sie werden vielleicht bemerkt haben, dass die von Ihnen installierte Erweiterungsdatei mit <em>xulschoolhello1.xpi</em> benannt ist. <a href="/en/XPI" title="en/XPI">XPI</a> (ausgesprochen "zippy") steht für Cross-Plattform Installer. Diese Installationsdatei funktioniert auf allen Plattformen, die Firefox unterstützen. XPIs sind einfache ZIP-Dateien, aber Firefox erkennt die XPI-Erweiterung und veranlasst den Installationprozess, wenn die XPI-Datei geladen wird<em>.</em></p> +<p>Um in die XPI-Datei zu sehen, müssen Sie diese zuerst herunterladen, ohne sie zu installieren. Anstatt eine Installation durch einen Klick auf einen Link oder eine Schaltfläche auszulösen, führen sie einen Rechtsklick <a href="https://developer.mozilla.org/@api/deki/files/5139/=xulschoolhello1.xpi">darauf</a> aus und wählen Sie die <em>Ziel speichern unter...</em> Option.</p> +<p>Entpacken Sie die XPI-Datei an einen gewünschten Ort. Unter Linux oder Mac OS X führen Sie den folgenden Befehl aus, um die Datei zu entpacken:</p> +<pre class="syntaxbox">unzip xulschoolhello1.xpi -d xulschoolhello1 +</pre> +<p>Unter Windows können Sie die Dateierweiterung von xpi zu zip ändern oder die Datei direkt öffnen und anschließend mit einem ZIP-Tool entpacken.</p> +<p>Sie sollten die folgendene Dateistruktur sehen:</p> +<ul> + <li>xulschoolhello1 + <ul> + <li>chrome.manifest</li> + <li>install.rdf</li> + <li>content + <ul> + <li>browserOverlay.xul</li> + <li>browserOverlay.js</li> + </ul> + </li> + <li>skin + <ul> + <li>browserOverlay.css</li> + </ul> + </li> + <li>locale + <ul> + <li>en-US + <ul> + <li>browserOverlay.dtd</li> + <li>browserOverlay.properties</li> + </ul> + </li> + </ul> + </li> + </ul> + </li> +</ul> +<p>Das ist eine große Anzahl an Dateien, für etwas so einfaches! In der nächsten Lektion werden wir die Dateien und was sie machen genauer analysieren .</p> +<p>{{ PreviousNext("XUL_School/Introduction", "XUL_School/The_Essentials_of_an_Extension") }}</p> +<p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p> diff --git a/files/de/archive/mozilla/xul/school_tutorial/index.html b/files/de/archive/mozilla/xul/school_tutorial/index.html new file mode 100644 index 0000000000..c11982d447 --- /dev/null +++ b/files/de/archive/mozilla/xul/school_tutorial/index.html @@ -0,0 +1,70 @@ +--- +title: XUL School Tutorial +slug: Archive/Mozilla/XUL/School_tutorial +translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School +--- +<p>XUL School ist ein umfassendes Tutorial zur Entwicklung von Addons, das sich auf die Erstellung von Firefox-Erweiterungen konzentriert. Wir empfehlen Dir, dieses Dokument mindestens einmal vollständig zu lesen. Obwohl sich Firefox sehr schnell weiterentwickelt, sollte der Inhalt dieses Tutorials aktuell und korrekt sein.</p> +<dl> + <dt> + Einführung</dt> + <dd> + <ul> + <li><a href="/en/XUL_School/Introduction" title="en/XUL School/Introduction">Einführung</a></li> + <li><a href="/en/XUL_School/Getting_Started_with_Firefox_Extensions" title="en/XUL School/Getting Started with Firefox Extensions">Mit Firefox Erweiterungen beginnen</a></li> + <li><a href="/en/XUL_School/The_Essentials_of_an_Extension" title="en/XUL School/The Essentials of an Extension">Die Grundlagen einer Erweiterung</a></li> + <li><a href="/en/XUL_School/Setting_Up_a_Development_Environment" title="en/XUL School/Setting Up a Development Environment">Eine Entwicklungsumgebung einrichten</a></li> + <li><a href="/en/XUL_School/JavaScript_Object_Management" title="en/XUL School/JavaScript Object Management">JavaScript Object Management</a></li> + </ul> + </dd> + <dt> + Grundlegende Techniken</dt> + <dd> + <ul> + <li><a href="/en/XUL_School/Adding_menus_and_submenus" title="en/XUL School/Adding menus and submenus">Menüs und Untermenüs hinzufügen</a></li> + <li><a href="/en/XUL_School/Adding_Toolbars_and_Toolbar_Buttons" title="en/XUL School/Adding Toolbars and Toolbar Buttons">Toolbars und Toolbar Buttons hinzufügen </a></li> + <li><a href="/en/XUL_School/Adding_Events_and_Commands" title="en/XUL School/Adding Events and Commands">Ereignisse und Befehle hinzufügen</a></li> + <li><a href="/en/XUL_School/Adding_windows_and_dialogs" title="en/XUL School/Adding windows and dialogs">Fenster und Dialoge hinzufügen</a></li> + <li><a href="/en/XUL_School/Adding_sidebars" title="en/XUL School/Adding sidebars">Sidebars hinzufügen</a></li> + <li><a href="/en/XUL_School/User_Notifications_and_Alerts" title="en/XUL School/User Notifications and Alerts">Benutzerbenachrichtigungen und -Warnungen </a></li> + </ul> + </dd> + <dt> + Fortgeschrittene Techniken</dt> + <dd> + <ul> + <li><a href="/en/XUL_School/Intercepting_Page_Loads" title="en/XUL School/Intercepting Page Loads">Den Seitenladevorgang abfangen</a></li> + <li><a href="/en/XUL_School/Connecting_to_Remote_Content" title="en/XUL School/Connecting to Remote Content">Inhalt von anderen Servern einbinden</a></li> + <li><a href="/en/XUL_School/Handling_Preferences" title="en/XUL School/Handling Preferences">Auf Nutzereinstellungen zugreifen</a></li> + <li><a href="/en/XUL_School/Local_Storage" title="en/XUL School/Local Storage">Lokale Datenspeicherung</a></li> + </ul> + </dd> + <dt> + Weiterführende Themen</dt> + <dd> + <ul> + <li><a href="/en/XUL_School/The_Box_Model" title="en/XUL School/The Box Model">Das Box-Modell</a></li> + <li><a href="/en/XUL_School/XPCOM_Objects" title="en/XUL School/XPCOM Objects">XPCOM Objekte</a></li> + <li><a href="/en/XUL_School/Observer_Notifications" title="en/XUL School/Observer Notifications">Beobachterb</a><a href="/en/XUL_School/Observer_Notifications" title="en/XUL School/Observer Notifications">enachrichtigungen</a></li> + <li><a href="/en/XUL_School/Custom_XUL_Elements_with_XBL" title="en/XUL School/Custom XUL Elements with XBL">Eigene XUL Elemente mit XBL erstellen</a></li> + <li><a href="/en/XUL_School/Mozilla_Documentation_Roadmap" title="en/XUL School/Mozilla Documentation Roadmap">Roadmap der Mozilla Documentation </a></li> + <li><a href="/en/XUL_School/Useful_Mozilla_Community_Sites" title="en/XUL School/Useful Mozilla Community Sites">Nützliche Seiten der Mozilla Community </a></li> + </ul> + </dd> + <dt> + Anhänge</dt> + <dd> + <ul> + <li><a href="/en/XUL_School/Appendix_A:_Add-on_Performance" title="en/XUL School/Appendix A: Add-on Performance">Anhang A: Addon Performance</a></li> + <li><a href="/en/XUL_School/Appendix_A:_Add-on_Performance" title="en/XUL School/Appendix A: Add-on Performance">Anhang</a> <a href="/en/XUL_School/Appendix_B:_Install_and_Uninstall_Scripts" title="en/XUL School/Appendix B: Install and Uninstall Scripts">B: Installations- und Deinstallations-Skripte</a></li> + <li><a href="/en/XUL_School/Appendix_A:_Add-on_Performance" title="en/XUL School/Appendix A: Add-on Performance">Anhang</a><a href="/en/XUL_School/Appendix_C:_Avoid_using_eval_in_Add-ons" title="en/XUL School/Appendix C: Avoid using eval in Add-ons"> C: Wie man 'eval' in Addons vermeidet</a></li> + <li><a href="/en/XUL_School/Appendix_A:_Add-on_Performance" title="en/XUL School/Appendix A: Add-on Performance">Anhang</a><a href="/en/XUL_School/Appendix_D:_Loading_Scripts" title="en/XUL School/Appendix D: Loading Scripts"> D: Skripte laden</a></li> + <li><a href="/en/XUL_School/Appendix_A:_Add-on_Performance" title="en/XUL School/Appendix A: Add-on Performance">Anhang</a><a href="/en/XUL_School/DOM_Building_and_HTML_Insertion" title="en/XUL School/Appendix E: DOM Building and HTML Insertion"> E: Das DOM erstellen und HTML in Dokumente einfügen</a></li> + <li><a href="/en/XUL_School/Appendix_A:_Add-on_Performance" title="en/XUL School/Appendix A: Add-on Performance">Anhang</a><a href="/en/XUL_School/Appendix_F:_Monitoring_DOM_changes" title="en/XUL School/Appendix F: Monitoring DOM changes"> F: Änderungen am DOM verfolgen</a></li> + </ul> + </dd> +</dl> +<p>Das XUL School Projekt wurde von <a class="external" href="http://appcoast.com/" title="http://appcoast.com/">Appcoast</a> (ehemals Glaxstar) entwickelt. Das Projekt wird hier unter deren <a href="/Project:Copyrights" title="https://developer.mozilla.org/Project:Copyrights">Lizenzen</a> veröffentlicht. Die originalen Inhalte wurden wo nötig angepasst.</p> +<div class="noinclude"> + <p>{{ languages( { "ja": "ja/XUL_School", "fr": "fr/Vulgarisation_XUL", "es": "es/Escuela_XUL", "de": "de/XUL_School" } ) }}</p> +</div> +<p> </p> diff --git a/files/de/archive/mozilla/xul/separator/index.html b/files/de/archive/mozilla/xul/separator/index.html new file mode 100644 index 0000000000..d01d1d589c --- /dev/null +++ b/files/de/archive/mozilla/xul/separator/index.html @@ -0,0 +1,123 @@ +--- +title: separator +slug: Archive/Mozilla/XUL/separator +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/separator +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Erstellt eine trennende Lücke zwischen Elementen. Dieser Typ ist dazu gedacht unterschiedliche Teile eines Dialogs aufzuteilen. Es wird kein sichtbarer Trennbalken dargestellt, aber ein kleiner Leerraum frei gelassen. Die Funktionsweise ist identisch zum <code><a href="/de/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code> Element außer, dass standardmäßig eine kleine Größe eingestellt ist (normalerweise <code>1.5 em</code>).</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-separator.orient">orient</a></dd> +</dl> +<dl> <dt>Styleklassen</dt> <dd><a href="#s-groove">groove</a>, <a href="#s-groove-thin">groove-thin</a>, <a href="#s-thin">thin</a></dd> +</dl> +<h3 id="Beispiele">Beispiele</h3> +<pre><separator class="groove-thin"/> +</pre> +<h3 id="Attribute">Attribute</h3> +<div id="a-separator.orient"> + + +<dl> + <dt><code id="a-separator.orient"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/separator.orient">orient</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>Used to specify whether the <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/separator" title="separator">separator</a></code></code> is a horizontal or vertical separator. Note that the values are the reverse of what seems more likely.</dd> + <dd> + <dl> + <dt><code>horizontal</code></dt> + <dd>The separator separates vertically placed elements.</dd> + <dt><code>vertical</code></dt> + <dd>The separator separates horizontally placed elements.</dd> + </dl> + </dd> +</dl> + + +</div> <table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Styleklassen">Styleklassen</h3> +<p>Folgende Klassen können benutzt werden, um den Stil des Elements zu bestimmen. Statt den Stil des Elements direkt zu ändern, sollten diese Klassen zu Hilfe genommen werden, da sie sich natürlicher in das vom Benutzer gewählte Theme der Benutzeroberfläche einfügen.</p> +<dl> + <dt><code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/groove">groove</a></code></dt> + <dd>A grooved separator.</dd> +</dl> <dl> + <dt><code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/groove-thin">groove-thin</a></code></dt> + <dd>A thin grooved separator.</dd> +</dl> <dl> + <dt><code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/thin">thin</a></code></dt> + <dd>A thinner separator, which is usually 0.5 ems.</dd> +</dl> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Elemente</dt> <dd><code><a href="/de/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/menuseparator" title="menuseparator">menuseparator</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/toolbarseparator" title="toolbarseparator">toolbarseparator</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/treeseparator" title="treeseparator">treeseparator</a></code>.</dd> +</dl> diff --git a/files/de/archive/mozilla/xul/spacer/index.html b/files/de/archive/mozilla/xul/spacer/index.html new file mode 100644 index 0000000000..f566611098 --- /dev/null +++ b/files/de/archive/mozilla/xul/spacer/index.html @@ -0,0 +1,94 @@ +--- +title: spacer +slug: Archive/Mozilla/XUL/spacer +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/spacer +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein Element, das Platz einnimmt, aber nichts anzeigt. Gewöhnlich benutzt, um Freiraum in einem Behälter zu platzieren. Wenn der Platzhalter nicht als flexibel und für ihn keine Größe angegeben ist, nimmt der Platzhalter keinen Raum ein. Ist eine kleine Lücke gewünscht, ist der Einsatz des Elements <code><a href="/de/docs/Mozilla/Tech/XUL/separator" title="separator">separator</a></code> sinnvoller.</p> +<p>Weitere Informationen im <a href="/de/XUL_Tutorial/Abstandhalter_verwenden" title="de/XUL_Tutorial/Abstandhalter_verwenden">XUL Tutorial</a>.</p> +<h3 id="Beispiele" name="Beispiele">Beispiele</h3> +<pre class="eval"><box> + <button label="Links"/> + <spacer flex="1"/> + <button label="Rechts"/> +</box> +</pre> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften" name="Eigenschaften">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandte_Themen" name="Verwandte_Themen">Verwandt</h3> +<dl> <dt>Elemente</dt> <dd><code><a href="/de/docs/Mozilla/Tech/XUL/separator" title="separator">separator</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code></dd> +</dl> diff --git a/files/de/archive/mozilla/xul/splitter/index.html b/files/de/archive/mozilla/xul/splitter/index.html new file mode 100644 index 0000000000..6c89456da3 --- /dev/null +++ b/files/de/archive/mozilla/xul/splitter/index.html @@ -0,0 +1,173 @@ +--- +title: splitter +slug: Archive/Mozilla/XUL/splitter +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/splitter +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein Element, das vor oder nach einem Element innerhalb eines Containers auftauchen sollte. Das Ziehen des Trenners ändert die Größe der Geschwisterelemente des Trenners. Platziert man ein 'Griffchen' (<code><a href="/de/docs/Mozilla/Tech/XUL/grippy" title="grippy">grippy</a></code>) innerhalb eines Trenners, so wird ein Geschwisterelement des Trenners beim Anklicken des 'Griffchens' zugeklappt.</p> +<p>Weitere Information sind im <a href="/de/XUL_Tutorial/Splitters" title="de/XUL_Tutorial/Splitters">XUL Tutorial</a> verfügbar.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-collapse">collapse</a>, <a href="#a-resizeafter">resizeafter</a>, <a href="#a-resizebefore">resizebefore</a>, <a href="#a-state">state</a>, <a href="#a-substate">substate</a></dd> +</dl> +<dl> <dt>Styleklassen</dt> <dd><a href="#s-tree-splitter">tree-splitter</a></dd> +</dl> +<h3 id="Beispiele">Beispiele</h3> +<p> <img alt="splitter_arrow.png" class="internal default" src="/@api/deki/files/2917/=splitter_arrow.png" style="width: 313px; height: 28px;"></p> +<p><code><splitter tooltiptext="Größe der Suchbox verändern" oncommand="alert('Der Splitter wurde gezogen!')"><br> + <vbox id="Beispiel_vbox" /><br> +</splitter></code></p> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<p> </p><div id="a-collapse"> + + +<dl> + <dt><code id="a-collapse"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/collapse">collapse</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>Determines which side of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code> is collapsed when its grippy is clicked. If this attribute is not specified, the splitter will not cause a collapse. You should put a <code><a href="/en-US/docs/Mozilla/Tech/XUL/grippy" title="grippy">grippy</a></code> element inside the splitter when it is used for collapsing.</dd> + <dd> + <dl> + <dt><code>none</code></dt> + <dd>No collapsing occurs.</dd> + <dt><code>before</code></dt> + <dd>When the grippy is clicked, the element immediately before the splitter in the same parent is collapsed so that its width or height is 0.</dd> + <dt><code>after</code></dt> + <dd>When the grippy is clicked, the element immediately after the splitter in the same parent is collapsed so that its width or height is 0.</dd> + <dt><code>both</code></dt> + <dd>Either the element immediately before the splitter, or the element immediately after the splitter can be collapsed, if the size of that element would fall below the minimum size due to the position of the splitter. </dd> + </dl> + </dd> +</dl> +</div> <div id="a-resizeafter"> + + +<dl> + <dt><code id="a-resizeafter"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/resizeafter">resizeafter</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>This attribute indicates which element to the right or below the <code><a href="/en-US/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code> should be resized when the splitter is repositioned.</dd> + <dd> + <dl> + <dt><code>closest</code></dt> + <dd>The element immediately to the right or below the splitter resizes.</dd> + <dt><code>farthest</code></dt> + <dd>The element that is the farthest away from the splitter to the right or below the splitter resizes.</dd> + <dt><code>grow</code></dt> + <dd>The elements to the right or below the splitter do not change size (unless they are flexible) when the splitter is dragged, but instead the entire container changes size.</dd> + <dt><code>flex</code></dt> + <dd>The closest flexible element resizes. </dd> + </dl> + </dd> +</dl> + + +</div> <div id="a-resizebefore"> + + +<dl> + <dt><code id="a-resizebefore"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/resizebefore">resizebefore</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>This attribute indicates which element to the left or above the <code><a href="/en-US/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code> should be resized when the splitter is repositioned.</dd> + <dd> + <dl> + <dt><code>closest</code></dt> + <dd>The element immediately to the left or above the splitter resizes.</dd> + <dt><code>farthest</code></dt> + <dd>The element that is the farthest away from the splitter to the left or above the splitter resizes.</dd> + <dt><code>flex</code></dt> + <dd>The closest flexible element resizes. </dd> + </dl> + </dd> +</dl> +</div> <div id="a-state"> + + +<dl> + <dt><code id="a-state"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/state">state</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>Indicates whether the <code><a href="/en-US/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code> has collapsed content or not. This attribute will be updated automatically as the splitter is moved, and is generally used in a stylesheet to apply a different appearance for each state.</dd> + <dd> + <dl> + <dt><code>open</code></dt> + <dd>The content either before or after the splitter, depending on the value of the collapsed attribute, is currently displayed.</dd> + <dt><code>collapsed</code></dt> + <dd>The content either before or after the splitter is collapsed and is not visible.</dd> + <dt><code>dragging</code></dt> + <dd>The user is current adjusting the position of the splitter, typically by dragging it with the mouse.</dd> + </dl> + </dd> +</dl> + + +</div> <div id="a-substate"> + + +<dl> + <dt><code id="a-substate"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/substate">substate</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>On splitters which have state="collapsed" and collapse="both", determines which direction the splitter is actually collapsed in. Since collapse="both" is a Gecko 1.9+ feature, this will have no effect on earlier versions.</dd> + <dd> + <dl> + <dt><code>before</code></dt> + <dd>The element immediately before the splitter is collapsed.</dd> + <dt><code>after</code></dt> + <dd>The element immediately after the splitter is collapsed.</dd> + </dl> + </dd> +</dl> +</div> +<h3 id="Eigenschaften">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Styleklassen">Styleklassen</h3> +<p>Folgende Klassen können benutzt werden, um den Stil des Elements zu bestimmen. Statt den Stil des Elements direkt zu ändern, sollten diese Klassen zu Hilfe genommen werden, da sie sich natürlicher in das vom Benutzer gewählte Theme der Benutzeroberfläche einfügen.</p> +<dl> + <dt><code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/tree-splitter">tree-splitter</a></code></dt> + <dd>This splitter is intended to be used in tree columns (in-between <code><a href="/en-US/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code> elements). The splitter will be drawn with no width so that it isn't visible, however, the columns may still be resized.</dd> +</dl> +<pre> <tree id="tree1" flex="1" height="300" enableColumnDrag="true"> + <treecols> + <treecol id="name" label="Name" flex="1"/> + <splitter class="tree-splitter"/> + <treecol id="id" label="ID" flex="1"/> + <splitter class="tree-splitter"/> + <treecol id="date" label="Date" flex="1"/> + <splitter class="tree-splitter"/> + </treecols> + <treechildren/> + </tree> +</pre> +<h3 id="Related" name="Related">Splitter resizing und overflow</h3> +<p>Das Maß, welches die Größe der Box verändert und was während der Größenveränderung passiert nachdem das Limit erreicht wurde, hängt von der festgelegten Höhe (oder Breite) der Box, welche über ein Attribut, über eine CSS Anweisung (min-height [oder min-width]) oder die wirkliche Höhe der Boxinhalte bestimmt werden kann, und von der An- oder Abwesenheit des eines <code>collapse</code> Attributs des Splitters ab.</p> +<p>Bei:</p> +<pre><vbox></vbox> +<splitter/> +<vbox></vbox></pre> +<p>...wird sich der Splitter nicht bewegen, da kein <code>collapse</code> Attribute für den Splitter festgeleget wurde, was dazu führt das der Splitter zusammenfällt, sobald er gezogen wird.</p> +<p>Bei:</p> +<pre><vbox></vbox> +<splitter/> +<vbox height="500"><vbox height="100"/></vbox></pre> +<p>...kann der Splitter bis auf eine Höhe von 100px der unteren Box gezogen werden, wo er nicht weiter gezogen werden kann (oder zusammenfällt, wenn der Splitter über ein <code>collapse</code> Attribut verfügt).</p> +<p>Bei:</p> +<pre><vbox></vbox> +<splitter/> +<vbox height="500" minheight="200"><vbox height="100"/></vbox></pre> +<p>...kann der Splitter bis auf eine Mindesthöhe von 200px gezogen werden, wo er stoppen wird oder zusammenfällt.</p> +<p>Bei:</p> +<pre><vbox></vbox> +<splitter> +<vbox height="500" style="min-height: 50"><vbox height="100"/></vbox></pre> +<p>...kann der Splitter bis unter einer Höhe von 100px der unteren Box gezogen werden, wodurch das Kindelement überläuft, wenn die Mindesthöhe erreicht wird. Dort stoppt oder fällt der Splitter zusammen. Das sollte auch mit einem <code>minheight</code> Attribut, das kleiner als die wirkliche Höhe ist, möglich sein. (Jedoch funktioniert der Überlauf tatsächlich wegen <a class=" external" href="http://bugzilla.mozilla.org/show_bug.cgi?id=513597" title="http://bugzilla.mozilla.org/show_bug.cgi?id=513597">Bug 513597</a> nur beim Festlegen von<code> minheight</code> und <code>minwidth</code> Attributen oder bei einer Angabe von <code>min-height</code> oder <code>min-width</code> über CSS).</p> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<p>TBD</p> diff --git a/files/de/archive/mozilla/xul/style/index.html b/files/de/archive/mozilla/xul/style/index.html new file mode 100644 index 0000000000..74732b6e00 --- /dev/null +++ b/files/de/archive/mozilla/xul/style/index.html @@ -0,0 +1,11 @@ +--- +title: Style Klassen +slug: Archive/Mozilla/XUL/Style +tags: + - XUL Referenz + - XUL Style +translation_of: Archive/Mozilla/XUL/Style +--- +<p><a href="/de/docs/XUL_Referenz" title="« Startseite XUL Referenz">« Startseite XUL Referenz</a></p> +<ul> <li><code><a href="https://developer.mozilla.org/de/docs/XUL/Style/alert-icon">alert-icon</a></code></li> <li><a href="/de/XUL/Style/chromeclass-toolbar" title="de/XUL/Style/chromeclass-toolbar">chromeclass-toolbar</a></li> <li><a href="/de/XUL/Style/error-icon" title="de/XUL/Style/error-icon">error-icon</a></li> <li><a href="/de/XUL/Style/groove" title="de/XUL/Style/groove">groove</a></li> <li><a href="/de/XUL/Style/header" title="de/XUL/Style/header">header</a></li> <li><a href="/de/XUL/Style/indent" title="de/XUL/Style/indent">indent</a></li> <li><a href="/de/XUL/Style/listcell-iconic" title="de/XUL/Style/listcell-iconic">listcell-iconic</a></li> <li><a href="/de/XUL/Style/listitem-iconic" title="de/XUL/Style/listitem-iconic">listitem-iconic</a></li> <li><a href="/de/XUL/Style/menuitem-iconic" title="de/XUL/Style/menuitem-iconic">menuitem-iconic</a></li> <li><a href="/de/XUL/Style/menuitem-non-iconic" title="de/XUL/Style/menuitem-non-iconic">menuitem-non-iconic</a></li> <li><a href="/de/XUL/Style/message-icon" title="de/XUL/Style/message-icon">message-icon</a></li> <li><a href="/de/XUL/Style/monospace" title="de/XUL/Style/monospace">monospace</a></li> <li><a href="/de/XUL/Style/plain" title="de/XUL/Style/plain">plain</a></li> <li><a href="/de/XUL/Style/question-icon" title="de/XUL/Style/question-icon">question-icon</a></li> <li><a href="/de/XUL/Style/small-margin" title="de/XUL/Style/small-margin">small-margin</a></li> <li><a href="/de/XUL/Style/statusbarpanel-iconic" title="de/XUL/Style/statusbarpanel-iconic">statusbarpanel-iconic</a></li> <li><a href="/de/XUL/Style/statusbarpanel-iconic-text" title="de/XUL/Style/statusbarpanel-iconic-text">statusbarpanel-iconic-text</a></li> <li><a href="/de/XUL/Style/statusbarpanel-menu-iconic" title="de/XUL/Style/statusbarpanel-menu-iconic">statusbarpanel-menu-iconic</a></li> <li><a href="/de/XUL/Style/text-link" title="de/XUL/Style/text-link">text-link</a></li> <li><a href="/de/XUL/Style/thin" title="de/XUL/Style/thin">thin</a></li> <li><a href="/de/XUL/Style/tree-splitter" title="de/XUL/Style/tree-splitter">tree-splitter</a></li> <li><a href="/de/XUL/Style/treecol-image" title="de/XUL/Style/treecol-image">treecol-image</a></li> +</ul> diff --git a/files/de/archive/mozilla/xul/style/treecol-image/index.html b/files/de/archive/mozilla/xul/style/treecol-image/index.html new file mode 100644 index 0000000000..d7be7f7df7 --- /dev/null +++ b/files/de/archive/mozilla/xul/style/treecol-image/index.html @@ -0,0 +1,13 @@ +--- +title: treecol-image +slug: Archive/Mozilla/XUL/Style/treecol-image +tags: + - XUL Referenz + - XUL Style +translation_of: Archive/Mozilla/XUL/Style/treecol-image +--- +<div class="noinclude"><a href="/de/docs/XUL_Referenz" title="« Startseite XUL Referenz">« Startseite XUL Referenz</a></div> +<dl> <dt><code><a href="https://developer.mozilla.org/de/docs/XUL/Style/treecol-image">treecol-image</a></code></dt> <dd>Um ein Bild als Kopf der <a href="/de/XUL/treecol" title="de/XUL/treecol">Baumspalte</a> anzuzeigen, wird diese Klasse benutzt. Das Bild selbst wird über das Attribut <code id="a-src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code> angegeben.</dd> +</dl> +<div class="noinclude"> +</div> diff --git a/files/de/archive/mozilla/xul/tab/index.html b/files/de/archive/mozilla/xul/tab/index.html new file mode 100644 index 0000000000..6c0f5831d0 --- /dev/null +++ b/files/de/archive/mozilla/xul/tab/index.html @@ -0,0 +1,195 @@ +--- +title: tab +slug: Archive/Mozilla/XUL/tab +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/tab +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Steht für einen einzelnen Reiter innerhalb eines <code><a href="/de/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code>-Elements. Der Benutzer kann den Reiter klicken, um die Seite in den Vordergrund zu holen, die zu der <code><a href="/de/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code> gehört.</p> +<p>Weitere Informationen im <a href="/de/XUL_Tutorial/Karteikarten" title="de/XUL_Tutorial/Karteikarten">XUL Tutorial</a>.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-accesskey">accesskey</a>, <a href="#a-afterselected">afterselected</a>, <a href="#a-beforeselected">beforeselected</a>, <a href="#a-command">command</a>, <a href="#a-crop">crop</a>, <a href="#a-disabled">disabled</a>, <a href="#a-first-tab">first-tab</a>, <a href="#a-image">image</a>, <a href="#a-label">label</a>, <a href="#a-last-tab">last-tab</a>, <a href="#a-linkedpanel">linkedpanel</a>, <a href="#a-oncommand">oncommand</a>, <a href="#a-pinned">pinned</a>, <a href="#a-tab.selected">selected</a>, <a href="#a-tabindex">tabindex</a>, <a href="#a-validate">validate</a>, <a href="#a-value">value</a></dd> +</dl> +<dl> <dt>Eigenschaften</dt> <dd><a href="#p-accessKey">accessKey</a>, <a href="#p-accessibleType">accessibleType</a>, <a href="#p-command">command</a>, <a href="#p-tab.control">control</a>, <a href="#p-crop">crop</a>, <a href="#p-disabled">disabled</a>, <a href="#p-image">image</a>, <a href="#p-label">label</a>, <a href="#p-linkedPanel">linkedPanel</a>, <a href="#p-selected">selected</a>, <a href="#p-tabIndex">tabIndex</a>, <a href="#p-value">value</a></dd> +</dl> +<h3 id="Beispiele" name="Beispiele">Beispiele</h3> +<p>(Beispiel benötigt)</p> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<p> </p><div id="a-accesskey"> + +<dl> <dt><code id="a-accesskey"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code></dt> <dd>Typ: <em>character</em></dd> <dd>Dem Attribut wird der Buchstabe zugewiesen, der als Tastenkürzel für das Element dienen soll. Dieser Buchstabe sollte sinnvollerweise innerhalb des Textes des Attributs <code><code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> des Elements vorkommen. </dd> +</dl> + +</div> <div id="a-afterselected"> + + +<dl> + <dt><code id="a-afterselected"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/afterselected">afterselected</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>This is set to <code>true</code> if the tab is immediately after the currently selected tab. This is automatically set when needed and you shouldn't adjust it manually. This is primarily useful for themes so that they can adjust the appearance of the area around the selected tab.</dd> +</dl> +</div> <div id="a-beforeselected"> + + +<dl> + <dt><code id="a-beforeselected"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/beforeselected">beforeselected</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>This is set to <code>true</code> if the tab is immediately before the currently selected tab. This is set automatically set when needed and you shouldn't adjust it manually. This is primarily useful for themes so that they can adjust the appearance of the area around the selected tab.</dd> +</dl> +</div> <div id="a-crop"> + +<dl> + <dt> + <code id="a-crop"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/crop">crop</a></code></dt> + <dd> + Type: <em>one of the values below</em></dd> + <dd> + If the label of the element is too big to fit in its given space, the text will be cropped on the side specified by the <code>crop</code> attribute. An ellipsis will be used in place of the cropped text. If the box direction is reversed, the cropping is reversed.</dd> + <dd> + <dl> + <dt> + <code>start</code></dt> + <dd> + The text will be cropped on its left side in left-to-right text locales, and the right side in right-to-left locales.</dd> + <dt> + <code>end</code></dt> + <dd> + The text will be cropped on its right side in left-to-right text locales, and the right side in right-to-left locales.</dd> + <dt> + <code>left</code></dt> + <dd> + <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> The text will be cropped on its left side.</dd> + <dt> + <code>right</code></dt> + <dd> + <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> The text will be cropped on its right side.</dd> + <dt> + <code>center</code></dt> + <dd> + The text will be cropped in the middle, showing both the start and end of the text normally.</dd> + <dt> + <code>none</code></dt> + <dd> + The text will be not be cropped using an ellipsis. However, the text will simply be cut off if it is too large. The side depends on the CSS text alignment.</dd> + </dl> + </dd> + <dd> + Depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped. If you wish to use the value <code>none</code> and the displayed text is larger than this maximum width, you may be able to use the max-width CSS property (or the maxwidth attribute) to override this size. For example, for a menuitem in a menu you can add the following CSS rule when you want to use the value <code>none</code>:</dd> + <dd> + <pre class="eval">menupopup > menuitem, menupopup > menu { max-width: none; } +</pre> + </dd> +</dl> +</div> <div id="a-disabled"> + +<dl> <dt><code id="a-disabled"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt> <dd>Typ: <em>boolean</em></dd> <dd>Kennzeichnet, ob ein Element deaktiviert ist oder nicht. Wenn das Element auf <code>true</code> gesetzt ist, ist das Element deaktiviert. Deaktivierte Elemente sind gewöhnlich mit einem grauen Text dargestellt. Wenn ein Element deaktiviert ist, wird es auf Anwenderaktionen nicht reagieren, es kann den Fokus nicht erlangen und das <code>command</code> Ereignis wird nicht ausgelöst. Das Element wird allerdings noch auf Mausereignisse antworten. Um das Element zu aktivieren, ist es besser das Attribut zu entfernen als es auf den Wert <code>false</code> zu setzen. Um den Wert dieses Attributs mittels JavaScript zu setzen oder abzurufen, sollte besser die <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/disabled">disabled</a></span></code> Eigenschaft verwendet werden.</dd> +</dl> + + +</div> <div id="a-first-tab"> + + +<dl> + <dt><code id="a-first-tab"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/first-tab">first-tab</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>This attribute will be set to <code>true</code> for the first tab. This attribute should not be set manually, but is useful in a <a href="/en/Themes" title="en/Themes">theme</a> if the first tab should be styled differently.</dd> +</dl> +</div> <div id="a-image"> + +<dl> + <dt><code id="a-image"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/image">image</a></code></dt> + <dd>Type: <em>URI</em></dd> + <dd>The URI of the image to appear on the element. If this attribute is empty or left out, no image appears. The position of the image is determined by the <code id="a-dir"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code> and <code id="a-orient"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code> attributes.</dd> +</dl> + + + +</div> <div id="a-label"> + +<dl> <dt><code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></dt> <dd>Typ: <em>string</em></dd> <dd>Die Beschriftung für das Element. Wird das Attribut nicht angegeben, so erscheint auch kein Beschriftungstext.</dd> +</dl> + +</div> <div id="a-last-tab"> + + +<dl> + <dt><code id="a-last-tab"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/last-tab">last-tab</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>This attribute will be set to <code>true</code> for the last tab. This attribute should not be set manually, but is useful in a <a href="/en/Themes" title="en/Themes">theme</a> if the last tab should be styled differently.</dd> +</dl> +</div> <div id="a-linkedpanel"> + + +<dl> + <dt><code id="a-linkedpanel"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/linkedpanel">linkedpanel</a></code></dt> + <dd>Type: <em>id</em></dd> + <dd>The <code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> of the linked <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code> element that will be displayed when the tab is selected. If this attribute is not used, the tab will be connected to the panel at the corresponding index in the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabpanels" title="tabpanels">tabpanels</a></code> element that the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code> is in its <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code> container. However, if this attribute is used, this behavior is overridden, and the tab will always be linked to a specific panel. This might be used to avoid duplication by linking several tabs to one panel with slight differences to the content adjusted in the select event.</dd> +</dl> +</div> <div id="a-oncommand"> + + +<dl> + <dt><code id="a-oncommand"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/oncommand">oncommand</a></code></dt> + <dd>Type: <em>script code</em></dd> + <dd>This event handler is called when the command is activated. This occurs when a user selects a menu item or presses a keyboard shortcut attached to the command.</dd> +</dl> + + +</div> <div id="a-pinned"> + +<dl> <dt><code id="a-pinned"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/pinned">pinned</a></code> </dt> <dd>Type: <em>boolean</em></dd> <dd>This attribute is set to <code>true</code> if the tab has been pinned (that is, if it's an app tab). The <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code> element's <span id="m-pinTab"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/pinTab">pinTab</a></code></span> and <span id="m-unpinTab"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/unpinTab">unpinTab</a></code></span> methods handle pinning and unpinning tabs.</dd> +</dl> +</div> <div id="a-tab.selected"> + + +<dl> + <dt><code id="a-tab.selected"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tab.selected">selected</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>This attribute is set to <code>true</code> if the tab is selected by default.</dd> +</dl> + + +</div> <div id="a-tabindex"> + + +<dl> + <dt><code id="a-tabindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The tab order of the element. The tab order is the order in which the focus is moved when the user presses the "<code>tab</code>" key. Elements with a higher <code>tabindex</code> are later in the tab sequence.</dd> +</dl> +</div> <div id="a-validate"> + + +<dl> + <dt><code id="a-validate"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/validate">validate</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>This attribute indicates whether to load the image from the cache or not. This would be useful if the images are stored remotely or you plan on swapping the image frequently. The following values are accepted, or leave out the attribute entirely for default handling:</dd> + <dd> + <dl> + <dt><code>always</code></dt> + <dd>The image is always checked to see whether it should be reloaded.</dd> + <dt><code>never</code></dt> + <dd>The image will be loaded from the cache if possible.</dd> + </dl> + </dd> +</dl> +</div> +<h3 id="Eigenschaften" name="Eigenschaften">Eigenschaften</h3> +<p> </p><div id="p-accessKey"></div> <div id="p-accessibleType"></div> <div id="p-command"></div> <div id="p-tab.control"></div> <div id="p-crop"></div> <div id="p-disabled"></div> <div id="p-image"></div> <div id="p-label"></div> <div id="p-linkedPanel"></div> <div id="p-selected"></div> <div id="p-tabIndex"></div> <div id="p-value"></div> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h4 id="Probleme" name="Probleme">Probleme</h4> +<p>In Versionen vor Gecko 1.9 (Firefox 3.0) ist es nicht möglich, einen Reiter außer Kraft zu setzen. Der Reiter wird zwar "grau" dargestellt, akzeptiert jedoch Ereignisse. Dieses Verhalten wurde in Firefox 3 behoben.</p> +<p>Des weiteren führt ein Wiederanzeigen eines Reiters nach dem Verstecken zu einer unvorhersehbaren Anordnung der Reiter. Siehe <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=307088" title="tab not responding if append to parent with hidden attribute">Bug 307088</a> und <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=261826" title="FIXED: XUL tabs appear in wrong order, if a tab's HIDDEN attribute is set to TRUE then later revealed by either setting HIDDEN to FALSE or removing the HIDDEN attribute entirely.">Bug 261826</a>. (Es empfiehlt sich <a href="/de/XUL/Attribute/collapsed" title="de/XUL/Attribute/collapsed">collapsed</a> statt <a href="/de/XUL/Attribute/hidden" title="de/XUL/Attribute/hidden">hidden</a> zu verwenden)</p> +<h3 id="Verwandte_Themen" name="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Elemente</dt> <dd><code><a href="/de/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanels" title="tabpanels">tabpanels</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code>.</dd> <dt>Schnittstellen</dt> <dd><a href="/de/NsIAccessibleProvider" title="de/NsIAccessibleProvider">nsIAccessibleProvider</a>, <a href="/de/NsIDOMXULSelectControlItemElement" title="de/NsIDOMXULSelectControlItemElement">nsIDOMXULSelectControlItemElement</a></dd> +</dl> diff --git a/files/de/archive/mozilla/xul/tabbox/index.html b/files/de/archive/mozilla/xul/tabbox/index.html new file mode 100644 index 0000000000..29c5cf9dab --- /dev/null +++ b/files/de/archive/mozilla/xul/tabbox/index.html @@ -0,0 +1,77 @@ +--- +title: tabbox +slug: Archive/Mozilla/XUL/tabbox +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/tabbox +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein Behälter für die Anzeige von Seiten mit Karteikarten/-reitern. Das Element <code>tabbox</code> sollte zwei Kindelemente enthalten. Als erstes ein <code><a href="/de/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code> Element, welches je Reiter ein <code><a href="/de/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code> Element enthält und als zweites ein <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanels" title="tabpanels">tabpanels</a></code> Element, welches den Inhalt der Seiten aufnimmt.</p> +<p>Weitere Informationen im <a href="/de/XUL_Tutorial/Karteikarten">XUL Tutorial</a>.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-eventnode">eventnode</a>, <a href="#a-handleCtrlPageUpDown">handleCtrlPageUpDown</a>, <a href="#a-handleCtrlTab">handleCtrlTab</a></dd> +</dl> +<dl> <dt>Eigenschaften</dt> <dd><a href="#p-accessibleType">accessibleType</a>, <a href="#p-eventNode">eventNode</a>, <a href="#p-handleCtrlPageUpDown">handleCtrlPageUpDown</a>, <a href="#p-handleCtrlTab">handleCtrlTab</a>, <a href="#p-selectedIndex">selectedIndex</a>, <a href="#p-selectedPanel">selectedPanel</a>, <a href="#p-selectedTab">selectedTab</a>, <a href="#p-tabbox.tabs">tabs</a>, <a href="#p-tabpanels">tabpanels</a></dd> +</dl> +<h3 id="Beispiele" name="Beispiele">Beispiele</h3> +<pre><tabbox id="myTabList" selectedIndex="2"> + <tabs> + <tab label="Erster Reiter"/> + <tab label="Zweiter Reiter"/> + <tab label="Weiterer Reiter"/> + <tab label="Letzter Reiter"/> + </tabs> + <tabpanels> + <tabpanel><!-- tabpanel Erste Elemente hierher --></tabpanel> + <tabpanel><!-- tabpanel Zweite Elemente hierher --></tabpanel> + <tabpanel><button label="Klick mich"/></tabpanel> + <tabpanel><!-- tabpanel Vierte Elemente hierher --></tabpanel> + </tabpanels> +</tabbox> +</pre> +<p><img alt="Image:XUL_REF_tabboxes.gif" class="internal" src="/@api/deki/files/434/=XUL_REF_tabboxes.gif"></p> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<p> </p><div id="a-eventnode"> + + +<dl> + <dt><code id="a-eventnode"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/eventnode">eventnode</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>Indicates where keyboard navigation events are listened to. If this attribute is not specified, events are listened to from the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code>. Thus, if this attribute is not used, the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code> or an element inside it must have the focus for the keyboard navigation to apply.</dd> + <dd> + <dl> + <dt><code>parent</code></dt> + <dd>Keyboard navigation is captured at the parent of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code>.</dd> + <dt><code>window</code></dt> + <dd>Keyboard navigation is captured at the window level. Tab navigation will occur as long as any element in the window is focused.</dd> + <dt><code>document</code></dt> + <dd>Keyboard navigation is captured at the document level. Tab navigation will occur as long as any element in the document is focused.</dd> + </dl> + </dd> +</dl> +</div> <div id="a-handleCtrlPageUpDown"> + +</div> <div id="a-handleCtrlTab"> + + +<dl> + <dt><code id="a-handleCtrlTab"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/handleCtrlTab">handleCtrlTab</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If set to <code>true</code> or omitted, the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code> will switch to the next tab when the Control and Tab keys are pressed. If the Shift key is also held down, the previous tab will be displayed. If this attribute is set to <code>false</code>, these keys do not navigate between tabs.</dd> +</dl> +</div> +<h3 id="Eigenschaften" name="Eigenschaften">Eigenschaften</h3> +<p> </p><div id="p-accessibleType"></div> <div id="p-eventNode"></div> <div id="p-handleCtrlPageUpDown"></div> <div id="p-handleCtrlTab"></div> <div id="p-selectedIndex"></div> <div id="p-selectedPanel"></div> <div id="p-selectedTab"></div> <div id="p-tabbox.tabs"></div> <div id="p-tabpanels"></div> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandt">Verwandt</h3> +<dl> <dt>Elemente</dt> <dd><code><a href="/de/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanels" title="tabpanels">tabpanels</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code>.</dd> +</dl> diff --git a/files/de/archive/mozilla/xul/tabpanels/index.html b/files/de/archive/mozilla/xul/tabpanels/index.html new file mode 100644 index 0000000000..8c58b9b082 --- /dev/null +++ b/files/de/archive/mozilla/xul/tabpanels/index.html @@ -0,0 +1,100 @@ +--- +title: tabpanels +slug: Archive/Mozilla/XUL/tabpanels +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/tabpanels +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein Container, der Seiten in Form von <code><a href="/de/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code> Elementen enthält. Das <code>tabpanels</code> Element sollte in einer <code><a href="/de/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code> platziert sein, es muss aber nicht unbedingt ein direktes Kindelement sein. Die Kindelemente des <code>tabpanels</code> Elements werden zu Panels des <code><a href="/de/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code> Elements. In den meisten Fällen würde ein <code><a href="/de/docs/Mozilla/Tech/XUL/vbox" title="vbox">vbox</a></code> Element benutzt werden, aber es kann jedes Element verwendet werden, wobei die meisten Autoren am Liebsten das <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code> Element gebrauchen. Wenn auf den ersten Tag geklickt wird, wird dieser angezeigt. Wenn auf den zweiten Tab geklickt wird, wird dieser angezeigt und so weiter. Es sollte die selbe Anzahl an Panels vorhanden sein wie Tabs. Panels sollten niemals versteckt sein, denn das bedeutet, dass das Panel unzugänglich ist.</p> +<p>Weitere Informationen sind im <a href="/de/XUL_Tutorial/Tabboxes" title="de/XUL_Tutorial/Tabboxes">XUL Tutorial</a> verfügbar.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-selectedIndex">selectedIndex</a></dd> +</dl> +<dl> <dt>Eigenschaften</dt> <dd><a href="#p-selectedIndex">selectedIndex</a>, <a href="#p-selectedPanel">selectedPanel</a></dd> +</dl> +<h3 id="Beispiele">Beispiele</h3> +<p>(Beispiel benötigt)</p> +<h3 id="Attribute">Attribute</h3> +<div id="a-selectedIndex"> + + +<dl> + <dt><code id="a-selectedIndex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/selectedIndex">selectedIndex</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>Gets and sets the index of the currently selected panel. The first item is at index 0.</dd> +</dl> +</div> <table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften">Eigenschaften</h3> +<p> </p><div id="p-accessible"></div> <div id="p-selectedIndex"></div> <div id="p-selectedPanel"></div> +<h3 id="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Elemente</dt> <dd><code><a href="/de/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code>.</dd> +</dl> diff --git a/files/de/archive/mozilla/xul/tabs/index.html b/files/de/archive/mozilla/xul/tabs/index.html new file mode 100644 index 0000000000..21f0853e04 --- /dev/null +++ b/files/de/archive/mozilla/xul/tabs/index.html @@ -0,0 +1,123 @@ +--- +title: tabs +slug: Archive/Mozilla/XUL/tabs +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/tabs +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Behälter für einzelne Reiter. Ein <code>tabs</code>-Element kann innerhalb einer <code><a href="/de/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code> benutzt werden und nimmt selbst <code><a href="/de/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code>-Elemente auf.</p> +<p>Mehr Information im <a href="/de/XUL_Tutorial/Karteikarten" title="de/XUL_Tutorial/Karteikarten">XUL Tutorial</a>.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-closebutton">closebutton</a>, <a href="#a-disableclose">disableclose</a>, <a href="#a-disabled">disabled</a>, <a href="#a-onclosetab">onclosetab</a>, <a href="#a-onnewtab">onnewtab</a>, <a href="#a-tabs.onselect">onselect</a>, <a href="#a-setfocus">setfocus</a>, <a href="#a-tabbox">tabbox</a>, <a href="#a-tabindex">tabindex</a>, <a href="#a-tooltiptextnew">tooltiptextnew</a>, <a href="#a-value">value</a>,</dd> +</dl> +<dl> <dt>Eigenschaften</dt> <dd><a href="#a-accessibleType">accessibleType</a>, <a href="#p-disabled">disabled</a>, <a href="#a-itemCount">itemCount</a>, <a href="#p-selectedIndex">selectedIndex</a>, <a href="#p-selectedItem">selectedItem</a>, <a href="#p-tabIndex">tabIndex</a>, <a href="#p-value">value</a>,</dd> +</dl> +<dl> <dt>Methoden</dt> <dd><a href="#m-advanceSelectedTab">advanceSelectedTab</a>, <a href="#m-appendItem">appendItem</a>, <a href="#m-getIndexOfItem">getIndexOfItem</a>, <a href="#m-getItemAtIndex">getItemAtIndex</a>, <a href="#m-insertItemAt">insertItemAt</a>, <a href="#m-removeItemAt">removeItemAt</a></dd> +</dl> +<h3 id="Beispiele" name="Beispiele">Beispiele</h3> +<p>(Beispiel benötigt)</p> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<p> </p><div id="a-closebutton"> + +<dl> + <dt> + <code id="a-closebutton"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/closebutton">closebutton</a></code> <span class="inlineIndicator obsolete obsoleteInline" title="(Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)">Obsolete since Gecko 1.9.2</span></dt> + <dd> + Type: <em>boolean</em></dd> + <dd> + If this attribute is set to <code>true</code>, the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code> row will have a "new tab" button and "close" button on the ends. This feature is used by the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code> to provide the facilities for adding and closing tabs. You can set an image to the "new tab" and "close" buttons by applying them to the <code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/tabs-newbutton">tabs-newbutton</a></code> and <code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/tabs-closebutton">tabs-closebutton</a></code> classes respectively.</dd> +</dl> +</div> <div id="a-disableclose"> + + +<dl> + <dt><code id="a-disableclose"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/disableclose">disableclose</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If this attribute is <code>true</code> the close button will be disabled.</dd> +</dl> +</div> <div id="a-disabled"> + +<dl> <dt><code id="a-disabled"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt> <dd>Typ: <em>boolean</em></dd> <dd>Kennzeichnet, ob ein Element deaktiviert ist oder nicht. Wenn das Element auf <code>true</code> gesetzt ist, ist das Element deaktiviert. Deaktivierte Elemente sind gewöhnlich mit einem grauen Text dargestellt. Wenn ein Element deaktiviert ist, wird es auf Anwenderaktionen nicht reagieren, es kann den Fokus nicht erlangen und das <code>command</code> Ereignis wird nicht ausgelöst. Das Element wird allerdings noch auf Mausereignisse antworten. Um das Element zu aktivieren, ist es besser das Attribut zu entfernen als es auf den Wert <code>false</code> zu setzen. Um den Wert dieses Attributs mittels JavaScript zu setzen oder abzurufen, sollte besser die <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/disabled">disabled</a></span></code> Eigenschaft verwendet werden.</dd> +</dl> + + +</div> <div id="a-onclosetab"> + + +<dl> + <dt><code id="a-onclosetab"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/onclosetab">onclosetab</a></code></dt> + <dd>Type: <em>script code</em></dd> + <dd>This script will be called when the close tab button is clicked.</dd> +</dl> +</div> <div id="a-onnewtab"> + + +<dl> + <dt><code id="a-onnewtab"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/onnewtab">onnewtab</a></code></dt> + <dd><strong><span class="highlightred">Not in Firefox</span></strong></dd> + <dd>Type: <em>script code</em></dd> + <dd>This script will be called when the new tab button is clicked.</dd> +</dl> +</div> <div id="a-tabs.onselect"> + + +<dl> + <dt><code id="a-tabs.onselect"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabs.onselect">onselect</a></code></dt> + <dd>Type: <em>script code</em></dd> + <dd>This event is sent to the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code> element when this tab is changed.</dd> +</dl> + + +</div> <div id="a-setfocus"> + + +<dl> + <dt><code id="a-setfocus"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/setfocus">setfocus</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If <code>true</code> or omitted, the focus will be given to the first element in the corresponding <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code> when the tabs are navigated via the keyboard. If this attribute is <code>false</code>, the focus does not change during navigation.</dd> +</dl> + + +</div> <div id="a-tabindex"> + + +<dl> + <dt><code id="a-tabindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The tab order of the element. The tab order is the order in which the focus is moved when the user presses the "<code>tab</code>" key. Elements with a higher <code>tabindex</code> are later in the tab sequence.</dd> +</dl> +</div> <div id="a-tooltiptextnew"> + + +<dl> + <dt><code id="a-tooltiptextnew"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tooltiptextnew">tooltiptextnew</a></code></dt> + <dd><strong><span class="highlightred">Not in Firefox</span></strong></dd> + <dd>Type: <em>string</em></dd> + <dd>Used to set the text which appears in the tooltip when the user moves the mouse over the new button in the tab row.</dd> +</dl> +</div> +<h3 id="Eigenschaften" name="Eigenschaften">Eigenschaften</h3> +<p> </p><div id="p-accessibleType"></div> <div id="p-disabled"></div> <div id="p-itemCount"></div> <div id="p-selectedIndex"></div> <div id="p-selectedItem"></div> <div id="p-tabbox"></div> <div id="p-tabIndex"></div> <div id="p-value"></div> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238); float: right; width: 250px;"> +<tbody> +<tr> +<td> +<p><strong>Geerbte Methoden</strong><br> +<small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> + +</td> +</tr> +</tbody> +</table> +<h3 id="Verwandte_Themen" name="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Elemente</dt> <dd><code><a href="/de/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanels" title="tabpanels">tabpanels</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code>.</dd> <dt>Schnittstellen</dt> <dd><a href="/de/NsIAccessibleProvider" title="de/NsIAccessibleProvider">nsIAccessibleProvider</a>, <a href="/de/NsIDOMXULSelectControlElement" title="de/NsIDOMXULSelectControlElement">nsIDOMXULSelectControlElement</a></dd> +</dl> diff --git a/files/de/archive/mozilla/xul/textbox/index.html b/files/de/archive/mozilla/xul/textbox/index.html new file mode 100644 index 0000000000..a96f2673d5 --- /dev/null +++ b/files/de/archive/mozilla/xul/textbox/index.html @@ -0,0 +1,334 @@ +--- +title: textbox +slug: Archive/Mozilla/XUL/Textbox +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/textbox +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein Eingabefeld, in dem der Benutzer einen Text eingeben kann. Die <code>textbox</code> ist ähnlich wie das HTML <code>input</code> Element. Nur eine Textzeile wird im Standardverhalten angezeigt. Das <code id="a-multiline"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/multiline">multiline</a></code> Attribut kann das Feld auch mit mehreren Zeilen ausstatten.</p> +<p>Weitere Informationen sind im <a href="/de/XUL_Tutorial/Eingabeelemente" title="de/XUL_Tutorial/Eingabeelemente">XUL Tutorial</a> verfügbar.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-cols">cols</a>, <a href="#a-decimalplaces">decimalplaces</a>, <a href="#a-disabled">disabled</a>, <a href="#a-emptytext">emptytext</a>, <a href="#a-hidespinbuttons">hidespinbuttons</a>, <a href="#a-increment">increment</a>, <a href="#a-textbox.label">label</a>, <a href="#a-max">max</a>, <a href="#a-maxlength">maxlength</a>, <a href="#a-min">min</a>, <a href="#a-multiline">multiline</a>, <a href="#a-newlines">newlines</a>, <a href="#a-textbox.onchange">onchange</a>, <a href="#a-oninput">oninput</a>, <a href="#a-placeholder">placeholder</a>, <a href="#a-preference">preference</a>, <a href="#a-readonly">readonly</a>, <a href="#a-rows">rows</a>, <a href="#a-searchbutton">searchbutton</a>, <a href="#a-size">size</a>, <a href="#a-spellcheck">spellcheck</a>, <a href="#a-tabindex">tabindex</a>, <a href="#a-timeout">timeout</a>, <a href="#a-textbox.type">type</a>, <a href="#a-textbox.value">value</a>, <a href="#a-wrap">wrap</a>, <a href="#a-wraparound">wraparound</a></dd> +</dl> +<dl> <dt>Eigenschaften</dt> <dd><a href="#p-accessibleType">accessibleType</a>, <a href="#p-clickSelectsAll">clickSelectsAll</a>, <a href="#p-decimalPlaces">decimalPlaces</a>, <a href="#p-decimalSymbol">decimalSymbol</a>, <a href="#p-defaultValue">defaultValue</a>, <a href="#p-disabled">disabled</a>, <a href="#p-editor">editor</a>, <a href="#p-emptyText">emptyText</a>, <a href="#p-increment">increment</a>, <a href="#p-inputField">inputField</a>, <a href="#p-textbox.label">label</a>, <a href="#p-max">max</a>, <a href="#p-maxLength">maxLength</a>, <a href="#p-min">min</a>, <a href="#p-placeholder">placeholder</a>, <a href="#p-readOnly">readOnly</a>, <a href="#p-searchButton">searchButton</a>, <a href="#p-selectionEnd">selectionEnd</a>, <a href="#p-selectionStart">selectionStart</a>, <a href="#p-size">size</a>, <a href="#p-spinButtons">spinButtons</a>, <a href="#p-tabIndex">tabIndex</a>, <a href="#p-textLength">textLength</a>, <a href="#p-timeout">timeout</a>, <a href="#p-type">type</a>, <a href="#p-textbox.value">value</a>, <a href="#p-valueNumber">valueNumber</a>, <a href="#p-wrapAround">wrapAround</a></dd> +</dl> +<dl> <dt>Methoden</dt> <dd><a href="#m-decrease">decrease</a>, <a href="#m-increase">increase</a>, <a href="#m-reset">reset</a>, <a href="#m-select">select</a>, <a href="#m-setSelectionRange">setSelectionRange</a></dd> +</dl> +<dl> <dt>Styleklassen</dt> <dd><a href="#s-plain">plain</a></dd> +</dl> +<h3 id="Besipiele">Besipiele</h3> +<div class="float-right"><img alt="Image:XUL_ref_textbox.png" class="internal" src="/@api/deki/files/471/=XUL_ref_textbox.png"></div> +<pre><vbox> +<label control="your-name" value="Enter your name:"/> +<textbox id="your-name" value="John"/> +</vbox> +</pre> +<h3 id="Attribute">Attribute</h3> +<p> </p><div id="a-cols"> + +<dl> <dt><code id="a-cols"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/cols">cols</a></code></dt> <dd>Typ: <em>integer</em></dd> <dd>Stellt die Anzahl an Spalten für mehrzeilige Textboxen dar.</dd> +</dl> + +</div> <div id="a-decimalplaces"> + +<dl> <dt><code id="a-decimalplaces"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/decimalplaces">decimalplaces</a></code> </dt> <dd>Typ: <em>integer</em></dd> <dd>Die Anzahl an Dezimalstellen, die angezeigt werden sollen. Der Standardwert ist 0, was bedeutet, dass keine Dezimalstellen angezeigt werden. Der Wert<code> infinity</code> kann dazu verwendet werden, keine Begrenzung der Dezimalstellen bei Zahlen anzuzeigen. Hinweis: Dezimalzahlen werden als Floats gespeichert.</dd> +</dl> + +</div> <div id="a-disabled"> + +<dl> <dt><code id="a-disabled"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt> <dd>Typ: <em>boolean</em></dd> <dd>Kennzeichnet, ob ein Element deaktiviert ist oder nicht. Wenn das Element auf <code>true</code> gesetzt ist, ist das Element deaktiviert. Deaktivierte Elemente sind gewöhnlich mit einem grauen Text dargestellt. Wenn ein Element deaktiviert ist, wird es auf Anwenderaktionen nicht reagieren, es kann den Fokus nicht erlangen und das <code>command</code> Ereignis wird nicht ausgelöst. Das Element wird allerdings noch auf Mausereignisse antworten. Um das Element zu aktivieren, ist es besser das Attribut zu entfernen als es auf den Wert <code>false</code> zu setzen. Um den Wert dieses Attributs mittels JavaScript zu setzen oder abzurufen, sollte besser die <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/disabled">disabled</a></span></code> Eigenschaft verwendet werden.</dd> +</dl> + + +</div> <div id="a-emptytext"> + +<dl> <dt><code id="a-emptytext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/emptytext">emptytext</a></code> <span class="inlineIndicator deprecated deprecatedInline" title="(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)">Unerwünscht Gecko 2</span></dt> <dd>Typ: <em>string</em></dd> <dd>Ein String, der in der <a class="internal" href="/De/XUL/Textbox" title="de/XUL/textbox">Textbox</a> angezeigt wird, falls diese keinen Wert besitzt. Dieses Attribut wurde vom <code id="a-placeholder"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/placeholder">placeholder</a></code> Attribut in Gecko 2 ersetzt. Der alte Name bleibt zur Kompatibilität bestehen, aber Sie sollten Ihren Code aktualisieren.</dd> +</dl> + +</div> <div id="a-hidespinbuttons"> + +<dl> <dt><code id="a-hidespinbuttons"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidespinbuttons">hidespinbuttons</a></code></dt> <dd>Typ: <em>boolean</em></dd> Falls der Wert auf <code>true</code> gesetzt wird, werden keine Buttons mit Pfeilen angezeigt, um den Wert des Feldes anzupassen. Der Wert kann dann ausschließlich per Tastatur eingegeben werden. Standardmäßig ist der Wert <code>false</code>.</dl> +</div> <div id="a-increment"> + +<dl> + <dt> + <code id="a-increment"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/increment">increment</a></code></dt> + <dd> + Type: <em>integer</em></dd> + <dd> + The amount by which the <code id="a-curpos"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/curpos">curpos</a></code> (for scroll bars) or <code id="a-value"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/value">value</a></code> (for number boxes and scale) attribute changes when the arrows are clicked(or scales are dragged). The default value is 1.</dd> +</dl> +</div> <div id="a-textbox.label"> + + +<dl> + <dt><code id="a-textbox.label"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/textbox.label">label</a></code> </dt> + <dd>Type: <em>string</em></dd> + <dd>If present and not empty, this will be exposed to screen readers through the <a href="/en/XUL/Property/textbox.label" title="en/XUL/Property/textbox.label">label</a> property.</dd> +</dl> +</div> <div id="a-max"> + +<dl> + <dd> + Type: <em>integer</em></dd> + <dd> + The maximum value that the scale or number box may be set to. The default value is 100 for scales and Infinity for number boxes.</dd> +</dl> + +<p> </p> +</div> <div id="a-maxlength"> + + +<dl> + <dt><code id="a-maxlength"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/maxlength">maxlength</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The maximum number of characters that the textbox allows to be entered.</dd> +</dl> +</div> <div id="a-min"> + +<dl> + <dt> + <code id="a-min"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/min">min</a></code></dt> + <dd> + Type: <em>integer</em></dd> + <dd> + The minimum value the control's value may take. The default value is 0.</dd> +</dl> +<p> </p> +</div> <div id="a-multiline"> + + +<dl> + <dt><code id="a-multiline"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/multiline">multiline</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If <code>true</code>, the textbox displays multiple lines. If the user presses Enter, a new line is started. If <code>false</code>, the textbox only allows entry of one line.</dd> +</dl> +</div> <div id="a-newlines"> + + +<dl> + <dt><code id="a-newlines"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/newlines">newlines</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>How the text box handles pastes with newlines in them.</dd> + <dd>Possible values: + <dl> + <dt><code>pasteintact</code></dt> + <dd>Paste newlines unchanged</dd> + <dt><code>pastetofirst</code></dt> + <dd>Paste text up to the first newline, dropping the rest of the text</dd> + <dt><code>replacewithcommas</code></dt> + <dd>Pastes the text with the newlines replaced with commas</dd> + <dt><code>replacewithspaces</code></dt> + <dd>Pastes the text with newlines replaced with spaces</dd> + <dt><code>strip</code></dt> + <dd>Pastes the text with the newlines removed</dd> + <dt><code>stripsurroundingwhitespace</code></dt> + <dd>Pastes the text with newlines and adjacent whitespace removed</dd> + </dl> + </dd> +</dl> +</div> <div id="a-textbox.onchange"> + + +<dl> + <dt><code id="a-textbox.onchange"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/textbox.onchange">onchange</a></code></dt> + <dd>Type: <em>script code</em></dd> + <dd>This event is sent when the value of the textbox is changed. The event is not sent until the focus is moved to another element.</dd> +</dl> + + +</div> <div id="a-oninput"> + + +<dl> + <dt><code id="a-oninput"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/oninput">oninput</a></code></dt> + <dd>Type: <em>script code</em></dd> + <dd>This event is sent when a user enters text in a <code><a href="/en-US/docs/Mozilla/Tech/XUL/textbox" title="textbox">textbox</a></code>. This event is only called when the text displayed would change, thus it is not called when the user presses non-displayable keys.</dd> +</dl> + + +</div> <div id="p-placeholder"></div> <div id="a-preference"> + + +<dl> + <dt><code id="a-preference"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/preference">preference</a></code></dt> + <dd>Type: <em>id</em></dd> + <dd>Connects the element to a corresponding <code><a href="/en-US/docs/Mozilla/Tech/XUL/preference" title="preference">preference</a></code>. This attribute only has any effect when used inside a <code><a href="/en-US/docs/Mozilla/Tech/XUL/prefwindow" title="prefwindow">prefwindow</a></code>. More information is available in the <a href="../../../../en/Preferences_System" rel="internal">Preferences System</a> article.</dd> +</dl> +</div> <div id="a-readonly"> + + +<dl> + <dt><code id="a-readonly"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/readonly">readonly</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If set to <code>true</code>, then the user cannot change the value of the element. However, the value may still be modified by a script.</dd> +</dl> +</div> <div id="a-rows"> + +<dl> + <dt> + <code id="a-rows"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/rows">rows</a></code></dt> + <dd> + Type: <em>integer</em></dd> + <dd> + The number of rows to display in the element. If the element contains more than this number of rows, a scrollbar will appear which the user can use to scroll to the other rows. To get the actual number of rows in the element, use the <span id="m-getRowCount"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/getRowCount">getRowCount</a></code></span> method.</dd> +</dl> +</div> <div id="a-searchbutton"> + + +<dl> + <dt><code id="a-searchbutton"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/searchbutton">searchbutton</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If <code>true</code>, the search field will only fire a command event when the user presses the search button or presses the <code>Enter</code> key. Otherwise, the command event is fired whenever the user modifies the value. This attribute only applies to textboxes with the type <code>search</code>.</dd> +</dl> +</div><div id="a-size"> + + +<dl> + <dt><code id="a-size"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/size">size</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The number of characters that can be displayed in the textbox.</dd> +</dl> +</div> <div id="a-spellcheck"> + + +<dl> + <dt><code id="a-spellcheck"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/spellcheck">spellcheck</a></code> </dt> + <dd>Type: <em>boolean</em></dd> + <dd>If <code>true</code>, spell checking is enabled by default for the text box; if <code>false</code>, spell checking is disabled by default.</dd> + <dd>If not specified, this defaults to <code>false</code></dd> +</dl> + +<p><span style="font-family: Georgia,Times,'Times New Roman',serif; font-size: 1.628em; font-style: inherit; font-variant: inherit; line-height: 1.1em;">The HTML</span></p> + +<article style="margin: 0px; padding: 0px; border: 0px; font-family: 'Open Sans', Arial, sans-serif; line-height: 16px; font-size: 16px; vertical-align: baseline; position: relative;"> +<p style="margin: 0px 0px 0.8em; padding: 0px; border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: 1.6em; vertical-align: baseline;">The <code style="margin: 0px; padding: 2px 7px; border: 0px; font-family: monospace, sans-serif; font-style: inherit; font-variant: inherit; font-weight: bold; line-height: inherit; font-size: 16px; vertical-align: baseline; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">spellcheck</code> attribute uses values of true or false (you cannot simply add the spellcheck attribute to a given element):</p> + +<pre class="html language-html" style="margin-top: 0.5em; margin-bottom: 0.5em; padding: 1em; border: 0px; font-family: Consolas, Monaco, 'Andale Mono', monospace; font-style: inherit; font-variant: inherit; line-height: 1.6em; font-size: 0.8em; vertical-align: baseline; background-color: rgb(245, 242, 240); color: black; text-shadow: white 0px 1px; direction: ltr;"><code class="language-html" style="margin: 0px; padding: 0px; border: 0px; font-family: Consolas, Monaco, 'Andale Mono', monospace; font-style: inherit; font-variant: inherit; line-height: inherit; font-size: 13px; vertical-align: baseline; text-shadow: white 0px 1px; direction: ltr;"><span class="comment token" style="border: 0px; color: #708090; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><!-- spellcheck everything! --></span> +<span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><</span>input</span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">type</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>text<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">spellcheck</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>true<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span> <span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/></span></span><span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><</span>br</span> <span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/></span></span> +<span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><</span>textarea</span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">spellcheck</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>true<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">></span></span><span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"></</span>textarea</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">></span></span> +<span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><</span>div</span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">contenteditable</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>true<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">spellcheck</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>true<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">></span></span>I am some content<span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"></</span>div</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">></span></span> + +<span class="comment token" style="border: 0px; color: #708090; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><!-- spellcheck nothing! --></span> +<span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><</span>input</span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">type</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>text<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">spellcheck</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>false<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span> <span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/></span></span><span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><</span>br</span> <span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/></span></span> +<span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><</span>textarea</span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">spellcheck</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>false<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">></span></span><span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"></</span>textarea</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">></span></span> +<span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><</span>div</span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">contenteditable</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>true<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span> <span class="attr-name token" style="border: 0px; color: #669900; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">spellcheck</span><span class="attr-value token" style="border: 0px; color: #0077aa; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span>false<span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">"</span></span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">></span></span>I am some content<span class="tag token" style="border: 0px; color: #990055; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="tag token" style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"></</span>div</span><span class="punctuation token" style="border: 0px; color: #999999; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">></span></span></code></pre> + +<p style="margin: 0px 0px 0.8em; padding: 0px; border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: 1.6em; vertical-align: baseline;">You can use spellcheck on <code style="margin: 0px; padding: 2px 7px; border: 0px; font-family: monospace, sans-serif; font-style: inherit; font-variant: inherit; font-weight: bold; line-height: inherit; font-size: 16px; vertical-align: baseline; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">INPUT</code>, <code style="margin: 0px; padding: 2px 7px; border: 0px; font-family: monospace, sans-serif; font-style: inherit; font-variant: inherit; font-weight: bold; line-height: inherit; font-size: 16px; vertical-align: baseline; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">TEXTAREA</code>, and <code style="margin: 0px; padding: 2px 7px; border: 0px; font-family: monospace, sans-serif; font-style: inherit; font-variant: inherit; font-weight: bold; line-height: inherit; font-size: 16px; vertical-align: baseline; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">contenteditable</code> elements. The<code style="margin: 0px; padding: 2px 7px; border: 0px; font-family: monospace, sans-serif; font-style: inherit; font-variant: inherit; font-weight: bold; line-height: inherit; font-size: 16px; vertical-align: baseline; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">spellcheck</code> attribute works well paired with the <font face="inherit"><span style="font-style: inherit; font-variant: inherit; line-height: inherit;">autocomplete, autocapitalize, and autocorrect attributes</span></font> too!</p> + +<p style="margin: 0px 0px 0.8em; padding: 0px; border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: 1.6em; vertical-align: baseline;">Added from David Walsh's article on <a href="http://davidwalsh.name/spellcheck">Spell Check</a>.</p> +</article> +</div> <div id="a-tabindex"> + + +<dl> + <dt><code id="a-tabindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The tab order of the element. The tab order is the order in which the focus is moved when the user presses the "<code>tab</code>" key. Elements with a higher <code>tabindex</code> are later in the tab sequence.</dd> +</dl> +</div> <div id="a-timeout"> + + +<dl> + <dt><code id="a-timeout"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/timeout">timeout</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>For autocomplete textboxes, the number of milliseconds before the textbox starts searching for completions. The default is 50 milliseconds. For search textboxes, the number of milliseconds before the timer fires a command event. The default is 500 milliseconds. For timed textboxes, the number of milliseconds before the timer fires a command event. There is no default. The timer starts after the user types a character. If the user types another character, the timer resets.</dd> +</dl> +</div> <div id="a-textbox.type"> + + +<dl> + <dt><code id="a-textbox.type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/textbox.type">type</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>You can set the type attribute to one of the values below for a more specialized type of textbox. Don't set the type if you wish to use a regular textbox.</dd> + <dd> + <dl> + <dt><code>autocomplete</code></dt> + <dd>A textbox that supports autocomplete. For more information about autocomplete textboxes, see the autocomplete documentation (<a href="/En/XUL/Textbox_(XPFE_autocomplete)" title="En/XUL/Textbox (XPFE autocomplete)">XPFE</a> [Thunderbird/SeaMonkey]) (<a href="/En/XUL/Textbox_(Toolkit_autocomplete)" title="en/XUL/textbox_(Firefox_autocomplete)">Firefox</a>)</dd> + <dt><code>number</code></dt> + <dd> A textbox that only allows the user to enter numbers. In addition, arrow buttons appear next to the textbox to let the user step through values. There are several attributes that allow the number textbox to be configured, including <code id="a-decimalplaces"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/decimalplaces">decimalplaces</a></code>, <code id="a-min"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/min">min</a></code>, <code id="a-max"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/max">max</a></code>, <code id="a-increment"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/increment">increment</a></code>, <code id="a-wraparound"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/wraparound">wraparound</a></code>, <code id="a-hidespinbuttons"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/hidespinbuttons">hidespinbuttons</a></code>, and <code id="a-textbox.value"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/textbox.value">textbox.value</a></code>.</dd> + <dt><code>password</code></dt> + <dd>A textbox that hides what is typed, used for entering passwords.</dd> + <dt><code>search</code></dt> + <dd> A textbox intended for searching. The command event will fire as the user modifies the value. A listener for the command event should update search results. If the <code id="a-searchbutton"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/searchbutton">searchbutton</a></code> attribute is set to <code>true</code>, the command event is only fired if the user presses the search button or presses the <code>Enter </code>key. You may specify grey text to appear when the search box is empty using the <code id="a-emptytext"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/emptytext">emptytext</a></code> attribute, and a timeout may be set for the command event using the <code id="a-timeout"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/timeout">timeout</a></code> attribute (defaults to 500).</dd> + <dt><code>timed</code></dt> + <dd><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> This textbox will fire a command event after the user types characters and a certain time has passed. The delay is set with the <code id="a-timeout"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/timeout">timeout</a></code> attribute. The command event will fire if the user presses the <code>Enter </code>key. The <code>timed</code> type is deprecated in Gecko 1.9.1 and the <code>search</code> textbox may be used instead.</dd> + </dl> + </dd> +</dl> + + +</div> <div id="a-textbox.value"> + + +<dl> + <dt><code id="a-textbox.value"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/textbox.value">value</a></code></dt> + <dd>Type: <em>string</em></dd> + <dd>The default value entered in a textbox. The attribute only holds the default value and is never modified when the user enters text. To get the updated value, use the <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/value">value</a></span></code> property. For number boxes, the default is 0 or the minimum value returned by the <code>min</code> property, whichever is higher.</dd> +</dl> + + +</div> <div id="a-wrap"> + + +<dl> + <dt><code id="a-wrap"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/wrap">wrap</a></code></dt> + <dd>Type: <em>string</em></dd> + <dd>Set this attribute to the value <code>off</code> to disable word wrapping in the textbox. If this attribute is not specified, word wrapping is enabled.</dd> +</dl> +</div> <div id="a-wraparound"> + + +<dl> + <dt><code id="a-wraparound"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/wraparound">wraparound</a></code> </dt> + <dd>Type: <em>boolean</em></dd> + <dd>If <code>true</code>, the value of the number box will wrap around when the maximum or minimum value is exceeded. The minimum and maximum values must both not be infinity.</dd> +</dl> +</div> +<h3 id="Eigenschaften">Eigenschaften</h3> +<p> </p><div id="p-accessibleType"></div> <div id="p-clickSelectsAll"></div> <div id="p-decimalPlaces"></div> <div id="p-decimalSymbol"></div> <div id="p-defaultValue"></div> <div id="p-disabled"></div> <div id="p-editor"></div> <div id="p-emptyText"></div> <div id="p-increment"></div> <div id="p-inputField"></div> <div id="p-textbox.label"></div> <div id="p-max"></div> <div id="p-maxLength"></div> <div id="p-min"></div> <div id="a-placeholder"> + + +<dl> + <dt><code id="a-placeholder"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/placeholder">placeholder</a></code> </dt> + <dd>Type: <em>string</em></dd> + <dd>A string that appears in the textbox when it has no value.</dd> +</dl> +</div> <div id="p-readOnly"></div> <div id="p-searchButton"></div> <div id="p-selectionEnd"></div> <div id="p-selectionStart"></div> <div id="p-size"></div> <div id="p-spinButtons"></div> <div id="p-tabIndex"></div> <div id="p-textLength"></div> <div id="p-timeout"></div> <div id="p-type"></div> <div id="p-textbox.value"></div> <div id="p-valueNumber"></div> <div id="p-wrapAround"></div> +<h3 id="Methoden">Methoden</h3> +<p> </p><table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Styleklassen">Styleklassen</h3> +<p>Folgende Klassen können benutzt werden, um den Stil des Elements zu bestimmen. Statt den Stil des Elements direkt zu ändern, sollten diese Klassen zu Hilfe genommen werden, da sie sich natürlicher in das vom Benutzer gewählte Theme der Benutzeroberfläche einfügen.</p> +<dl> + <dt><code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/plain">plain</a></code></dt> + <dd>This class causes the element to be displayed with no border or margin.</dd> +</dl> +<h3 id="Hinweise">Hinweise</h3> +<p>Das <code>maxlength</code> Attribut funktioniert nicht, wenn man im Mehrzeilenmodus ist. Ein Workaround mittels JavaScript und dem <code>onkeypress</code> Eventhandler stellt eine Lösung dar.</p> +<p>Das XUL script:</p> +<pre class="brush: xml"><textbox id="pnNote" multiline="true" rows="2" cols="70" onkeypress="return pnCountNoteChars(event);"/> +</pre> +<p>Das Javascript:</p> +<pre class="brush: js">function pnCountNoteChars(evt) { + //Erlaube Tasten, die keine Zeichen sind (Entfernen, Backspace etc.) + if ((evt.charCode == 0) && (evt.keyCode != 13)) + return true; + + if(evt.target.value.length < 10) { + return true; + } else { + return false; + } +}</pre> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Schnittstellen</dt> <dd><a href="/de/XPCOM_Interface_Referenz/nsIAccessibleProvider" title="de/XPCOM_Interface_Referenz/nsIAccessibleProvider">nsIAccessibleProvider</a>, <a href="/de/NsIDOMXULTextboxElement" title="de/NsIDOMXULTextboxElement">nsIDOMXULTextboxElement</a></dd> +</dl> diff --git a/files/de/archive/mozilla/xul/treecol/index.html b/files/de/archive/mozilla/xul/treecol/index.html new file mode 100644 index 0000000000..dbfeb1c995 --- /dev/null +++ b/files/de/archive/mozilla/xul/treecol/index.html @@ -0,0 +1,262 @@ +--- +title: treecol +slug: Archive/Mozilla/XUL/treecol +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/treecol +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Eine Spalte eines <code><a href="/de/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code> Elementes. Dieses Element zeigt einen Spaltenkopf an und beinhaltet Informationen über Größe und andere Eingenschaften über die Spalte. Außerdem können <code><a href="/de/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code> Elemente zwischen den einzelnen Spalten gesetzt werden, um Veränderungen an der Spaltengröße zu erlauben. Es sollte immer ein <code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> Attribut für ein <code>treecol</code> Element festgelegt werden, um sicher zu gehen, dass die Spaltenpositionierung richtig angewendet wird.</p> +<p>Weitere Informationen finden sich im <a href="/de/XUL_Tutorial/Bäume" title="de/XUL_Tutorial/Bäume">XUL Tutorial</a>.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-crop">crop</a>, <a href="#a-cycler">cycler</a>, <a href="#a-dragging">dragging</a>, <a href="#a-treecol.editable">editable</a>, <a href="#a-fixed">fixed</a>, <a href="#a-hidden">hidden</a>, <a href="#a-hideheader">hideheader</a>, <a href="#a-ignoreincolumnpicker">ignoreincolumnpicker</a>, <a href="#a-label">label</a>, <a href="#a-primary">primary</a>, <a href="#a-sort">sort</a>, <a href="#a-sortActive">sortActive</a>, <a href="#a-sortDirection">sortDirection</a>, <a href="#a-treecol.src">src</a>, <a href="#a-treecol.type">type</a>, <a href="#a-treecol.width">width</a></dd> +</dl> +<dl> <dt>Eigenschaften</dt> <dd><a href="#p-accessibleType">accessibleType</a></dd> +</dl> +<dl> <dt>Style Klassen</dt> <dd><a href="#s-treecol-image">treecol-image</a></dd> +</dl> +<h3 id="Beispiele">Beispiele</h3> +<div class="float-right"><img alt="Image:Xul_tree_col_checked.png" class=" internal" src="/@api/deki/files/488/=Xul_tree_col_checked.png"></div> +<p>Dieses Beispiel zeigt eine Checkbox in der ersten Spalte.</p> +<pre><tree flex="1" editable="true"> + + <treecols> + <treecol label="Active" type="checkbox" editable="true"/> + <treecol label="Name" flex="1" /> + </treecols> + + <treechildren> + <treeitem> + <treerow> + <treecell value="true"/> + <treecell label="Alice"/> + </treerow> + </treeitem> + <treeitem> + <treerow> + <treecell value="false"/> + <treecell label="Bob"/> + </treerow> + </treeitem> + </treechildren> + +</tree> +</pre> +<p>Um die Checkbox auf einigen Plattformen sichtbar zu machen, müssen die folgenden Angaben zum Stylesheet hinzugefügt werden (siehe <a href="/de/XUL/Attribute/treecol.type" title="de/XUL/Attribute/treecol.type">treecol.type</a>). Bei Firefox 2.x und 3.x, benutzen alle Betriebssysteme außer Mac OS X diese Angaben bereits als Standard. Um Firefox für Mac OS X mit einzubeziehen, sollten diese Angaben auf jeden Fall notiert werden und ein eigenes Checkbox-Bild verwendet werden. Für SeaMonkey auf Mac OS X <em>ist</em> das Bild <code><a class=" external" rel="freelink">chrome://global/skin/checkbox/cbox-check.gif</a></code> jedoch verfügbar.</p> +<pre>treechildren::-moz-tree-checkbox { + /* nicht angewählte Baumzellen. Dieser Deklaration MUSS vor treechildren::-moz-tree-checkbox(checked) erfolgen, sonst führt es zu keinem Effekt. */ + list-style-image: none; +} + +treechildren::-moz-tree-checkbox(checked){ + /* css für angewählte Zellen. cbox-check.gif ist in Firefox 1, 2, und 3 auf Mac OS X nicht verfügbar, es sollte also eine URL auf ein Bild in der Erweiterung oder woanders festgelegt werden. */ + list-style-image: url("chrome://global/skin/checkbox/cbox-check.gif"); +} +</pre> +<h3 id="Attribute">Attribute</h3> +<p> </p><div id="a-crop"> + +<dl> + <dt> + <code id="a-crop"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/crop">crop</a></code></dt> + <dd> + Type: <em>one of the values below</em></dd> + <dd> + If the label of the element is too big to fit in its given space, the text will be cropped on the side specified by the <code>crop</code> attribute. An ellipsis will be used in place of the cropped text. If the box direction is reversed, the cropping is reversed.</dd> + <dd> + <dl> + <dt> + <code>start</code></dt> + <dd> + The text will be cropped on its left side in left-to-right text locales, and the right side in right-to-left locales.</dd> + <dt> + <code>end</code></dt> + <dd> + The text will be cropped on its right side in left-to-right text locales, and the right side in right-to-left locales.</dd> + <dt> + <code>left</code></dt> + <dd> + <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> The text will be cropped on its left side.</dd> + <dt> + <code>right</code></dt> + <dd> + <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> The text will be cropped on its right side.</dd> + <dt> + <code>center</code></dt> + <dd> + The text will be cropped in the middle, showing both the start and end of the text normally.</dd> + <dt> + <code>none</code></dt> + <dd> + The text will be not be cropped using an ellipsis. However, the text will simply be cut off if it is too large. The side depends on the CSS text alignment.</dd> + </dl> + </dd> + <dd> + Depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped. If you wish to use the value <code>none</code> and the displayed text is larger than this maximum width, you may be able to use the max-width CSS property (or the maxwidth attribute) to override this size. For example, for a menuitem in a menu you can add the following CSS rule when you want to use the value <code>none</code>:</dd> + <dd> + <pre class="eval">menupopup > menuitem, menupopup > menu { max-width: none; } +</pre> + </dd> +</dl> +</div> <div id="a-cycler"> + + +<dl> + <dt><code id="a-cycler"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/cycler">cycler</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If <code>true</code>, then the column is a cycler column. In the case, clicking on a cell in the column will alternate its state between on and off. This is used, for example, in a mail window, for a column that indicates that the message is read or unread with a small mark in the cell. If the cycler attribute is not set, the cell is a regular text cell.</dd> +</dl> +</div> <div id="a-dragging"> + + +<dl> + <dt><code id="a-dragging"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dragging">dragging</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>This attribute will be set to <code>true</code> if the column is being dragged. This attribute is set automatically; you shouldn't adjust it yourself.</dd> +</dl> +</div> <div id="a-treecol.editable"> + + +<dl> + <dt><code id="a-treecol.editable"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/treecol.editable">editable</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>Allows the contents of cells in the column to be changed, especially useful when <code>type="checkbox"</code>. When the user double-clicks an editable cell, a text field appears in which the user can edit the contents of the cell.</dd> +</dl> + +<dl> + <dd>The <code><a href="/en-US/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code> must also be <strong>marked as editable</strong> in order for this to work. Individual <code><a href="/en-US/docs/Mozilla/Tech/XUL/treecell" title="treecell">treecell</a></code> elements in the column may be marked <code>editable="false"</code> in order to disable editing.</dd> +</dl> +</div> <div id="a-fixed"> + + +<dl> + <dt><code id="a-fixed"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/fixed">fixed</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If <code>true</code>, the size of the column in the tree cannot be adjusted by the user. Any <code><a href="/en-US/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code> to either side will resize those columns while keeping the fixed column at a constant size. If <code>false</code> or not specified, the user can adjust the size of the column, typically by dragging the column header with the mouse.</dd> +</dl> +</div> <div id="a-hidden"> + + +<dl> + <dt><code id="a-hidden"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If set to true, the element is not displayed. This is similar to setting the CSS display property to 'none'.</dd> +</dl> + + +</div> <div id="a-hideheader"> + + +<dl> + <dt><code id="a-hideheader"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/hideheader">hideheader</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>Set this to <code>true</code> to indicate that the <a href="/en/XUL/treecol" title="en/XUL/treecol">tree column</a> header should be displayed without any column header styling. If you don't set a <code>label</code> for that column either, the header is not displayed at all.</dd> +</dl> +</div> <div id="a-ignoreincolumnpicker"> + + +<dl> + <dt><code id="a-ignoreincolumnpicker"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ignoreincolumnpicker">ignoreincolumnpicker</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If <code>true</code>, the column does not appear in the column picker.</dd> +</dl> +</div> <div id="a-label"> + +<dl> <dt><code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></dt> <dd>Typ: <em>string</em></dd> <dd>Die Beschriftung für das Element. Wird das Attribut nicht angegeben, so erscheint auch kein Beschriftungstext.</dd> +</dl> + +</div> <div id="a-primary"> + + +<dl> + <dt><code id="a-primary"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/primary">primary</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>If set to <code>true</code>, the <code><a href="/en-US/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code> will have indentation and twisties drawn to the left of it to indicate the hierarchy level of the rows. If no column has the primary attribute set to <code>true</code>, the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code> may still contain nested rows, although no indication will be given to the user. The attribute also controls whether the column picker allows the user to deselect this column.</dd> +</dl> +</div> <div id="a-sort"> + + +<dl> + <dt><code id="a-sort"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sort">sort</a></code></dt> + <dd>Type: <em>URI or XML attribute</em></dd> + <dd>Set this to a RDF property or XML attribute to have the data in the column sorted based on that property. The property will usually be the same as that of the cell label.</dd> +</dl> +</div> <div id="a-sortActive"> + + +<dl> + <dt><code id="a-sortActive"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sortActive">sortActive</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>This should be set to <code>true</code> for the column which should be sorted by default.</dd> +</dl> +</div> <div id="a-sortDirection"> + + +<dl> + <dt><code id="a-sortDirection"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>Set this attribute to set the direction that template-generated content is sorted. Use the <code id="a-sortResource"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code> attribute to specify the sort key. + <dl> + <dt><code>ascending</code></dt> + <dd>The data is sorted in ascending order.</dd> + <dt><code>descending</code></dt> + <dd>The data is sorted in descending order.</dd> + <dt><code>natural</code></dt> + <dd>The data is sorted in natural order, which means the order that it is stored in.</dd> + </dl> + </dd> +</dl> +</div> <div id="a-treecol.src"> + +<dl> <dt><code id="a-treecol.src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/treecol.src">src</a></code></dt> <dd>Typ: <em>Bild-URL</em></dd> <dd>Um für das <code><a href="/de/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code> Element ein Bild für den Kopf, statt eines <code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> Attribut zu benutzen, kann dieses Attribut gesetzt werden. Im Kopf können nicht gleichzeitig Bild und Beschriftung angezeigt werden. Die URL eines Bildes, das als Spaltenkopf des Baums angezeigt wird, kann mit diesem Attribut festgelegt werden. Wird das Attribut nicht angegeben, erscheint kein Bild und es wird stattdessen die Beschriftung angezeigt. Damit das Bild erscheint, muss die Klasse <code><a href="https://developer.mozilla.org/de/docs/XUL/Style/treecol-image">treecol-image</a></code> für das <code><a href="/de/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code> Element gesetzt werden. Ein <code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> sollte dennoch für die Benutzung im Spaltenwähler angegeben werden, falls <code id="a-ignoreincolumnpicker"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ignoreincolumnpicker">ignoreincolumnpicker</a></code> nicht <code>true</code> ist und <code id="a-hidecolumnpicker"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidecolumnpicker">hidecolumnpicker</a></code> für den <code><a href="/de/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code> ebenfalls nicht <code>true</code> ist .</dd> +</dl> + +</div> <div id="a-treecol.type"> + + +<dl> + <dt><code id="a-treecol.type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/treecol.type">type</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>The type of <a href="/en/XUL/treecol" title="en/XUL/treecol">tree column</a>. The default is a text column that displays the content as text.</dd> + <dd> + <dl> + <dt><code>checkbox</code></dt> + <dd>The content of the columns are checkboxes.</dd> + <dt><code>progressmeter</code></dt> + <dd>The content of the columns are a progress meters. This is used in Mozilla's download manager window.</dd> + <dt><code>text</code></dt> + <dd>The content of the columns is text.</dd> + </dl> + </dd> +</dl> + + +</div> <div id="a-treecol.width"> + + +<dl> + <dt><code id="a-treecol.width"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/treecol.width">width</a></code></dt> + <dd>Type: <em>string</em> (representing an integer)</dd> + <dd>The preferred width of the tree column. The value should not include a unit as all values are in pixels. Specifying widths for your columns causes Gecko to allow the tree to be scrolled horizontally if it is wider than the available space.</dd> +</dl> +</div> +<h3 id="Eigenschaften">Eigenschaften</h3> +<div id="p-accessibleType"></div> <table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Style_Klassen">Style Klassen</h3> +<p>Die folgenden Style Klassen können verwendet werden, um das Aussehen des Elementes zu verändern. Diese Klasse sollte verwendet werden, anstatt das Aussehen des Elementes direkt zu verändern, damit es dann besser mit dem, vom Benutzer gewählten, Theme zusammenarbeiten kann.</p> +<dl> <dt><code><a href="https://developer.mozilla.org/de/docs/XUL/Style/treecol-image">treecol-image</a></code></dt> <dd>Um ein Bild als Kopf der <a href="/de/XUL/treecol" title="de/XUL/treecol">Baumspalte</a> anzuzeigen, wird diese Klasse benutzt. Das Bild selbst wird über das Attribut <code id="a-src"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code> angegeben.</dd> +</dl> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Elemente</dt> <dd><a href="/de/XUL/tree" title="de/XUL/tree">tree</a>, <a href="/de/XUL/treecols" title="de/XUL/treecols">treecols</a>, <a href="/de/XUL/treechildren" title="de/XUL/treechildren">treechildren</a>, <a href="/de/XUL/treeitem" title="de/XUL/treeitem">treeitem</a>, <a href="/de/XUL/treerow" title="de/XUL/treerow">treerow</a>, <a href="/de/XUL/treecell" title="de/XUL/treecell">treecell</a> und <a href="/de/XUL/treeseparator" title="de/XUL/treeseparator">treeseparator</a>.</dd> <dt>Schnittstellen</dt> <dd><a href="/de/XPCOM_Schnittstellen_Referenz/nsIAccessibleProvider" title="de/XPCOM_Schnittstellen_Referenz/nsIAccessibleProvider">nsIAccessibleProvider</a></dd> +</dl> diff --git a/files/de/archive/mozilla/xul/vbox/index.html b/files/de/archive/mozilla/xul/vbox/index.html new file mode 100644 index 0000000000..d45736c02a --- /dev/null +++ b/files/de/archive/mozilla/xul/vbox/index.html @@ -0,0 +1,100 @@ +--- +title: vbox +slug: Archive/Mozilla/XUL/vbox +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/vbox +--- +<div class="noinclude"> + <span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Ein Behälterelement, das eine gewünschte Anzahl von Kindelementen enthalten kann. Gleichwertig zum Element <code><code><a href="/de/docs/Mozilla/Tech/XUL/box" title="box">box</a></code></code>, mit dem Unterschied, dass die Ausrichtung per Vorgabe vertikal ist.</p> +<p>Mehr Information im <a href="/de/XUL_Tutorial/Das_Box-Modell">XUL Tutorial</a>.</p> +<h3 id="Beispiel" name="Beispiel">Beispiel</h3> +<pre><!-- Zwei Beschriftungen am unteren Rand --> +<vbox> + <spacer flex="1"/> + <label value="Eins"/> + <label value="Zwei"/> +</vbox> +</pre> +<h3 id="Attribute" name="Attribute">Attribute</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);"> +<tbody> +<tr> +<td><p><strong>Geerbt von XUL-Element</strong><br> <small> +<code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>, +<code id="a-allowevents"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>, +<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>, +<code id="a-class"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>, +<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>, +<code id="a-collapsed"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>, +<code id="a-container"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>, +<code id="a-containment"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>, +<code id="a-context"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>, +<code id="a-contextmenu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>, +<code id="a-datasources"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>, +<code id="a-dir"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>, +<code id="a-empty"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>, +<code id="a-equalsize"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>, +<code id="a-flags"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>, +<code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>, +<code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>, +<code id="a-hidden"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>, +<code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>, +<code id="a-insertafter"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>, +<code id="a-insertbefore"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>, +<code id="a-left"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>, +<code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>, +<code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>, +<code id="a-menu"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>, +<code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>, +<code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>, +<code id="a-mousethrough"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>, +<code id="a-observes"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>, +<code id="a-ordinal"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>, +<code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>, +<code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>, +<code id="a-persist"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>, +<code id="a-popup"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>, +<code id="a-position"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>, +<code id="a-preference-editable"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>, +<code id="a-querytype"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>, +<code id="a-ref"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>, +<code id="a-removeelement"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>, +<code id="a-sortDirection"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>, +<code id="a-sortResource"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>, +<code id="a-sortResource2"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>, +<code id="a-statustext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>, +<code id="a-style"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>, +<code id="a-template"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>, +<code id="a-tooltip"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>, +<code id="a-tooltiptext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>, +<code id="a-top"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>, +<code id="a-uri"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>, +<code id="a-wait-cursor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>, +<code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p> +</td> +</tr> +</tbody> +</table> +<h3 id="Eigenschaften" name="Eigenschaften">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden" name="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Verwandte_Themen" name="Verwandte_Themen">Verwandte Themen</h3> +<dl> + <dt> + Elemente</dt> + <dd> + <code><a href="/de/docs/Mozilla/Tech/XUL/box" title="box">box</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/hbox" title="hbox">hbox</a></code></dd> +</dl> diff --git a/files/de/archive/mozilla/xul/window/index.html b/files/de/archive/mozilla/xul/window/index.html new file mode 100644 index 0000000000..8dfd0cb192 --- /dev/null +++ b/files/de/archive/mozilla/xul/window/index.html @@ -0,0 +1,209 @@ +--- +title: window +slug: Archive/Mozilla/XUL/Window +tags: + - XUL Elemente + - XUL Referenz +translation_of: Archive/Mozilla/XUL/window +--- +<div class="noinclude"><span class="breadcrumbs XULRef_breadcrumbs"> + « <a href="/de/docs/XUL_Referenz">XUL Referenz Startseite</a> [ + <a href="#Beispiele">Beispiele</a> | + <a href="#Attribute">Attribute</a> | + <a href="#Eigenschaften">Eigenschaften</a> | + <a href="#Methoden">Methoden</a> | + <a href="#Verwandte_Themen">Verwandte Themen</a> ] +</span></div> +<p>Beschreibt die Struktur eines Fensters. Dieses Element ist der Wurzelknoten eines XUL Dokuments. Das Fenster ist standardmäßig eine horizontal ausgerichtete Box und daher können alle <a href="/De/XUL/Box" title="De/XUL/Box">box</a> Attribute verwendet werden. Per Voreinstellung liegt um das Fenster ein plattform-spezifischer Rahmen.</p> +<p>Um ein Icon für das Fenster festzulegen, muss eine plattform-spezifische Icon-Datei <var><windowid></var><code>.ico</code> und/oder <var><windowid></var><code>.xpm</code> erstellt und in das <var><mozilla-verzeichnis></var><code>/chrome/icons/default/</code> Verzeichnis platziert oder installiert werden. Die <var><windowid></var> ist der Wert des id Attributs des Fensters. Dadurch wird für jedes Fenster ein unterschiedliches Icon ermöglicht.</p> +<p>Ohne die CSS Datei unter "<a class=" external" rel="freelink">chrome://global/skin/</a>" einzubinden, wird das Fenster nicht durch CSS formatiert, unsichtbar und funktioniert nicht einwandfrei, wenn es als Dialog geöffnet wird.</p> +<p>Weitere Informationen sind im <a href="/de/XUL_Tutorial/Ein_Fenster_erzeugen" title="de/XUL_Tutorial/Ein_Fenster_erzeugen">XUL Tutorial</a> verfügbar.</p> +<dl> <dt>Attribute</dt> <dd><a href="#a-accelerated">accelerated</a>, <a href="#a-drawintitlebar">drawintitlebar</a>, <a href="#a-height">height</a>, <a href="#a-hidechrome">hidechrome</a>, <a href="#a-id">id</a>, <a href="#a-lightweightthemes">lightweightthemes</a>, <a href="#a-lightweightthemesfooter">lightweightthemesfooter</a>, <a href="#a-screenX">screenX</a>, <a href="#a-screenY">screenY</a>, <a href="#a-sizemode">sizemode</a>, <a href="#a-title">title</a>, <a href="#a-width">width</a>, <a href="#a-windowtype">windowtype</a></dd> +</dl> +<h3 id="Beispiele">Beispiele</h3> +<pre><?xml version="1.0"?> +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> +<!-- Extremely recommended to keep this css include!! --> +<window id="rootWnd" title="Register Online!" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> + <vbox> + <hbox> + <image src="application_form.png"/> + <description>Register Online!</description> + </hbox> + <groupbox align="start"> + <caption label="Your Information"/> + <radiogroup> + <vbox> + <hbox> + <label control="your-fname" value="Enter first name:"/> + <textbox id="your-fname" value="Johan"/> + </hbox> + <hbox> + <label control="your-lname" value="Enter last name:"/> + <textbox id="your-lname" value="Hernandez"/> + </hbox> + <hbox> + <button oncommand="alert('save!')"> + <description>Save</description> + </button> + </hbox> + </vbox> + </radiogroup> + </groupbox> + </vbox> +</window> +</pre> +<h3 id="Attribute">Attribute</h3> +<p> </p><div id="a-accelerated"> +<dl><dt><code id="a-accelerated"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/accelerated">accelerated</a></code> </dt><dd>Type: <em>boolean</em></dd><dd>Set this attribute to <code>true</code> to allow hardware layer managers to accelerate the window.</dd></dl> +</div> <div id="a-activetitlebarcolor"> + +<dl> <dt><code id="a-activetitlebarcolor"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/activetitlebarcolor">activetitlebarcolor</a></code> </dt> <dd>Typ: <em>color string</em></dd> <dd>Bestimmt die Hintergrundfarbe der Titelleiste eines Fensters, wenn es aktiv ist (Vordergrund). Außerdem versteckt dies die Trennlinie zwischen Titelleiste und Fensterinhalt. Dies trifft nur auf Mac OS Systeme zu.</dd> +</dl> + +</div> <div id="a-drawintitlebar"> + +<dl> <dt><code id="a-drawintitlebar"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/drawintitlebar">drawintitlebar</a></code> </dt> <dd>Type: <em>boolean</em></dd> <dd>If this attribute is <code>true</code>, the top of the window's content area will begin at the top edge of the title bar, instead of below the title bar. This allows the window to draw in the title bar. This is supported only from <code><a href="/en-US/docs/Mozilla/Tech/XUL/window" title="window">window</a></code> elements, and is ignored on platforms that don't support drawing into the title bar.</dd> +</dl> +</div> <div id="a-height"> + + +<dl> + <dt><code id="a-height"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code></dt> + <dd>Type: <em>string</em> (representing an integer)</dd> + <dd>The preferred height of the element in pixels. The actual displayed height may be different if the element or its contents have a minimum or maximum height. The CSS height property may also be used.</dd> +</dl> +</div> <div id="a-hidechrome"> + + +<dl> + <dt><code id="a-hidechrome"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/hidechrome">hidechrome</a></code></dt> + <dd>Type: <em>boolean</em></dd> + <dd>Set this attribute to <code>true</code> to have the chrome including the titlebar hidden.</dd> +</dl> +</div> <div id="a-id"> + + +<dl> + <dt><code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></dt> + <dd>Type: <em>unique id</em></dd> + <dd>A unique identifier so that you can identify the element with. You can use this as a parameter to <code><a href="/en-US/docs/DOM/document.getElementById" title="/en-US/docs/DOM/document.getElementById">getElementById()</a></code> and other DOM functions and to reference the element in style sheets.</dd> +</dl> + + +</div> <div id="a-inactivetitlebarcolor"> + + +<dl> + <dt><code id="a-inactivetitlebarcolor"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/inactivetitlebarcolor">inactivetitlebarcolor</a></code> </dt> + <dd>Type: <em>color string</em></dd> + <dd>Specify background color of the window's titlebar when it is inactive (background). Moreover this hides separator between titlebar and window contents. <em>This affects only on Mac OS X.</em></dd> +</dl> +</div> <div id="a-lightweightthemes"> + +<dl> <dt><code id="a-lightweightthemes"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/lightweightthemes">lightweightthemes</a></code> </dt> <dd>Type: <em>boolean</em></dd> <dd><code>true</code> if the window supports <a href="/en/Themes/Lightweight_themes" title="en/Themes/Lightweight themes">lightweight themes</a>, otherwise <code>false</code>.</dd> +</dl> +</div> <div id="a-lightweightthemesfooter"> + +<dl> <dt><code id="a-lightweightthemesfooter"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/lightweightthemesfooter">lightweightthemesfooter</a></code> </dt> <dd>Type: <em>id</em></dd> <dd>Specifies the ID of an element to which a <a href="/en/Themes/Lightweight_themes" title="en/Themes/Lightweight themes">lightweight theme</a>'s footer image will be applied.</dd> +</dl> +</div> <div id="a-screenX"> + + +<dl> + <dt><code id="a-screenX"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/screenX">screenX</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The horizontal position at which the window appears on the screen.</dd> +</dl> +</div> <div id="a-screenY"> + + +<dl> + <dt><code id="a-screenY"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/screenY">screenY</a></code></dt> + <dd>Type: <em>integer</em></dd> + <dd>The vertical position at which the window appears on the screen.</dd> +</dl> +</div> <div id="a-sizemode"> + + +<dl> + <dt><code id="a-sizemode"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sizemode">sizemode</a></code></dt> + <dd>Type: <em>one of the values below</em></dd> + <dd>The state of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/window" title="window">window</a></code>. It can have one of the following values:</dd> + <dd> + <dl> + <dt><code>maximized</code></dt> + <dd>The window is maximized, and occupies the full size of the screen.</dd> + <dt><code>normal</code></dt> + <dd>The window appears in a normal state at the desired size.</dd> + </dl> + </dd> +</dl> + +<p>This attribute is used to save and restore the state of a window (together with the <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/persist">persist</a></span></code> attribute) and for CSS styles (e.g. to hide the resizer grippy on maximized windows).</p> + +<div class="note"><strong>Note:</strong> When a window is minimized, the <code>sizemode</code> attribute is not updated. This is done so that if a window is closed while minimized, its persisted <code>sizemode</code> attribute wouldn't be <code>minimized</code>.</div> + +<p>Setting this attribute does not change the window state. Use <a href="/en-US/docs/Web/API/Window/maximize" title="The documentation about this has not yet been written; please consider contributing!"><code>window.maximize()</code></a>, <a href="/en-US/docs/Web/API/Window/restore" title="This method is currently not working, but you can use:"><code>window.restore()</code></a>, or <a href="/en-US/docs/Web/API/Window/minimize" title="The Window.minimize() method sets the window to a minimized state."><code>window.minimize()</code></a> to change the window state.</p> + +<p>To get the window state from JavaScript code, use <a href="/en-US/docs/Web/API/Window/windowState" title="The windowState read-only property of the Window interface returns the window's current state."><code>window.windowState</code></a>. Listen to the <a href="/en/XUL/Events#Window_events" title="en/XUL/Events#Window_events"><code>sizemodechange</code> event</a> dispatched to the DOM window to get notified when the window state changes.</p> + + +</div> <div id="a-title"> + + +<dl> + <dt><code id="a-title"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/title">title</a></code></dt> + <dd>Type: <em>string</em></dd> + <dd>The text to appear in the title bar of the window.</dd> +</dl> +</div> <div id="a-width"> + + +<dl> + <dt><code id="a-width"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code></dt> + <dd>Type: <em>string</em> (representing an integer)</dd> + <dd>The preferred width of the element. The value should not include a unit as all values are in pixels. The actual displayed width may be different if the element or its contents have a minimum or maximum width, or the size is adjusted by the flexibility or alignment of its parent. The CSS width property may also be used.</dd> +</dl> + + +</div> <div id="a-windowtype"> + +<dl> + <dt> + <code id="a-windowtype"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/windowtype">windowtype</a></code></dt> + <dd> + Type: <em>string</em></dd> + <dd> + Set to a string which can be used to identify the type of window. This might be used, for example, to distinguish between a browser window and an editor window. Some of Mozilla's window handling functions use this attribute to group windows of the same type together.</dd> +</dl> +<div class="note"> + <p>Values for window type as found on MXR: <a href="http://mxr.mozilla.org/mozilla-release/search?string=windowtype">http://mxr.mozilla.org/mozilla-release/search?string=windowtype</a></p> + <p><strong>navigator:browser </strong>- Looks like if window has gBrowser it has this window type</p> + <p><strong>devtools:scratchpad </strong>- Scratchpad windows</p> + <p><strong>navigator:view-source</strong> - The view source windows</p> +</div> + +<p> </p> +</div> +<h3 id="Eigenschaften">Eigenschaften</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Eigenschaften</strong><br> <small> <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/de/docs/XUL/Eigenschaften/width">width</a></span></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Methoden">Methoden</h3> +<table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>Geerbte Methoden</strong><br> <small><code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.addEventListener">element.addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.appendChild">node.appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.cloneNode">node.cloneNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.compareDocumentPosition">node.compareDocumentPosition()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.dispatchEvent">element.dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttribute">element.getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNode">element.getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNodeNS">element.getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getAttributeNS">element.getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getBoundingClientRect">element.getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getClientRects">element.getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Methoden/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByClassName">element.getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagName">element.getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.getElementsByTagNameNS">element.getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getFeature">node.getFeature()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.getUserData">node.getUserData()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttribute">element.hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.hasAttributeNS">element.hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasAttributes">nodes.hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.nodes.hasChildNodes">nodes.hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.insertBefore">node.insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isDefaultNamespace">node.isDefaultNamespace()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isEqualNode">node.isEqualNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSameNode">node.isSameNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.isSupported">node.isSupported()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupNamespaceURI">node.lookupNamespaceURI()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.lookupPrefix">node.lookupPrefix()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.normalize">node.normalize()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelector">element.querySelector()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.querySelectorAll">element.querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttribute">element.removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNode">element.removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeAttributeNS">element.removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.removeChild">node.removeChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.removeEventListener">element.removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.replaceChild">node.replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttribute">element.setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNode">element.setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNodeNS">element.setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.element.setAttributeNS">element.setAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/de/docs/DOM/element.node.setUserData">node.setUserData()</a></code></small></p> </td> </tr> </tbody> +</table> +<h3 id="Hinweise">Hinweise</h3> +<p>Die Fehlermeldung "<em>XML Parsing Error: undefined entity...<window</em>" kann durch eine fehlende oder nicht erreichbare DTD Datei, die in der XUL Datei angegeben wurde, verursacht werden. Ein Dateiname mit einem SYSTEM Schlüsselwort in einer DOCTYPE Deklaration kann unter Umständen auch nicht geladen werden, ohne dass eine solche Fehlermeldung ausgegeben wird. In diesem Fall kann die Fehlermeldung ein nicht definierter Entity Fehler am nächsten XUL Element sein.</p> +<h3 id="Verwandte_Themen">Verwandte Themen</h3> +<dl> <dt>Elemente</dt> <dd><code><a href="/de/docs/Mozilla/Tech/XUL/prefwindow" title="prefwindow">prefwindow</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code>, <code><a href="/de/docs/Mozilla/Tech/XUL/dialogheader" title="dialogheader">dialogheader</a></code></dd> +</dl> +<dl><a href="/de/Fenster_in_Chrome" title="de/Fenster_in_Chrome">Fenster in Chrome</a></dl> <h4 id="Benutzerhinweise">Benutzerhinweise</h4> <p>Um das Icon der Fenstertitelleiste zu ändern siehe: <a href="/de/Fenster_Icons" title="de/Fenster_Icons">Fenster Icons</a>.</p> <p>Um ein Favicon zur Adressleiste und zum Tab hinzufügen, kann der folgende Codeschnipsel verwendet werden.</p> <pre><window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + xmlns:html="http://www.w3.org/1999/xhtml"> + +<!-- Icon from chrome --> +<html:link rel="icon" href="chrome://myExtension/content/path/to/favicon.png"/> + +<!-- From a remote site --> +<html:link rel="icon" href="http://www.mozilla.org/favicon.ico"/> +</pre> diff --git a/files/de/archive/mozilla/xul/xul_referenz/index.html b/files/de/archive/mozilla/xul/xul_referenz/index.html new file mode 100644 index 0000000000..b92aa1361e --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_referenz/index.html @@ -0,0 +1,15 @@ +--- +title: XUL Referenz +slug: Archive/Mozilla/XUL/XUL_Referenz +tags: + - XUL + - XUL Referenz +translation_of: Archive/Mozilla/XUL/XUL_Reference +--- +<p>« <a href="/de/docs/XUL" title="de/XUL">XUL Referenz</a> «</p> +<h2 id="Alphabetische_Liste_aller_XUL_Elemente">Alphabetische Liste aller XUL Elemente</h2> +<ol style="list-style-type: square;"> <li><a href="/de/XUL/action" title="de/XUL/action">action</a></li> <li><a href="/De/XUL/Arrowscrollbox" title="de/XUL/arrowscrollbox">arrowscrollbox</a></li> <li><a href="/De/XUL/Assign" title="de/XUL/assign">assign</a></li> <li><a href="/De/XUL/Bbox" title="de/XUL/bbox">bbox</a></li> <li><a href="/De/XUL/Binding" title="de/XUL/binding">binding</a></li> <li><a href="/de/XUL/bindings" title="de/XUL/bindings">bindings</a></li> <li><a href="/De/XUL/Box" title="de/XUL/box">box</a></li> <li><a href="/de/XUL/broadcaster" title="de/XUL/broadcaster">broadcaster</a></li> <li><a href="/de/XUL/broadcasterset" title="de/XUL/broadcasterset">broadcasterset</a></li> <li><a href="/de/XUL/button" title="de/XUL/button">button</a></li> <li><a href="/de/XUL/browser" title="de/XUL/browser">browser</a></li> <li><a href="/de/XUL/checkbox" title="de/XUL/checkbox">checkbox</a></li> <li><a href="/de/XUL/caption" title="de/XUL/caption">caption</a></li> <li><a href="/De/XUL/Colorpicker" title="de/XUL/colorpicker">colorpicker</a></li> <li><a href="/de/XUL/column" title="de/XUL/column">column</a></li> <li><a href="/de/XUL/columns" title="de/XUL/columns">columns</a></li> <li><a href="/de/XUL/commandset" title="de/XUL/commandset">commandset</a></li> <li><a href="/de/XUL/command" title="de/XUL/command">command</a></li> <li><a href="/de/XUL/conditions" title="de/XUL/conditions">conditions</a></li> <li><a href="/de/XUL/content" title="de/XUL/content">content</a></li> <li><a href="/de/XUL/datepicker" title="de/XUL/datepicker">datepicker</a></li> <li><a href="/de/XUL/deck" title="de/XUL/deck">deck</a></li> <li><a href="/de/XUL/description" title="de/XUL/description">description</a></li> <li><a href="/de/XUL/dialog" title="de/XUL/dialog">dialog</a></li> <li><a href="/de/XUL/dialogheader" title="de/XUL/dialogheader">dialogheader</a></li> <li><a href="/de/XUL/dropmarker" title="de/XUL/dropmarker">dropmarker</a></li> <li><a href="/de/XUL/editor" title="de/XUL/editor">editor</a></li> <li><a href="/de/XUL/grid" title="de/XUL/grid">grid</a></li> <li><a href="/de/XUL/grippy" title="de/XUL/grippy">grippy</a></li> <li><a href="/de/XUL/groupbox" title="de/XUL/groupbox">groupbox</a></li> <li><a href="/de/XUL/hbox" title="de/XUL/hbox">hbox</a></li> <li><a href="/de/XUL/iframe" title="de/XUL/iframe">iframe</a></li> <li><a href="/de/XUL/image" title="de/XUL/image">image</a></li> <li><a href="/de/XUL/key" title="de/XUL/key">key</a></li> <li><a href="/de/XUL/keyset" title="de/XUL/keyset">keyset</a></li> <li><a href="/de/XUL/label" title="de/XUL/label">label</a></li> <li><a href="/de/XUL/listbox" title="de/XUL/listbox">listbox</a></li> <li><a href="/de/XUL/listcell" title="de/XUL/listcell">listcell</a></li> <li><a href="/de/XUL/listcol" title="de/XUL/listcol">listcol</a></li> <li><a href="/de/XUL/listcols" title="de/XUL/listcols">listcols</a></li> <li><a href="/de/XUL/listhead" title="de/XUL/listhead">listhead</a></li> <li><a href="/de/XUL/listheader" title="de/XUL/listheader">listheader</a></li> <li><a href="/de/XUL/listitem" title="de/XUL/listitem">listitem</a></li> <li><a href="/de/XUL/member" title="de/XUL/member">member</a></li> <li><a href="/de/XUL/menu" title="de/XUL/menu">menu</a></li> <li><a href="/de/XUL/menubar" title="de/XUL/menubar">menubar</a></li> <li><a href="/de/XUL/menuitem" title="de/XUL/menuitem">menuitem</a></li> <li><a href="/de/XUL/menulist" title="de/XUL/menulist">menulist</a></li> <li><a href="/de/XUL/menupopup" title="de/XUL/menupopup">menupopup</a></li> <li><a href="/de/XUL/menuseparator" title="de/XUL/menuseparator">menuseparator</a></li> <li><a href="/de/XUL/notification" title="de/XUL/notification">notification</a></li> <li><a href="/de/XUL/notificationbox" title="de/XUL/notificationbox">notificationbox</a></li> <li><a href="/de/XUL/observes" title="de/XUL/observes">observes</a></li> <li><a href="/de/XUL/overlay" title="de/XUL/overlay">overlay</a></li> <li><a href="/de/XUL/page" title="de/XUL/page">page</a></li> <li><a href="/de/XUL/panel" title="de/XUL/panel">panel</a></li> <li><a href="/de/XUL/param" title="de/XUL/param">param</a></li> <li><a href="/de/XUL/popupset" title="de/XUL/popupset">popupset</a></li> <li><a href="/de/XUL/preference" title="de/XUL/preference">preference</a></li> <li><a href="/de/XUL/preferences" title="de/XUL/preferences">preferences</a></li> <li><a href="/de/XUL/prefpane" title="de/XUL/prefpane">prefpane</a></li> <li><a href="/de/XUL/prefwindow" title="de/XUL/prefwindow">prefwindow</a></li> <li><a href="/de/XUL/progressmeter" title="de/XUL/progressmeter">progressmeter</a></li> <li><a href="/de/XUL/query" title="de/XUL/query">query</a></li> <li><a href="/de/XUL/queryset" title="de/XUL/queryset">queryset</a></li> <li><a href="/de/XUL/radio" title="de/XUL/radio">radio</a></li> <li><a href="/de/XUL/radiogroup" title="de/XUL/radiogroup">radiogroup</a></li> <li><a href="/de/XUL/resizer" title="de/XUL/resizer">resizer</a></li> <li><a href="/de/XUL/richlistbox" title="de/XUL/richlistbox">richlistbox</a></li> <li><a href="/de/XUL/richlistitem" title="de/XUL/richlistitem">richlistitem</a></li> <li><a href="/de/XUL/row" title="de/XUL/row">row</a></li> <li><a href="/de/XUL/rows" title="de/XUL/rows">rows</a></li> <li><a href="/de/XUL/rule" title="de/XUL/rule">rule</a></li> <li><a href="/de/XUL/scale" title="de/XUL/scale">scale</a></li> <li><a href="/de/XUL/script" title="de/XUL/script">script</a></li> <li><a href="/de/XUL/scrollbar" title="de/XUL/scrollbar">scrollbar</a></li> <li><a href="/de/XUL/scrollbox" title="de/XUL/scrollbox">scrollbox</a></li> <li><a href="/de/XUL/scrollcorner" title="de/XUL/scrollcorner">scrollcorner</a></li> <li><a href="/de/XUL/separator" title="de/XUL/separator">separator</a></li> <li><a href="/de/XUL/spacer" title="de/XUL/spacer">spacer</a></li> <li><a href="/de/XUL/spinbuttons" title="de/XUL/spinbuttons">spinbuttons</a></li> <li><a href="/de/XUL/splitter" title="de/XUL/splitter">splitter</a></li> <li><a href="/de/XUL/stack" title="de/XUL/stack">stack</a></li> <li><a href="/de/XUL/statusbar" title="de/XUL/statusbar">statusbar</a></li> <li><a href="/de/XUL/statusbarpanel" title="de/XUL/statusbarpanel">statusbarpanel</a></li> <li><a href="/de/XUL/stringbundle" title="de/XUL/stringbundle">stringbundle</a></li> <li><a href="/de/XUL/stringbundleset" title="de/XUL/stringbundleset">stringbundleset</a></li> <li><a href="/de/XUL/tab" title="de/XUL/tab">tab</a></li> <li><a href="/de/XUL/tabbrowser" title="de/XUL/tabbrowser">tabbrowser</a> (Firefox-only ab Firefox 3/Gecko 1.9)</li> <li><a href="/de/XUL/tabbox" title="de/XUL/tabbox">tabbox</a></li> <li><a href="/de/XUL/tabpanel" title="de/XUL/tabpanel">tabpanel</a></li> <li><a href="/de/XUL/tabpanels" title="de/XUL/tabpanels">tabpanels</a></li> <li><a href="/de/XUL/tabs" title="de/XUL/tabs">tabs</a></li> <li><a href="/de/XUL/template" title="de/XUL/template">template</a></li> <li><a href="/de/XUL/textnode" title="de/XUL/textnode">textnode</a></li> <li><a href="/De/XUL/Textbox" title="de/XUL/textbox">textbox</a></li> <li><a href="/de/XUL/Textbox_(Toolkit_autocomplete)" title="de/XUL/textbox_(Firefox_autocomplete)">textbox (Firefox autocomplete)</a></li> <li><a href="/de/XUL/Textbox_(XPFE_autocomplete)" title="de/XUL/textbox_(Mozilla_autocomplete)">textbox (Mozilla autocomplete)</a></li> <li><a href="/de/XUL/timepicker" title="de/XUL/timepicker">timepicker</a></li> <li><a href="/de/XUL/titlebar" title="de/XUL/titlebar">titlebar</a></li> <li><a href="/de/XUL/toolbar" title="de/XUL/toolbar">toolbar</a></li> <li><a href="/de/XUL/toolbarbutton" title="de/XUL/toolbarbutton">toolbarbutton</a></li> <li><a href="/de/XUL/toolbargrippy" title="de/XUL/toolbargrippy">toolbargrippy</a></li> <li><a href="/de/XUL/toolbaritem" title="de/XUL/toolbaritem">toolbaritem</a></li> <li><a href="/de/XUL/toolbarpalette" title="de/XUL/toolbarpalette">toolbarpalette</a></li> <li><a href="/de/XUL/toolbarseparator" title="de/XUL/toolbarseparator">toolbarseparator</a></li> <li><a href="/de/XUL/toolbarset" title="de/XUL/toolbarset">toolbarset</a></li> <li><a href="/de/XUL/toolbarspacer" title="de/XUL/toolbarspacer">toolbarspacer</a></li> <li><a href="/de/XUL/toolbarspring" title="de/XUL/toolbarspring">toolbarspring</a></li> <li><a href="/de/XUL/toolbox" title="de/XUL/toolbox">toolbox</a></li> <li><a href="/de/XUL/tooltip" title="de/XUL/tooltip">tooltip</a></li> <li><a href="/de/XUL/tree" title="de/XUL/tree">tree</a></li> <li><a href="/de/XUL/treecell" title="de/XUL/treecell">treecell</a></li> <li><a href="/de/XUL/treechildren" title="de/XUL/treechildren">treechildren</a></li> <li><a href="/de/XUL/treecol" title="de/XUL/treecol">treecol</a></li> <li><a href="/de/XUL/treecols" title="de/XUL/treecols">treecols</a></li> <li><a href="/de/XUL/treeitem" title="de/XUL/treeitem">treeitem</a></li> <li><a href="/de/XUL/treerow" title="de/XUL/treerow">treerow</a></li> <li><a href="/de/XUL/treeseparator" title="de/XUL/treeseparator">treeseparator</a></li> <li><a href="/de/XUL/triple" title="de/XUL/triple">triple</a></li> <li><a href="/de/XUL/vbox" title="de/XUL/vbox">vbox</a></li> <li><a href="/de/XUL/where" title="de/XUL/where">where</a></li> <li><a href="/De/XUL/Window" title="de/XUL/window">window</a></li> <li><a href="/de/XUL/wizard" title="de/XUL/wizard">wizard</a></li> <li><a href="/de/XUL/wizardpage" title="de/XUL/wizardpage">wizardpage</a></li> +</ol> +<h2 id="Kategorische_Liste_aller_XUL_Elemente">Kategorische Liste aller XUL Elemente</h2> +<p>« <a href="/de/docs/XUL" title="de/XUL">XUL Referenz</a> «</p> +<ol style="list-style-type: square;"> <h3 id="Fenster">Fenster</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/dialog" title="de/XUL/dialog">dialog</a></li> <li><a href="/de/XUL/overlay" title="de/XUL/overlay">overlay</a></li> <li><a href="/de/XUL/page" title="de/XUL/page">page</a></li> <li><a href="/De/XUL/Window" title="de/XUL/window">window</a></li> <li><a href="/de/XUL/wizard" title="de/XUL/wizard">wizard</a></li> <li><a href="/de/XUL/wizardpage" title="de/XUL/wizardpage">wizardpage</a></li> <li><a href="/de/XUL/preference" title="de/XUL/preference">preference</a></li> <li><a href="/de/XUL/preferences" title="de/XUL/preferences">preferences</a></li> <li><a href="/de/XUL/prefpane" title="de/XUL/prefpane">prefpane</a></li> <li><a href="/de/XUL/prefwindow" title="de/XUL/prefwindow">prefwindow</a></li> </ol> <h3 id="Fensterstrukturen">Fensterstrukturen</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/browser" title="de/XUL/browser">browser</a></li> <li><a href="/de/XUL/tabbrowser" title="de/XUL/tabbrowser">tabbrowser</a></li> <li><a href="/de/XUL/editor" title="de/XUL/editor">editor</a></li> <li><a href="/de/XUL/iframe" title="de/XUL/iframe">iframe</a></li> <li><a href="/de/XUL/titlebar" title="de/XUL/titlebar">titlebar</a></li> <li><a href="/de/XUL/resizer" title="de/XUL/resizer">resizer</a></li> <li><a href="/de/XUL/statusbar" title="de/XUL/statusbar">statusbar</a></li> <li><a href="/de/XUL/statusbarpanel" title="de/XUL/statusbarpanel">statusbarpanel</a></li> <li><a href="/de/XUL/dialogheader" title="de/XUL/dialogheader">dialogheader</a></li> <li><a href="/de/XUL/notification" title="de/XUL/notification">notification</a></li> <li><a href="/de/XUL/notificationbox" title="de/XUL/notificationbox">notificationbox</a></li> </ol> <h3 id="Menüs_und_Popups">Menüs und Popups</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/menubar" title="de/XUL/menubar">menubar</a></li> <li><a href="/de/XUL/menu" title="de/XUL/menu">menu</a></li> <li><a href="/de/XUL/menuitem" title="de/XUL/menuitem">menuitem</a></li> <li><a href="/de/XUL/menuseparator" title="de/XUL/menuseparator">menuseparator</a></li> <li><a href="/de/XUL/menupopup" title="de/XUL/menupopup">menupopup</a></li> <li><a href="/de/XUL/panel" title="de/XUL/panel">panel</a></li> <li><a href="/de/XUL/tooltip" title="de/XUL/tooltip">tooltip</a></li> <li><a href="/de/XUL/popupset" title="de/XUL/popupset">popupset</a></li> </ol> <h3 id="Toolbars">Toolbars</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/toolbar" title="de/XUL/toolbar">toolbar</a></li> <li><a href="/de/XUL/toolbarbutton" title="de/XUL/toolbarbutton">toolbarbutton</a></li> <li><a href="/de/XUL/toolbargrippy" title="de/XUL/toolbargrippy">toolbargrippy</a></li> <li><a href="/de/XUL/toolbaritem" title="de/XUL/toolbaritem">toolbaritem</a></li> <li><a href="/de/XUL/toolbarpalette" title="de/XUL/toolbarpalette">toolbarpalette</a></li> <li><a href="/de/XUL/toolbarseparator" title="de/XUL/toolbarseparator">toolbarseparator</a></li> <li><a href="/de/XUL/toolbarset" title="de/XUL/toolbarset">toolbarset</a></li> <li><a href="/de/XUL/toolbarspacer" title="de/XUL/toolbarspacer">toolbarspacer</a></li> <li><a href="/de/XUL/toolbarspring" title="de/XUL/toolbarspring">toolbarspring</a></li> <li><a href="/de/XUL/toolbox" title="de/XUL/toolbox">toolbox</a></li> </ol> <h3 id="Tabs_und_Gruppierungen">Tabs und Gruppierungen</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/tabbox" title="de/XUL/tabbox">tabbox</a></li> <li><a href="/de/XUL/tabs" title="de/XUL/tabs">tabs</a></li> <li><a href="/de/XUL/tab" title="de/XUL/tab">tab</a></li> <li><a href="/de/XUL/tabpanels" title="de/XUL/tabpanels">tabpanels</a></li> <li><a href="/de/XUL/tabpanel" title="de/XUL/tabpanel">tabpanel</a></li> <li><a href="/de/XUL/groupbox" title="de/XUL/groupbox">groupbox</a></li> <li><a href="/de/XUL/caption" title="de/XUL/caption">caption</a></li> <li><a href="/de/XUL/separator" title="de/XUL/separator">separator</a></li> <li><a href="/de/XUL/spacer" title="de/XUL/spacer">spacer</a></li> </ol> <h3 id="Kontrollelemente">Kontrollelemente</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/button" title="de/XUL/button">button</a></li> <li><a href="/de/XUL/checkbox" title="de/XUL/checkbox">checkbox</a></li> <li><a href="/De/XUL/Colorpicker" title="de/XUL/colorpicker">colorpicker</a></li> <li><a href="/de/XUL/datepicker" title="de/XUL/datepicker">datepicker</a></li> <li><a href="/de/XUL/menulist" title="de/XUL/menulist">menulist</a></li> <li><a href="/de/XUL/progressmeter" title="de/XUL/progressmeter">progressmeter</a></li> <li><a href="/de/XUL/radio" title="de/XUL/radio">radio</a></li> <li><a href="/de/XUL/radiogroup" title="de/XUL/radiogroup">radiogroup</a></li> <li><a href="/de/XUL/scale" title="de/XUL/scale">scale</a></li> <li><a href="/de/XUL/splitter" title="de/XUL/splitter">splitter</a></li> <li><a href="/De/XUL/Textbox" title="de/XUL/textbox">textbox</a></li> <li><a href="/de/XUL/Textbox_(Toolkit_autocomplete)" title="de/XUL/textbox_(Firefox_autocomplete)">textbox (Firefox autocomplete)</a></li> <li><a href="/de/XUL/Textbox_(XPFE_autocomplete)" title="de/XUL/textbox_(Mozilla_autocomplete)">textbox (Mozilla autocomplete)</a></li> <li><a href="/de/XUL/timepicker" title="de/XUL/timepicker">timepicker</a></li> </ol> <h3 id="Text_und_Bilder">Text und Bilder</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/description" title="de/XUL/description">description</a></li> <li><a href="/de/XUL/label" title="de/XUL/label">label</a></li> <li><a href="/de/XUL/image" title="de/XUL/image">image</a></li> </ol> <h3 id="Listen">Listen</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/listbox" title="de/XUL/listbox">listbox</a></li> <li><a href="/de/XUL/listitem" title="de/XUL/listitem">listitem</a></li> <li><a href="/de/XUL/listcell" title="de/XUL/listcell">listcell</a></li> <li><a href="/de/XUL/listcol" title="de/XUL/listcol">listcol</a></li> <li><a href="/de/XUL/listcols" title="de/XUL/listcols">listcols</a></li> <li><a href="/de/XUL/listhead" title="de/XUL/listhead">listhead</a></li> <li><a href="/de/XUL/listheader" title="de/XUL/listheader">listheader</a></li> <li><a href="/de/XUL/richlistbox" title="de/XUL/richlistbox">richlistbox</a></li> <li><a href="/de/XUL/richlistitem" title="de/XUL/richlistitem">richlistitem</a></li> </ol> <h3 id="Trees">Trees</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/tree" title="de/XUL/tree">tree</a></li> <li><a href="/de/XUL/treecell" title="de/XUL/treecell">treecell</a></li> <li><a href="/de/XUL/treechildren" title="de/XUL/treechildren">treechildren</a></li> <li><a href="/de/XUL/treecol" title="de/XUL/treecol">treecol</a></li> <li><a href="/de/XUL/treecols" title="de/XUL/treecols">treecols</a></li> <li><a href="/de/XUL/treeitem" title="de/XUL/treeitem">treeitem</a></li> <li><a href="/de/XUL/treerow" title="de/XUL/treerow">treerow</a></li> <li><a href="/de/XUL/treeseparator" title="de/XUL/treeseparator">treeseparator</a></li> </ol> <h3 id="Layout">Layout</h3> <ol style="list-style-type: square;"> <li><a href="/De/XUL/Box" title="de/XUL/box">box</a></li> <li><a href="/de/XUL/hbox" title="de/XUL/hbox">hbox</a></li> <li><a href="/de/XUL/vbox" title="de/XUL/vbox">vbox</a></li> <li><a href="/De/XUL/Bbox" title="de/XUL/bbox">bbox</a></li> <li><a href="/de/XUL/deck" title="de/XUL/deck">deck</a></li> <li><a href="/de/XUL/stack" title="de/XUL/stack">stack</a></li> <li><a href="/de/XUL/grid" title="de/XUL/grid">grid</a></li> <li><a href="/de/XUL/columns" title="de/XUL/columns">columns</a></li> <li><a href="/de/XUL/column" title="de/XUL/column">column</a></li> <li><a href="/de/XUL/rows" title="de/XUL/rows">rows</a></li> <li><a href="/de/XUL/row" title="de/XUL/row">row</a></li> <li><a href="/de/XUL/scrollbox" title="de/XUL/scrollbox">scrollbox</a></li> </ol> <h3 id="Templates">Templates</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/action" title="de/XUL/action">action</a></li> <li><a href="/De/XUL/Assign" title="de/XUL/assign">assign</a></li> <li><a href="/De/XUL/Binding" title="de/XUL/binding">binding</a></li> <li><a href="/de/XUL/bindings" title="de/XUL/bindings">bindings</a></li> <li><a href="/de/XUL/conditions" title="de/XUL/conditions">conditions</a></li> <li><a href="/de/XUL/content" title="de/XUL/content">content</a></li> <li><a href="/de/XUL/member" title="de/XUL/member">member</a></li> <li><a href="/de/XUL/param" title="de/XUL/param">param</a></li> <li><a href="/de/XUL/query" title="de/XUL/query">query</a></li> <li><a href="/de/XUL/queryset" title="de/XUL/queryset">queryset</a></li> <li><a href="/de/XUL/rule" title="de/XUL/rule">rule</a></li> <li><a href="/de/XUL/template" title="de/XUL/template">template</a></li> <li><a href="/de/XUL/textnode" title="de/XUL/textnode">textnode</a></li> <li><a href="/de/XUL/triple" title="de/XUL/triple">triple</a></li> <li><a href="/de/XUL/where" title="de/XUL/where">where</a></li> </ol> <h3 id="Scripting">Scripting</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/script" title="de/XUL/script">script</a></li> <li><a href="/de/XUL/commandset" title="de/XUL/commandset">commandset</a></li> <li><a href="/de/XUL/command" title="de/XUL/command">command</a></li> <li><a href="/de/XUL/broadcaster" title="de/XUL/broadcaster">broadcaster</a></li> <li><a href="/de/XUL/broadcasterset" title="de/XUL/broadcasterset">broadcasterset</a></li> <li><a href="/de/XUL/observes" title="de/XUL/observes">observes</a></li> <li><a href="/de/XUL/key" title="de/XUL/key">key</a></li> <li><a href="/de/XUL/keyset" title="de/XUL/keyset">keyset</a></li> <li><a href="/de/XUL/stringbundle" title="de/XUL/stringbundle">stringbundle</a></li> <li><a href="/de/XUL/stringbundleset" title="de/XUL/stringbundleset">stringbundleset</a></li> </ol> <h3 id="Hilfselemente">Hilfselemente</h3> <ol style="list-style-type: square;"> <li><a href="/de/XUL/scrollbar" title="de/XUL/scrollbar">arrowscrollbox</a></li> <li><a href="/de/XUL/dropmarker" title="de/XUL/dropmarker">dropmarker</a></li> <li><a href="/de/XUL/grippy" title="de/XUL/grippy">grippy</a></li> <li><a href="/de/XUL/scrollbar" title="de/XUL/scrollbar">scrollbar</a></li> <li><a href="/de/XUL/scrollcorner" title="de/XUL/scrollcorner">scrollcorner</a></li> <li><a href="/de/XUL/spinbuttons" title="de/XUL/spinbuttons">spinbuttons</a></li> </ol> <h2 id="Andere_XUL_Listen">Andere XUL Listen</h2> <ul> <li><a href="/de/XUL/Attribute" title="de/XUL/Attribute">Attribute</a></li> <li><a href="/de/XUL/Eigenschaften" title="de/XUL/Eigenschaften">Eigenschaften</a></li> <li><a href="/de/XUL/Method" title="de/XUL/Method">Methoden</a></li> <li><a href="/de/XUL_Element_Attribute" title="de/XUL_Element_Attribute">Attribute für alle XUL Elemente</a></li> <li><a href="/de/XUL/Style" title="de/XUL/Style">Style Klassen</a></li> <li><a href="/de/XUL/Events" title="de/XUL/Events">Eventhandler</a></li> <li><a href="/de/XUL/Deprecated/Defunct_Markup" title="de/XUL/Deprecated/Defunct_Markup">Deprecated/Defunct Markup</a></li> </ul> </ol> diff --git a/files/de/archive/mozilla/xul/xul_tutorial/die_chrome_url/index.html b/files/de/archive/mozilla/xul/xul_tutorial/die_chrome_url/index.html new file mode 100644 index 0000000000..e742e6f280 --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_tutorial/die_chrome_url/index.html @@ -0,0 +1,39 @@ +--- +title: Die Chrome URL +slug: Archive/Mozilla/XUL/XUL_Tutorial/Die_Chrome_URL +tags: + - XUL + - XUL Tutorial +translation_of: Archive/Mozilla/XUL/Tutorial/The_Chrome_URL +--- +<p>{{ PreviousNext("XUL_Tutorial/XUL_Struktur", "XUL_Tutorial/Manifest_Dateien") }}</p> +<p>Der folgende Abschnitt beschreibt wie man Bezug zu weiteren XUL-Dokumenten und Chrome-Dateien herstellen kann.</p> +<h3 id="Die_Chrome-URL">Die Chrome-URL</h3> +<p>XUL-Dateien können über eine reguläre HTTP-URL (oder jeder andere Typ einer URL) genau wie HTML-Dateien aufgerufen werden. Pakete, die jedoch in Mozillas chrome-System gespeichert sind, können mit speziellen chrome-URLs aufgerufen werden. Die Pakete, die in Mozilla vorhanden sind, sind bereits installiert und Sie können zudem Ihre eigenen registrieren.</p> +<p>Installierte Pakete haben den Vorteil, dass sie über keine Sicherheitsbeschränkungen verfügen, welche für viele Anwendungen von Bedeutung sind. Ein weitere Vorteil gegenüber anderen URL-Typen ist, dass sie automatisch mehrere Themes und Orte handhaben. Eine chrome-URL kann sich auf eine Theme-Datei beziehen, ohne zu wissen, welches Theme überhaupt installiert ist. Da die Dateinamen in allen Themes die gleichen sind, können Sie einfach eine Datei beziehen, die über die chrome-URL angegeben wird. Mozilla bestimmt dann wo die Datei zu finden ist und gibt dann die richtige Datei zurück. Das bedeutet auch, dass es egal ist wo das Paket installiert ist. Die chrome-URLs sind unabhängig davon wo die Dateien tatsächlich liegen. Das vereinfacht es ungemein Anwendungen zu schreiben, die eine Vielzahl von Dateien verwendet und Sie sich keine Gedanken machen brauchen, wo Sie die Dateien speichern.</p> +<p>Die grundlegende Schreibweise einer chrome-URL ist die folgende:</p> +<pre class="eval">chrome://<em><package name></em>/<em><part></em>/<em><file.xul></em> +</pre> +<p>Der Platzhalter <em><package name></em> ist der Paketname, wie z.B. messenger oder editor. Alle Paketnamen sind case-insensitiv, aber Kleinbuchstaben werden bevorzugt. <em><part></em> ist entweder 'content', 'skin' oder 'locale', abhängig davon, welchen Teil sie möchten. <em><file.xul></em> ist einfach der Dateiname.</p> +<p><strong>Beispiel</strong>: <a class="external" rel="freelink">chrome://messenger/content/messenger.xul</a></p> +<p>Das Beispiel hier bezieht sich auf das Messenger-Fenster. Sie könnten sich auch auf eine Datei beziehen, die Teil eines Skins ist, indem Sie 'content' durch 'skin' ersetzen und den Dateinamen entsprechend ändern. Genauso könnten Sie 'locale' statt 'content' angeben.</p> +<p>Wenn Sie eine chrome-URL öffnen, schaut Mozilla durch die Liste der installierten Pakete und versucht eine JAR-Datei oder ein Verzeichnis zu finden, das auf den angeben Paketnamen und <part> zutrifft. Die Zuordnung von chrome-URLs und JAR-Dateien sind in den Manifest-Dateien festgelegt, welche sich im chrome-Verzeichnis befinden. Wenn Sie die messenger.jar-Datei verschieben und die Manifest-Datei entsprechend ändern wird Thunderbird weiterhin funktionieren, denn es ist nicht von einem bestimmten Installationsort abhängig. Indem wir chrome-URLs verwenden lassen wir solche Details Mozilla machen. Auch wenn der Benutzer das verwendete Theme ändert, wird der 'skin'-Teil der chrome-URL in ein anderes Verzeichnis übersetzt und XUL-Dateien und Skripte brauchen nicht geändert zu werden.</p> +<p>Hier sind noch ein paar Beispiele. Beachten Sie, dass keine URL ein Theme oder eine Lokalisierung festlegen.</p> +<pre class="eval"><a class="external" rel="freelink">chrome://messenger/content/messenger.xul</a> +<a class="external" rel="freelink">chrome://messenger/content/attach.js</a> +<a class="external" rel="freelink">chrome://messenger/skin/icons/folder-inbox.gif</a> +<a class="external" rel="freelink">chrome://messenger/locale/messenger.dtd</a> +</pre> +<p>Um auf Unterverzeichnisse zuzugreifen, können Sie diese einfach am Ende der chrome-URL hinzufügen. Die folgenden URLs beziehen sich auf das Lesezeichenfenster, für Mozilla-Suite und Firefox, da der Paketname unterschiedlich ist:</p> +<pre class="eval"><a class="external" rel="freelink">chrome://communicator/content/bookma...rksManager.xul</a> (Mozilla) +<a class="external" rel="freelink">chrome://browser/content/bookmarks/b...rksManager.xul</a> (Firefox) +</pre> +<p>Sie können chrome-URLs überall verwenden, wo auch normale URLs verwendet werden können. Sie können sie sogar in die Adresszeile des Mozilla Browsers eingeben. Wenn Sie eine der oben genannten URLs eingeben, sollten Sie sehen, dass ein Fenster wie eine Webseite geöffnet wird und so funktioniert wie ein separates Fenster. Einige Dialogboxen funktionieren vielleicht nicht richtig, weil sie eventuelle Argumente erwarten, die ihnen beim Aufrufen nicht übergeben worden sind.</p> +<p>Es kommen außerdem auch chrome-URLs ohne Dateinamen vor, zum Beispiel:</p> +<pre class="eval"><a class="external" rel="freelink">chrome://browser/content/</a> +</pre> +<p>In diesem Fall wurde nur der Paketname und der Teilabschnitt angegeben. Dieser Referenztyp wird automatisch eine passende Datei aus diesem Verzeichnis auswählen. Für content wird eine Datei mit dem selben Namen des Pakets und XUL-Erweiterung ausgewählt. Im obigen Beispiel wird die Datei browser.xul ausgewählt. Für messenger würde messenger.xul ausgewählt werden. Wenn Sie Ihre eigene Anwendung erstellen, möchten Sie vielleicht eine Datei für Ihr Hauptfenster, mit dem selben Namen wie das Paket, erstellen. Dann kann ein Bezug in dieser verkürzten Form hergestellt werden.</p> +<p>Bei einem Skin wird die Datei <em><package name></em>.css ausgewählt; für eine Lokalisierung wird die Datei <em><package name></em>.dtd ausgewählt.</p> +<p>Denken Sie daran, dass die chrome-URL sich nicht auf den physikalischen Pfad auf der Festplatte bezieht. Die ersten beiden Stücke der chrome-URL sind der Paketname und der Teilabschnitt (entweder content, skin oder locale).</p> +<p>Im nächsten Abschnitt schauen wir uns an, wie wir .manifest-Dateien und Pakete erstellen können.</p> +<p>{{ PreviousNext("XUL_Tutorial/XUL_Struktur", "XUL_Tutorial/Manifest_Dateien") }}</p> diff --git a/files/de/archive/mozilla/xul/xul_tutorial/ein_fenster_erzeugen/index.html b/files/de/archive/mozilla/xul/xul_tutorial/ein_fenster_erzeugen/index.html new file mode 100644 index 0000000000..54c31683a0 --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_tutorial/ein_fenster_erzeugen/index.html @@ -0,0 +1,111 @@ +--- +title: Ein Fenster erzeugen +slug: Archive/Mozilla/XUL/XUL_Tutorial/Ein_Fenster_erzeugen +tags: + - XUL + - XUL Tutorial +translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Window +--- +<p>{{ PreviousNext("XUL_Tutorial/Manifest_Dateien", "XUL_Tutorial/Buttons_hinzufügen") }}</p> + +<p>Zunächst wollen wir uns mit der Syntax einer XUL-Datei beschäftigen.</p> + +<h3 id="Eine_XUL_Datei_erstellen">Eine XUL Datei erstellen</h3> + +<p>Der Name einer XUL Datei kann frei gewählt werden, es sollte jedoch darauf geachtet werden, dass die Endung .xul verwendet wird. Die einfachste XUL Datei hat folgende Struktur:</p> + +<pre><?xml version="1.0"?> +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> + +<window + id="findfile-window" + title="Find Files" + orient="horizontal" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> +<!-- Other elements go here --> +</window> +</pre> + +<p>Dieses Fenster wird keine Funktion haben, da es keine weitere UI-Elemete enthält. Diese werden im nächsten Abschnitt hinzugefügt. Der Code wird im folgenden Zeile für Zeile erklärt:</p> + +<ol> + <li><strong><?xml version="1.0"?></strong><br> + Diese Zeile zeigt, dass dies eine XML Datei ist. Diese Zeile sollte in jeder XUL Datei als erstes stehen.</li> + <li><strong><?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?></strong><br> + Diese Zeile wird gebraucht um festzulegen, welches Style Sheet für diese Datei verwendet wird. Dies ist die Syntax wie XML Dateien Style Sheets importieren. In diesem Fall importieren wir ein Style Sheet welches sich im globalen Teil eines Skins befindet. Wir legen keine spezifische Datei fest, so dass Mozilla selbst entscheidet, welche Datei verwendet werden soll. In diesem Fall wird die Datei global.css verwendet. Diese Datei enthält alle Standard-Deklarationen für jedes XUL Element. Weil XML selbst nicht weiß wie die Elemente dargestellt werden sollten, brauch es diese Datei, welche dies festlegt. Normalerweise wird diese Zeile ebenfalls an den Anfang einer jeden XUL Datei geschrieben. Es können auch andere Style Sheets mit der selben Syntax importiert werden. Das globale Style Sheet wird normalerweise aus dem eigenen Style Sheet importiert.</li> + <li><strong><window</strong><br> + Diese Zeile gibt an, dass ein {{ XULElem("window") }} beschrieben wird. Jedes User Interface wird in einer eigenen Datei beschrieben. Dieser Tag ist wie ein HTML Tag welcher ein gesamtes HTML Dokument umfasst, mit dem Unterschied dass hier ein User Interface beschrieben wird. <a href="/De/XUL/Window#Attribute" title="de/XUL/window#Attribute">Einige Attribute</a> können im {{ XULElem("window") }} Tag platziert werden, hier sind es vier. In diesem Beispiel wird jedes Attribut in einer eigenen Zeile beschrieben, dies ist jedoch nicht zwingend.</li> + <li><strong>id="findfile-window"</strong><br> + Das <code>{{ XULAttr("id") }}</code> Attribut wird zur Identifizierung gebraucht, damit später auf das Fenster per Skript zugegriffen werden kann. Im Normalfall sollte ein <code>id</code> Attribut bei allen Elementen vorhanden sein. Der Name kann frei gewählt werden, er sollte jedoch sinnvoll sein.</li> + <li><strong>title="Find Files"</strong><br> + Das <code>{{ XULAttr("title") }}</code> Attribut beschreibt den Text, welcher in der Titelzeile des Fensters erscheinen soll. In unserem Fall wird es 'Find Files' sein.</li> + <li><strong>orient="horizontal"</strong><br> + Das <code>{{ XULAttr("orient") }}</code> Attribut beschreibt die Anordnung der Elemente in diesem Fenster. Der Wert <code>horizontal</code> zeigt, dass die Elemente horizontal über dem Fenster verteilt werden. Es kann auch der Wert <code>vertical</code> verwendet werden, welcher meint, dass die Elemente in einer Spalte verteilt werden. Dies ist der Standardwert, das heißt, dass man dieses Attribut weglassen kann, wenn man eine vertikale Ausrichtung möchte.</li> + <li><strong>xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"></strong> Diese Zeile deklariert den Namensraum für XUL, welcher im Fenster deklariert sein sollte um festzulegen, dass alle Nachfolger XUL sind. Diese URL wird niemals heruntergeladen. Mozilla wird diese URL intern verarbeiten.</li> + <li><strong><span class="nowiki"><!-- Other elements go here --></span></strong><br> + Ersetze diesen Kommentar Block durch andere Elemente (Buttons, Menüs und andere User Interface Komponenten), welche im Fenster angezeigt werden sollten. Wir werden ein paar von ihnen zu einem späteren Zeitpunkt hinzufügen.</li> + <li><strong></window></strong><br> + Zum Schluss brauchen wir das {{ XULElem("window") }} Tag, um das Ende der Datei anzuzeigen.</li> +</ol> + +<h3 id="Ein_Fenster_öffnen">Ein Fenster öffnen</h3> + +<p>Um ein XUL Fenster zu öffnen gibt es verschiedene Methoden. Wenn Sie sich nur in der Entwicklungsphase befinden, können Sie einfach die URL ("chrome:", "file:" oder weitere) in die Adresszeile des Browserfensters eingeben. Sie können auch einfach auf einen Doppelklick auf die Datei ausführen, wenn XUL Dateien mit Mozilla verknüpft sind. Das XUL Fenster erscheint im Browserfenster als neues Fenster, aber das ist meistens ungenügend während der Entwicklung.</p> + +<p>Der korrekte Weg ist natürlich ein Fenster über JavaScript zu öffnen. Es ist kein neuer Syntax dazu notwendig, denn die <code><a href="/de/DOM/window.open" title="de/DOM/window.open">window.open()</a></code> Funktion kann genau wie für <a href="/de/HTML" title="de/HTML">HTML</a> Dokumente dazu verwendet werden. Es ist jedoch ein zusätzlicher Parameter "flag" nötig. In diesem Fall muss 'chrome' angeben werden, damit klar ist, dass ein <a href="/de/DOM/window.open#Window_functionality_features" title="de/DOM/window.open#Window functionality features">chrome</a> Dokument geöffnet werden soll. Dieses Stück Code wird dafür sorgen, dass ein Fenster ohne Toolbars und Menüs geöffnet wird:</p> + +<pre>window.open(url,windowname,flags);</pre> + +<p>wobei "flags" das Schlüsselwort "chrome" wie in diesem Beispiel enthält:</p> + +<pre>window.open("chrome://navigator/content/navigator.xul", "bmarks", "chrome,width=600,height=300"); +</pre> + +<div class="highlight"> +<p><span class="highlightred">Wenn Sie Firefox verwenden:</span></p> + +<pre>window.open("chrome://browser/content/places/places.xul", "bmarks", "chrome,width=600,height=300"); +</pre> + +<p>Diese Zeile kann auch in der Fehlerkonsole getestet werden. Wählen Sie Extras -> Fehlerkonsole, tippen Sie die Zeile JavaScript ein und drücken Sie auf Evaluieren oder benutzen Sie die Enter-Taste.</p> + +<h5 id="Das_findfile.xul_Beispiel">Das findfile.xul Beispiel</h5> + +<p>Fangen wir an die Basisdatei für den Dateisuche-Dialog zu schreiben. Erstellen Sie die Datei findfile.xul und packen Sie diese in das content Verzeichnis, welches von der finndfile.manifest Datei festgelegt wurde (haben wir im vorherigen Abschnitt festgelegt). Fügen Sie die XUL Vorlage von oben zu dieser Datei hinzu und speichern Sie diese ab.</p> +</div> + +<p>Sie können den Kommandozeilenparameter '-chrome' verwenden, um die XUL Datei mit Mozilla zu starten. Wird dies nicht festgelegt, wird das Standardfenster geöffnet (normalerweise das Browserfenster). Wir können zum Beispiel den Dateisuche-Dialog mit einem der folgenden Zeilen öffnen:</p> + +<pre>mozilla -chrome chrome://findfile/content/findfile.xul + +mozilla -chrome resource:/chrome/findfile/content/findfile.xul +</pre> + +<p>Wenn Sie einen dieser Kommandos in einer Eingabeaufforderung (angenommen Sie verfügen übere eine auf Ihrem System) eingeben, wird der Dateisuche-Dialog standardmäßig geöffnet, anstatt des normalen Mozilla Browserfensters. Da wir allerdings noch keine UI-Elemente in das Fenster gepackt haben, sehen Sie zunächst nichts. Im nächsten Abschnitt werden wir Elemente hinzufügen.</p> + +<p>Um den Effekt dennoch zu beobachten, können Sie mit der folgenden Zeile das Lesezeichenfenster öffnen:</p> + +<pre>mozilla -chrome chrome://communicator/content/bookmarks/bookmarksManager.xul</pre> + +<p><span class="highlightred">Wenn Sie Firefox benutzen:</span></p> + +<pre>firefox -chrome <span class="s">chrome://browser/content/places/places.xul</span></pre> + +<p>Das '-chrome' Argument gibt der Datei keine gesonderten Rechte. Stattdessen kann es dadurch als Top-level Fenster in jedem Browser angezeigt werden, ohne Adressleiste oder Menüs. Nur chrome: URLs haben diese zusätzlichen Rechte.</p> + +<div class="note">Die <a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Erweiterungsentwickler Erweiterung</a> enthält einen XUL Editor, der den eingegebenen XUL-Code in Echtzeit wiedergibt!</div> + +<h3 id="Problemlösung">Problemlösung</h3> + +<ul> + <li>Wenn das XUL Fenster nicht auf dem Desktop angezeigt wird aber ein Icon auf der Desktop-Toolbar zu sehen ist, überprüfen Sie die xml-stylesheet Deklaration. Stellen Sie sicher, dass das Stylesheet korrekt eingebunden wird:</li> +</ul> + +<pre class="eval"> <?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?> +</pre> + +<p>Im nächsten Abschnitt werden wir <a href="/de/XUL_Tutorial/Buttons_hinzufügen" title="de/XUL Tutorial/Buttons hinzufügen">ein paar Buttons zum Fenster hinzufügen</a>.</p> + +<p>{{ PreviousNext("XUL_Tutorial/Manifest_Dateien", "XUL_Tutorial/Buttons_hinzufügen") }}</p> + +<p>{{ languages( { "en": "en/XUL_Tutorial/Creating_a_Window", "fr": "fr/Tutoriel_XUL/Cr\u00e9er_une_fen\u00eatre", "ja": "ja/XUL_Tutorial/Creating_a_Window", "pl": "pl/Kurs_XUL/Tworzenie_okna", "es": "es/Tutorial_de_XUL/Creando_una_ventana" } ) }}</p> diff --git a/files/de/archive/mozilla/xul/xul_tutorial/einfuehrung/index.html b/files/de/archive/mozilla/xul/xul_tutorial/einfuehrung/index.html new file mode 100644 index 0000000000..93aa98324a --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_tutorial/einfuehrung/index.html @@ -0,0 +1,33 @@ +--- +title: Einführung +slug: Archive/Mozilla/XUL/XUL_Tutorial/Einfuehrung +tags: + - XUL + - XUL Tutorial +translation_of: Archive/Mozilla/XUL/Tutorial/Introduction +--- +<p>{{ Next("XUL_Tutorial/XUL_Struktur") }}</p> +<p>Dieses Tutorial ist eine Anleitung für das Erlernen von <abbr title="XML User Interface Language">XUL</abbr> (XML User Interface Language). XUL ist eine plattformübergreifende Sprache, um die Benutzer-Schnittstellen (z.B. GUI) einer Anwendung zu beschreiben.</p> +<p>Dieses Tutorial demonstriert die Erstellung eines einfachen "Datei suchen"-Dialogs, in der Art des "Sherlock" auf dem Macintosh oder des "Suchen"-Dialogs von Windows. Bitte beachten Sie, dass nur das Fenster (GUI) erstellt wird. Dieses beinhaltet sehr eingeschränkte Funktionalität. Das tatsächliche Auffinden von Dateien ist nicht implementiert. An den Stellen, wo der "Datei suchen"-Dialog bearbeitet wird, ist am linken Rand eine blaue Linie gemalt. Sie können der Entwicklung des Dialogs einfach folgen, indem Sie die so markierten Stellen lesen.</p> +<h3 id="Was_ist_XUL_und_warum_wurde_es_entwickelt">Was ist XUL und warum wurde es entwickelt?</h3> +<p>XUL (ausgesprochen "zuul" und reimt sich auf "cool") wurde entwickelt, um die Entwicklung des Mozilla-Browsers zu vereinfachen und zu beschleunigen. Es ist eine <abbr title="Extensible Markup Language">XML</abbr>-Sprache und somit gelten alle Eigenschaften von XML auch für XUL.</p> +<p>Die meisten Anwendungen benötigen bei ihrer Entwicklung plattform-spezifische Abhängigkeiten und Eigenschaften - die Entwicklung von plattform-unabhängiger Software ist zeitraubend und teuer. In den letzten Jahren wurde eine Vielzahl von plattform-übergreifenden Anwendungen entwickelt. Die Programmiersprache Java hat zum Beispiel die Plattformunabhängigkeit als herausragende Eigenschaft. XUL ist eine Sprache, die speziell für plattform-übergreifende Benutzerschnittstellen (GUIs) entwickelt wurde. Es dauert lange, um eine Anwendung zu entwickeln - selbst für eine Plattform. Die Zeit des Kompilierens und Debuggens kann sich sehr strecken. Mit XUL kann die Benutzerschnittstelle schnell und einfach implementiert und geändert werden.</p> +<p>XUL hat alle Vorteile von anderen XML-Sprachen. Es können zum Beispiel XHTML oder andere XML-Sprachen, wie <abbr title="Math Markup Language">MathML</abbr> oder <abbr title="Scalable Vector Graphics">SVG</abbr> eingebunden werden. Zudem ist angezeigter Text in XUL einfach an den Standort des Anwenders anzupassen. Das heißt er kann mit wenig Aufwand in andere Sprachen übersetzt werden.</p> +<h3 id="Welche_Art_von_Benutzerschnittstellen_können_mit_XUL_erstellt_werden">Welche Art von Benutzerschnittstellen können mit XUL erstellt werden?</h3> +<p>XUL bietet die Möglichkeit die meisten Elemente zu erstellen, die in modernen Benutzeroberflächen vorkommen. Einige dieser Elemente sind:</p> +<ul> <li>Eingabefelder, wie Textfelder oder Checkboxen</li> <li>Buttonleisten</li> <li>Menüleisten und Popup-Menüs</li> <li>Karteikarten</li> <li>Bäume für hierarchische oder tabellarische Darstellungen</li> <li>Tastenkürzel</li> +</ul> +<p>Der angezeigte Inhalt kann mit dem Inhalt aus XUL-Dateien oder aus Datenquellen erstellt werden. In Mozilla schließen solche Datenquellen die Mailbox eines Anwenders, seine Lesezeichen und Suchergebnisse ein. Die Inhalte von Menüs, Bäumen und anderen Elementen können mit diesen Daten befüllt werden oder mit Ihren eigenen Daten, die in <abbr title="Resource Description Framework">RDF</abbr>-Dateien bereitgestellt werden.</p> +<p>Es gibt verschieden Arten, um XUL zu nutzen:</p> +<ul> <li>Firefox-Erweiterung: Eine Erweiterung fügt dem Browser Funktionen hinzu, oft in der Form von zusätzlichen Buttons, Kontext-Menüs oder Anpassungen der Browser-Oberfläche. Dies geschieht durch die Verwendung einer XUL-Eigenschaft namens <strong>overlay</strong> (Überlagerung), die es erlaubt, die Oberfläche einer Quelle (in diesem Fall des Browsers) mit der Oberfläche der Erweiterung zu mischen bzw. zu überlagern. Erweiterungen können auch zu anderen Mozilla-Produkten, wie Thunderbird, Sunbird oder Songbird hinzugefügt werden.</li> <li>Standalone XULRunner Anwendung: XULRunner is eine gepackte Version der Mozilla-Plattform, die es erlaubt, <abbr title="Programme, die auf dem lokalen Rechner ohne Netzwerk-Zugriff ausgeführt werden können">Standalone-Anwendungen</abbr> zu erstellen. Für das Starten einer solchen Standalone-Anwendung wird kein Browser benötigt, da sie eine eigene selbstausführbare Datei darstellen.</li> <li>XUL Paket: Zwischen den beiden oben beschriebenen Anwendungsformen steht das XUL Paket. Es wird auf dieselbe Art und Weise wie eine Erweiterung erstellt, wird aber wie eine unabhängige Anwendung in einem anderen Fenster ausgeführt. Ein XUL Paket wird verwendet, wenn Sie nicht die Größe einer kompletten XULRunner-Anwendung in Kauf nehmen wollen und nichts dagegen haben, dass die Anwendung aus einer Mozilla-Anwendung (Firefox, Thunderbird,...) gestartet wird.</li> <li>Entfernte XUL-Anwendung: Sie können ihren Code auch auf einem Webserver hinterlegen und in einem Browser öffnen - so wie sie jede andere Webseite öffnen. Diese Methode ist jedoch eingeschränkt, da Sicherheitseinschränkungen beachtet werden müssen. Zum Beispiel ist der Zugriff auf andere Fenster nicht möglich.</li> +</ul> +<p>Die ersten drei Arten benötigen alle die Ausführung einer Installation auf dem Computer des Anwenders. Diese Arten haben dadurch keine Sicherheitsbeschränkungen, sodass sie, zum Beispiel, das lokale Dateisystem lesen und schreiben können. Für eine Erweiterung werden die XUL-Dateien und zugehörige Skripte und Bilddateien der Anwendung in einer einzigen Datei zusammengepackt, die vom Anwender heruntergeladen und installiert wird. Mozilla-Anwendungen, wie der Firefox, bieten einen Erweiterungsmanager an, der es erlaubt, Installationen zusammenzustellen, ohne viel komplizierten Code schreiben zu müssen.</p> +<p>Es ist auch möglich XUL-Dateien direkt aus dem Dateisystem oder von einer Webseite zu starten. Diese sind aber in ihren Möglichkeiten eingeschränkt und einige Aspekte von XUL können nicht ausgeführt werden. Wenn Sie XUL-Inhalte von einer entfernten Webseite laden möchten, muss der Webserver so eingestellt sein, dass er XUL-Dateien mit dem Content-Type "application/vnd.mozilla.xul+xml" senden kann. XUL-Code wird normalerweise in Dateien mit der Endung ".xul" gespeichert. Sie können XUL-Dateien in Mozilla wie jede andere Datei (z.B. HTML) öffnen, indem Sie die "Öffnen mit..."-Option im Datei-Explorer für eine solche Datei auswählen oder den Ort der Datei direkt in die Adressleiste des Mozilla Browsers eingegeben.</p> +<h3 id="Welches_Vorwissen_brauche_ich_f.C3.BCr_dieses_Tutorial.3F" name="Welches_Vorwissen_brauche_ich_f.C3.BCr_dieses_Tutorial.3F">Welches Vorwissen brauche ich für dieses Tutorial?</h3> +<p>Sie sollten eine Vorstellung von <abbr>HTML</abbr> und zumindest grundsätzliches Verständnis von XML und <abbr title="Cascading Style Sheets">CSS</abbr> haben. Hier sind einige Richtlinien:</p> +<ul> <li>XUL-Elemente sollten alle in Kleinbuchstaben eingegeben werden, da XML auf Groß-Klein-Schreibung achtet (im Gegensatz zu HTML).</li> <li>Attribut-Werte in XUL müssen immer in Anführungsstrichen geschrieben werden, auch wenn es sich um Zahlen handelt.</li> <li>XUL-Dateien sind normalerweise in 4 Dateien aufgeteilt, eine für das Layout und die platzierten Elemente (*.xul), eine für Stil-Definitionen (*.css), eine für Bezeichnungsdeklarationen (*.ent, um auf den Ort des Anwenders zu reagieren) und eine für Scripte (*.script). Zusätzlich können weitere Dateien für Bilder oder plattform-spezifische Dateien verwendet werden.</li> +</ul> +<p>XUL wird in Mozilla-Browsern unterstützt, die auf der Gecko-Engine basieren, z.B. Netscape 6 oder höher und Mozilla Firefox. Trotz diverser Änderungen in der XUL-Syntax, sollten die aktuellen Versionen der Beispiele korrekt ablaufen. Die meisten Beispiele sollten unter Mozilla 1.0 oder höher laufen. XUL ist ziemlich ähnlich in Firefox und anderen Browsern, obwohl es kleine Unterschiede gibt, wie zum Beispiel die Unterstützung für anpassbare Werkzeugleisten.</p> +<p>Dieses Tutorial versucht viel von der XUL-Funktionalität abzudecken, aber es können nicht alle Themen behandelt werden. Wenn Sie einmal vertraut mit XUL sind, können Sie die <a href="/de/XUL_Referenz" title="de/XUL Referenz">XUL-Referenz</a> benutzen, um mehr über Eigenschaften von bestimmten Elementen herauszufinden.</p> +<p>{{ Next("XUL_Tutorial/XUL_Struktur") }}</p> +<p>{{ languages( { "en": "en/XUL_Tutorial/Introduction", "es": "es/Tutorial_de_XUL/Introducci\u00f3n", "fr": "fr/Tutoriel_XUL/Introduction", "ja": "ja/XUL_Tutorial/Introduction", "ko": "ko/XUL_Tutorial/Introduction", "pl": "pl/Kurs_XUL/Wprowadzenie", "zh-cn": "cn/XUL_\u6559\u7a0b/\u5f15\u8a00", "ru": "ru/\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e_\u043f\u043e_XUL/\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435" } ) }}</p> diff --git a/files/de/archive/mozilla/xul/xul_tutorial/index.html b/files/de/archive/mozilla/xul/xul_tutorial/index.html new file mode 100644 index 0000000000..5cf8ecb42d --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_tutorial/index.html @@ -0,0 +1,57 @@ +--- +title: XUL Tutorial +slug: Archive/Mozilla/XUL/XUL_Tutorial +tags: + - XUL + - XUL Tutorial +translation_of: Archive/Mozilla/XUL/Tutorial +--- +<p>Dieses Tutorial beschreibt XUL, die »XML User-Interface Language«. Diese Sprache wurde für die Anwendung Mozilla entwickelt und wird verwendet, um die Nutzerschnittstelle (GUI) für die Anwendung zu beschreiben.</p> +<h5 id="Einführung">Einführung</h5> +<ul> <li><a href="/de/XUL_Tutorial/Einfuehrung" title="de/XUL_Tutorial/Einfuehrung">Einführung</a></li> <li><a href="/de/XUL_Tutorial/XUL_Struktur" title="de/XUL_Tutorial/XUL_Struktur">XUL Struktur</a></li> <li><a href="/De/XUL_Tutorial/Die_Chrome_URL" title="De/XUL_Tutorial/Die_Chrome_URL">Die Chrome URL</a></li> <li><a href="/de/XUL_Tutorial/Manifest_Dateien" title="de/XUL_Tutorial/Manifest_Dateien">Manifest Dateien</a></li> +</ul> +<h5 id="Einfache_Elemente">Einfache Elemente</h5> +<ul> <li><a href="/de/XUL_Tutorial/Ein_Fenster_erzeugen" title="de/XUL_Tutorial/Ein_Fenster_erzeugen">Ein Fenster erzeugen</a></li> <li><a href="/de/XUL_Tutorial/Buttons_hinzufügen" title="de/XUL_Tutorial/Buttons_hinzufügen">Buttons hinzufügen</a></li> <li><a href="/de/XUL_Tutorial/Labels_und_Bilder_hinzufügen" title="de/XUL_Tutorial/Labels_und_Bilder_hinzufügen">Labels und Bilder hinzufügen</a></li> <li><a href="/de/XUL_Tutorial/Eingabeelemente" title="de/XUL_Tutorial/Eingabeelemente">Eingabeelemente</a></li> <li><a href="/de/XUL_Tutorial/Numerische_Steuerelemente" title="de/XUL_Tutorial/Numerische_Steuerelemente">Numerische Steuerelemente</a></li> <li><a href="/de/XUL_Tutorial/Listenelemente" title="de/XUL_Tutorial/Listenelemente">Listenelemente</a></li> <li><a href="/de/XUL_Tutorial/Fortschrittsanzeige" title="de/XUL_Tutorial/Fortschrittsanzeige">Fortschrittsanzeige</a></li> <li><a href="/de/XUL_Tutorial/HTML-Elemente_hinzufügen" title="de/XUL_Tutorial/HTML-Elemente_hinzufügen">HTML-Elemente hinzufügen</a></li> <li><a href="/de/XUL_Tutorial/Abstandhalter_verwenden" title="de/XUL_Tutorial/Abstandhalter_verwenden">Abstandhalter verwenden</a></li> <li><a href="/de/XUL_Tutorial/Weitere_Button-Features" title="de/XUL_Tutorial/Weitere_Button-Features">Weitere Button-Features</a></li> +</ul> +<h5 id="Das_Box-Modell">Das Box-Modell</h5> +<ul> <li><a href="/de/XUL_Tutorial/Das_Box-Modell" title="de/XUL_Tutorial/Das_Box-Modell">Das Box-Modell </a></li> <li><a href="/de/XUL_Tutorial/Positionierung_von_Elementen" title="de/XUL_Tutorial/Positionierung_von_Elementen">Positionierung von Elementen</a></li> <li><a href="/de/XUL_Tutorial/Details_zum_Box-Modell" title="de/XUL_Tutorial/Details_zum_Box-Modell">Details zum Box-Modell</a></li> <li><a href="/de/XUL_Tutorial/Groupboxes" title="de/XUL_Tutorial/Groupboxes">Groupboxes</a></li> <li><a href="/de/XUL_Tutorial/Weitere_Elemente_hinzufügen" title="de/XUL_Tutorial/Weitere_Elemente_hinzufügen">Weitere Elemente hinzufügen</a></li> +</ul> +<h5 id="Mehr_Layout-Elemente" name="Mehr_Layout-Elemente">Weitere Layout-Elemente</h5> +<ul> <li><a href="/de/XUL_Tutorial/Stacks_und_Decks" title="de/XUL_Tutorial/Stacks_und_Decks">Stacks und Decks</a></li> <li><a href="/de/XUL_Tutorial/Stack-Positionierung" title="de/XUL_Tutorial/Stack-Positionierung">Stack-Positionierung</a></li> <li><a href="/de/XUL_Tutorial/Karteikarten" title="de/XUL_Tutorial/Karteikarten">Karteikarten</a></li> <li><a href="/de/XUL_Tutorial/Grids" title="de/XUL_Tutorial/Grids">Grids</a></li> <li><a href="/de/XUL_Tutorial/Content_Panels" title="de/XUL_Tutorial/Content_Panels">Content Panels</a></li> <li><a href="/de/XUL_Tutorial/Splitters" title="de/XUL_Tutorial/Splitters">Splitters</a></li> <li><a href="/de/XUL_Tutorial/Scroll-Balken" title="de/XUL_Tutorial/Scroll-Balken">Scroll-Balken</a></li> +</ul> +<h5 id="Toolbars_und_Menüs">Toolbars und Menüs</h5> +<ul> <li><a href="/de/XUL_Tutorial/Toolbars" title="de/XUL_Tutorial/Toolbars">Toolbars</a></li> <li><a href="/de/XUL_Tutorial/Einfache_Menüs" title="de/XUL_Tutorial/Einfache_Menüs">Einfache Menüs</a></li> <li><a href="/de/XUL_Tutorial/Weitere_Menü-Eigenschaften" title="de/XUL_Tutorial/Weitere_Menü-Eigenschaften">Weitere Menü-Eigenschaften</a></li> <li><a href="/de/XUL_Tutorial/Popup-Menüs" title="de/XUL_Tutorial/Popup-Menüs">Popup-Menüs</a></li> <li><a href="/de/XUL_Tutorial/Menüs_zum_Scrollen" title="de/XUL_Tutorial/Menüs_zum_Scrollen">Menüs zum Scrollen</a></li> +</ul> +<h5 id="Ereignisse_und_Scripte">Ereignisse und Scripte</h5> +<ul> <li><a href="/de/XUL_Tutorial/Event-Handler_hinzufügen" title="de/XUL_Tutorial/Event-Handler_hinzufügen">Event-Handler hinzufügen</a></li> <li><a href="/de/XUL_Tutorial/Weitere_Event-Handler" title="de/XUL_Tutorial/Weitere_Event-Handler">Weitere Event-Handler</a></li> <li><a href="/de/XUL_Tutorial/Tastenkürzel" title="de/XUL_Tutorial/Tastenkürzel">Tastenkürzel</a></li> <li><a href="/de/XUL_Tutorial/Fokus_und_Selektierung" title="de/XUL_Tutorial/Fokus_und_Selektierung">Fokus und Selektierung</a></li> <li><a href="/de/XUL_Tutorial/Befehle" title="de/XUL_Tutorial/Befehle">Befehle</a></li> <li><a href="/de/XUL_Tutorial/Befehle_updaten" title="de/XUL_Tutorial/Befehle_updaten">Befehle updaten</a></li> <li><a href="/de/XUL_Tutorial/Broadcaster_und_Observer" title="de/XUL_Tutorial/Broadcaster_und_Observer">Broadcaster und Observer</a></li> +</ul> +<h5 id="Das_DOM_(Document_Object_Model)">Das DOM (Document Object Model)</h5> +<ul> <li><a href="/de/XUL_Tutorial/Das_Document_Object_Model" title="de/XUL_Tutorial/Das_Document_Object_Model">Das Document Object Model</a></li> <li><a href="/de/XUL_Tutorial/Eine_XUL-Schnittstelle_anpassen" title="de/XUL_Tutorial/Eine_XUL-Schnittstelle_anpassen">Eine XUL-Schnittstelle anpassen</a></li> <li><a href="/de/XUL_Tutorial/Listen_anpassen" title="de/XUL_Tutorial/Listen_anpassen">Listen anpassen</a></li> <li><a href="/de/XUL_Tutorial/Box-Objekte" title="de/XUL_Tutorial/Box-Objekte">Box-Objekte</a></li> <li><a href="/de/XUL_Tutorial/XPCOM-Schnittstellen" title="de/XUL_Tutorial/XPCOM-Schnittstellen">XPCOM-Schnittstellen</a></li> <li><a href="/de/XUL_Tutorial/XPCOM_Beispiele" title="de/XUL_Tutorial/XPCOM_Beispiele">XPCOM Beispiele</a></li> +</ul> +<h5 id="Bäume">Bäume</h5> +<ul> <li><a href="/de/XUL_Tutorial/Bäume" title="de/XUL_Tutorial/Bäume">Bäume </a></li> <li><a href="/de/XUL_Tutorial/Weitere_Baum-Eigenschaften" title="de/XUL_Tutorial/Weitere_Baum-Eigenschaften">Weitere Baum-Eigenschaften</a></li> <li><a href="/de/XUL_Tutorial/Auswahl_in_Bäumen" title="de/XUL_Tutorial/Auswahl_in_Bäumen">Auswahl in Bäumen</a></li> <li><a href="/de/XUL_Tutorial/Selbsterstellte_Baum-Ansichten" title="de/XUL_Tutorial/Selbsterstellte_Baum-Ansichten">Selbsterstellte Baum-Ansichten</a></li> <li><a href="/de/XUL_Tutorial/Details_zu_Baum-Ansichten" title="de/XUL_Tutorial/Details_zu_Baum-Ansichten">Details zu Baum-Ansichten</a></li> <li><a href="/de/XUL_Tutorial/Tree-Box_Objekte" title="de/XUL_Tutorial/Tree-Box_Objekte">Tree-Box Objekte</a></li> +</ul> +<h5 id="RDF_und_Vorlagen">RDF und Vorlagen</h5> +<ul> <li><a href="/de/XUL_Tutorial/Einführung_in_RDF" title="de/XUL_Tutorial/Einführung_in_RDF">Einführung in RDF</a></li> <li><a href="/de/XUL_Tutorial/Vorlagen" title="de/XUL_Tutorial/Vorlagen">Vorlagen</a></li> <li><a href="/de/XUL_Tutorial/Bäume_und_Vorlagen" title="de/XUL_Tutorial/Bäume_und_Vorlagen">Bäume und Vorlagen</a></li> <li><a href="/de/XUL_Tutorial/RDF_Datasources" title="de/XUL_Tutorial/RDF_Datasources">RDF Datasources</a></li> <li><a href="/de/XUL_Tutorial/Kompliziertere_Regeln" title="de/XUL_Tutorial/Kompliziertere_Regeln">Kompliziertere Regeln</a></li> <li><a href="/de/XUL_Tutorial/Datenspeicherung" title="de/XUL_Tutorial/Datenspeicherung">Datenspeicherung</a></li> +</ul> +<h5 id="Skins_und_Locales">Skins und Locales</h5> +<ul> <li><a href="/de/XUL_Tutorial/Style_Sheets_hinzufügen" title="de/XUL_Tutorial/Style_Sheets_hinzufügen">Style Sheets hinzufügen</a></li> <li><a href="/de/XUL_Tutorial/Einen_Baum_gestalten" title="de/XUL_Tutorial/Einen_Baum_gestalten">Einen Baum gestalten</a></li> <li><a href="/de/XUL_Tutorial/Die_voreingestellte_Skin_bearbeiten" title="de/XUL_Tutorial/Die_voreingestellte_Skin_bearbeiten">Die voreingestellte Skin bearbeiten</a></li> <li><a href="/de/XUL_Tutorial/Eine_eigene_Skin_erstellen" title="de/XUL_Tutorial/Eine_eigene_Skin_erstellen">Eine eigene Skin erstellen</a></li> <li><a href="/de/XUL_Tutorial/Lokalisierung" title="de/XUL_Tutorial/Lokalisierung">Lokalisierung</a></li> <li><a href="/de/XUL_Tutorial/Property-Dateien" title="de/XUL_Tutorial/Property-Dateien">Property-Dateien</a></li> +</ul> +<h5 id="Bindings">Bindings</h5> +<ul> <li><a href="/de/XUL_Tutorial/Einführung_in_XBL" title="de/XUL_Tutorial/Einführung_in_XBL">Einführung in XBL</a></li> <li><a href="/de/XUL_Tutorial/Anonymer_Inhalt" title="de/XUL_Tutorial/Anonymer_Inhalt">Anonymer Inhalt</a></li> <li><a href="/de/XUL_Tutorial/XBL_Vererbung_von_Attributen" title="de/XUL_Tutorial/XBL_Vererbung_von_Attributen">XBL Vererbung von Attributen</a></li> <li><a href="/de/XUL_Tutorial/Eigenschaften_zu_XBL-definierten_Elementen_hinzufügen" title="de/XUL_Tutorial/Eigenschaften_zu_XBL-definierten_Elementen_hinzufügen">Eigenschaften hinzufügen</a></li> <li><a href="/de/XUL_Tutorial/Methodenzu_XBL-definierten_Elementen_hinzufügen" title="de/XUL_Tutorial/Methodenzu_XBL-definierten_Elementen_hinzufügen">Methoden hinzufügen</a></li> <li><a href="/de/XUL_Tutorial/Event_Handler_zu_XBL-definierten_Element_hinzufügen" title="de/XUL_Tutorial/Event_Handler_zu_XBL-definierten_Element_hinzufügen">Event-Handler hinzufügen</a></li> <li><a href="/de/XUL_Tutorial/XBL_Vererbung" title="de/XUL_Tutorial/XBL_Vererbung">XBL Vererbung</a></li> <li><a href="/de/XUL_Tutorial/XBL_Beispiel" title="de/XUL_Tutorial/XBL_Beispiel">XBL Beispiel</a></li> +</ul> +<h5 id="Spezielle_Fenster-Typen">Spezielle Fenster-Typen</h5> +<ul> <li><a href="/de/XUL_Tutorial/Eigenschaften_eines_Fensters" title="de/XUL_Tutorial/Eigenschaften_eines_Fensters">Eigenschaften eines Fensters</a></li> <li><a href="/de/XUL_Tutorial/Erstellen_von_Dialogen" title="de/XUL_Tutorial/Erstellen_von_Dialogen">Erstellen von Dialogen</a></li> <li><a href="/de/XUL_Tutorial/Öffnen_und_Schließen_Dialog" title="de/XUL_Tutorial/Öffnen_und_Schließen_Dialog">"Öffnen" und "Schließen"-Dialoge</a></li> <li><a href="/de/XUL_Tutorial/Erstellen_von_Assistenten" title="de/XUL_Tutorial/Erstellen_von_Assistenten">Erstellen von Assistenten</a></li> <li><a href="/de/XUL_Tutorial/Weitere_Assistenten" title="de/XUL_Tutorial/Weitere_Assistenten">Weitere Assistenten</a></li> <li><a href="/de/XUL_Tutorial/Overlays" title="de/XUL_Tutorial/Overlays">Overlays (Überlagerungen)</a></li> <li><a href="/de/XUL_Tutorial/Cross_Package_Overlays" title="de/XUL_Tutorial/Cross_Package_Overlays">Overlays über mehrere Packages</a></li> +</ul> +<h5 id="Installation">Installation</h5> +<ul> <li><a href="/de/XUL_Tutorial/Erstellen_eines_Installers" title="de/XUL_Tutorial/Erstellen_eines_Installers">Erstellen eines Installers</a></li> <li><a href="/De/XUL_Tutorial/Installations-Skripte" title="De/XUL_Tutorial/Installations-Skripte">Installations-Skripte</a></li> <li><a href="/de/XUL_Tutorial/Zusätzliche_Installationseigenschaften" title="de/XUL_Tutorial/Zusätzliche_Installationseigenschaften">Zusätzliche Installationseigenschaften</a></li> +</ul> +<div class="note"> +<p>Dieses XUL-Tutorial wurde ursprünglich von <a class="external" href="http://www.xulplanet.com/ndeakin/">Neil Deakin</a> geschrieben. Er hat die Erlaubnis gegeben, es als Teil des <a href="/Project:de/About" title="Project:de/About">MDC</a> zu nutzen.</p> +</div> +<div class="originaldocinfo"> +<h5 id="Informationen_zum_Originaldokument">Informationen zum Originaldokument</h5> +<ul> <li>Autor: <a class="external" href="http://www.xulplanet.com/ndeakin/">Neil Deakin</a></li> <li>Urheberrecht-Informationen: © 1999-2005 XULPlanet.com</li> +</ul> +</div> +<p>{{ languages( { "zh-cn": "cn/XUL_\u6559\u7a0b", "en": "en/XUL_Tutorial", "es": "es/Tutorial_de_XUL", "fr": "fr/Tutoriel_XUL", "ja": "ja/XUL_Tutorial", "ko": "ko/XUL_Tutorial", "pl": "pl/Kurs_XUL", "ru": "ru/\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e_\u043f\u043e_XUL" } ) }}</p> diff --git a/files/de/archive/mozilla/xul/xul_tutorial/installations-skripte/index.html b/files/de/archive/mozilla/xul/xul_tutorial/installations-skripte/index.html new file mode 100644 index 0000000000..cf11ed3b11 --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_tutorial/installations-skripte/index.html @@ -0,0 +1,96 @@ +--- +title: Installations-Skripte +slug: Archive/Mozilla/XUL/XUL_Tutorial/Installations-Skripte +translation_of: Archive/Mozilla/XUL/Tutorial/Install_Scripts +--- +<div class="prevnext" style="text-align: right;"> + <p><a href="/de/docs/XUL_Tutorial/Erstellen_eines_Installers" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Zusätzliche_Installationseigenschaften">weiter »</a></p> +</div> +<p>Dieser Abschnitt beschreibt das Installationsskript.</p> +<h3 id="Erstellen_eines_Installationsskripts">Erstellen eines Installationsskripts</h3> +<div class="note"> + <strong>Hinweis</strong>: Für Firefox Erweiterungen, werden <code>install.js</code> Dateien nicht weiter verwendet. Es sollte ein <code><a href="/de/Installationsmanifest" title="de/Installationsmanifest">install.rdf</a></code> stattdessen erstellt werden.</div> +<p>In der Regel möchten Sie den Installationsprozess steuern können. Zum Beispiel möchten Sie vielleicht Datei-Versionen überprüfen und nur aktualisierte Dateien installieren oder Sie möchten Fehler in existierenden Dateien beheben. Das Installationsskript ist flexibel genug, um sogar Dateien zu deinstallieren. Aus diesen Gründen sollten Installationen ein Installationsskript an Board haben, um den Installationsprozess zu regeln.</p> +<p>Das Installationsskript muss "install.js" genannt werden und muss im Wurzelverzeichnis des Installationsverzeichnisses platziert werden. Das Skript wird JavaScript Code enthalten, welcher eine Reihe von Installationsfunktionen aufruft.</p> +<p>In einem HTML Dokument oder einem XUL Dokument ist das "window" Objekt das Wurzelobjekt. Das bedeutet, dass Sie die Methoden des window-Objekts ohne einem Qualifier davor aufrufen können, zum Beipiel kann statt <code>window.open()</code> einfach <code>open()</code> geschrieben werden. In einem Installationsskript gibt es kein Fenster, jedoch ist das globale Objekt das <em>Install</em> Objekt, welches eine Reihe von Funktionen zur Anpassung des Installationsprozess mit sich bringt. Einige der Install-Ojekt Funktionen werden weiter unter beschrieben.</p> +<p>Das Installationsskript sollte die folgenden Schritte ausführen:</p> +<ol> + <li>Initialisiere die Installation in dem festgelegt wird, welche Version und Paket installiert werden soll.</li> + <li>Benutze die Installationsfunktionen, um zu bestimmen, welche Dateien und Verzeichnisse installiert werden müssen. Sie können außerdem Dateien festlegen, die gelöscht oder verschoben werden sollen.</li> + <li>Starte den Installationsprozess der nötigen Dateien.</li> +</ol> +<p>Es ist wichtig zu beachten, dass während Schritt zwei, nur angegeben wird, welche Dateien installiert werden sollen und welche weiteren Operationen ausgeführt werden sollen. Es werden keine Dateien bis zum dritten Schritt kopiert. Sie können daher sehr einfach eine Reihe von Dateien festlegen, die installiert werden sollen, stolpern eventuell über einen Fehler und können den Prozess abbrechen, ohne dass das System des Benutzers verändert wird.</p> +<h3 id="Die_Komponentenregistrierung">Die Komponentenregistrierung</h3> +<p>Mozilla verfügt über eine Registrierungsdatei, welche alle Komponenten enthält, die momentan installiert sind. Komponenten sind Chrome Pakete, Skins und Plugins. Wird eine neue Komponente installiert, wird die Registrierungsdatei aktualisiert. Die Registrierung speichert auch Dateisets und Versionsinformationen über die installierten Komponenten. Daher ist es sehr einfach die Versionen Ihrer Komponente zu prüfen und zu ermitteln, ob die Komponente bereits verfügbar ist und eventuell aktualisiert werden muss.</p> +<p>Die Komponentenregistrierung arbeit ähnlich wie die Windows Registrierung. Sie besteht aus der hierarchischen Anordnung von Schlüsseln und Werten. Dabei müssen Sie nicht viel darüber wissen, um XUL Anwendungen zu erstellen, es sei denn Sie wollen eigene <a href="/de/XUL_Tutorial/XPCOM-Schnittstellen" title="de/XUL Tutorial/XPCOM-Schnittstellen">XPCOM</a> Komponenten erstellen.</p> +<p>Was Sie für eine Installation wissen müssen, ist, dass die Registrierung eine Reihe von Informationen über Ihre Anwendung speichert, zum Beispiel eine Liste der Dateien und Versionen. Die gesamten Informationen werden in einem Schlüssel gespeichert (und in Unter-Schlüsseln), welche Sie im Installationsskript angeben (in Schritt eins oben genannt).</p> +<p>Dieser Schlüssel ist wie in Verzeichnissen in der folgenden Form strukturiert:</p> +<pre>/Autor/Paketname +</pre> +<p>Ersetzen Sie das Wort "Author" mit Ihrem Name und "Paketname" mit dem Namen Ihres Pakets, welches Sie installieren möchten. Zum Beispiel:</p> +<pre>/Xulplanet/Find Files + +/Netscape/Personal Security Manager +</pre> +<p>Das erste Beispiel werden wir für den Dateisuche-Dialog verwenden. Das zweite Beispiel wird vom Personal Security Manager benutzt.</p> +<h3 id="Initialisierung_der_Installation">Initialisierung der Installation</h3> +<p>Das Install Objekt hat eine Funktion, <code>initInstall(), welche</code> zur Initialisierung der Installation gebraucht wird. Es sollte am Anfang des Installationsskript aufgerufen werden. Die Syntax dieser Funktion ist die folgende:</p> +<pre>initInstall( ''packageName'' , ''regPackage'' , ''version'' );</pre> +<p>Ein Beispiel</p> +<pre>initInstall("Find Files","/Xulplanet/Find Files","0.5.0.0");</pre> +<ul> + <li>Das erste Argument ist der Name des Paketes in einer lesbaren Form.</li> + <li>Das zweite Argument ist der Registrierungsschlüssel, welcher die Paketinformationen speichert.</li> + <li>Das dritte Argument ist die Version des Pakets, welches installiert werden soll.</li> +</ul> +<p>Als nächstes müssen wir das Verzeichnis festlegen, wo die Dateien installiert werden sollen. Es gibt zwei Möglichkeiten.</p> +<ul> + <li>Die einfache Methode ist, ein Installationsverzeichnis festzulegen und alle Datei dort zu installieren.</li> + <li>Die zweite Methode erlaubt Ihnen ein Zielverzeichnis für einzelne Dateien zu bestimmen. Die erste Methode wird nun beschrieben.</li> +</ul> +<p>Die Funktion <code>setPackageFolder()</code> legt ein Installationsverzeichnis fest. Für den Dateisuche-Dialog werden wir die Dateien in das Chrome-Verzeichnis installieren. (Wir könnten sie überall speichern). Die Funktion <code>setPackageFolder()</code> nimmt ein Argument an, das Installationsverzeichnis. Für maximale Portabilität kann kein String-Name für das Verzeichnis festgelegt werden. Stattdessen wird ein Identifier eines bekannten Verzeichnis verwendet und dann werden dort Unterverzeichnisse erstellt. Falls Ihre Anwendung Systembibliotheken installieren muss, brauchen Sie den Pfad dieser Verzeichnisse nicht zu wissen.</p> +<p>Die Verzeichnis-Identifiers sind in der <a class="external" href="http://www.xulplanet.com/references/elemref/ref_Install.html#prop_getFolder">XULPlanet Referenz</a> aufgelistet. Für das Chrome-Verzeichnis ist der Identifier 'Chrome'. Die <code>getFolder()</code> Funktion kann verwendet werden, um eine der speziellen Verzeichnisse zu bekommen. Diese Funktion nimmt zwei Argumente, das erste ist der Identifier und das zweite ist ein Unterverzeichnis. Zum Beispiel:</p> +<pre>findDir = getFolder("Chrome","findfile"); +setPackageFolder(findDir); +</pre> +<p>Hier bekommen wir das "findfile" Verzeichnis im Chrome-Ordner und reichen dies an die <code>setPackageFolder()</code> Funktion weiter. Das zweite Argument für <code>getFolder()</code> ist das Unterverzeichnis in dem wir installieren werden, was nicht bedeutet, dass es existieren muss. Dieses Argument kann weggelassen werden, wenn Sie kein Unterverzeichnis benötigen.</p> +<h3 id="Setting_Install_Files" name="Setting_Install_Files">Installationsdateien festlegen</h3> +<p>Als nächstes müssen die Dateien festgelegt werden, die installiert werden sollen. Das erfordert die Verwendung der Funktionen <code>addDirectory()</code> und <code>addFile()</code>. Die <code>addDirectory()</code> Funktion teilt dem Instller mit, dass ein Verzeichnis aus dem XPI Archiv (und alle Inhalte darin) in ein bestimmtes Verzeichnis installiert werden soll. Die Funktion <code>addFile()</code> ist ähnlich, aber für eine einzelne Datei.</p> +<p>Beide Funktionen <code>addDirectory()</code> und <code>addFile()</code> haben unterschiedliche Formen. Die einfachste Form nimmt nur ein Argument: Das Verzeichnis, welches von der Installation erstellt werden soll.</p> +<pre class="eval">addDirectory ( <em>dir</em> ); +addFile ( <em>dir</em> ); + +<strong>Beispiel:</strong> + +addDirectory("findfile"); +</pre> +<p>Das obige Beispiel legt ein Verzeichnis "findfile" für die Installation fest. Diese Funktionen können mehrmals aufgerufen werden, um mehrere Verzeichnisse und Dateien zu installieren.</p> +<p>Als nächstes wollen wir die Dateien im Chrome System registrieren, sodass diese mit einer Chrome-URL verwendet werden können. Das kann mit der <code>registerChrome()</code> Funktion erledigt werden. Die Funktion nimmt zwei Argumente an, als erstes den Chrome-Typ, der registriert werden soll (content, skin oder locale). Ein zweites Argument ist das Verzeichnis, welches die contents.rdf Datei enthält. Weil der Dateisuche-Dialog content, eine Skin-Datei und eine locale-Datei enthält, muss <code>registerChrome()</code> dreimal aufgerufen werden.</p> +<pre>registerChrome(Install.CONTENT | Install.DELAYED_CHROME, getFolder(findDir, "content")); +registerChrome(Install.SKIN | Install.DELAYED_CHROME, getFolder(findDir, "skin")); +registerChrome(Install.LOCALE | Install.DELAYED_CHROME, getFolder(findDir, "locale")); +</pre> +<p> DELAYED_CHROME wird verwendet, um anzuzeigen, dass es beim nächsten Mozilla-Start installiert werden soll.</p> +<h3 id="Abschluss_der_Installation">Abschluss der Installation</h3> +<p>Die <code>addDirectory()</code> und <code>addFile()</code> Funktions kopieren keine Dateien. Sie geben nur an, welche Dateien installiert werden sollen. Ebenfalls gibt <code>registerChrome()</code> nur an, dass diese im chrome-System registriert werden sollen. Um den Prozess zu vervollständigen und Dateien zu kopieren, muss die <code><span style="font-family: Verdana,Tahoma,sans-serif;">p</span>erformInstall()</code> Funktion aufgerufen werden. Diese Funktionen erwartet keine Argumente.</p> +<p>Das finale Skript zur Installation der "Dateisuche"-Komponente ist unten aufgeführt:</p> +<div class="highlight"> + <p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_xpiscript_1.js.txt">Datei</a></p> + <pre>initInstall("Find Files","/Xulplanet/Find Files","0.5.0.0"); + +findDir = getFolder("Chrome","findfile"); +setPackageFolder(findDir); + +addDirectory("findfile"); + +registerChrome(Install.CONTENT | Install.DELAYED_CHROME, getFolder(findDir, "content")); +registerChrome(Install.SKIN | Install.DELAYED_CHROME, getFolder(findDir, "skin")); +registerChrome(Install.LOCALE | Install.DELAYED_CHROME, getFolder(findDir, "locale")); + +performInstall(); +</pre> +</div> +<p>Als nächstes schauen wir uns <a href="/de/XUL_Tutorial/Zusätzliche_Installationseigenschaften" title="de/XUL Tutorial/Zusätzliche Installationseigenschaften">zusätzliche Installationsfunktionen</a> an.</p> +<div class="prevnext" style="text-align: right;"> + <p><a href="/de/docs/XUL_Tutorial/Erstellen_eines_Installers" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Zusätzliche_Installationseigenschaften">weiter »</a></p> +</div> diff --git a/files/de/archive/mozilla/xul/xul_tutorial/lokalisierung/index.html b/files/de/archive/mozilla/xul/xul_tutorial/lokalisierung/index.html new file mode 100644 index 0000000000..7f6f44a00e --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_tutorial/lokalisierung/index.html @@ -0,0 +1,270 @@ +--- +title: Lokalisierung +slug: Archive/Mozilla/XUL/XUL_Tutorial/Lokalisierung +tags: + - Lokalisierung + - XUL + - XUL_Tutorial +translation_of: Archive/Mozilla/XUL/Tutorial/Localization +--- +<p>{{ PreviousNext("XUL_Tutorial/Eine_eigene_Skin_erstellen", "XUL_Tutorial/Property-Dateien") }}</p> +<p>XUL und XML stellen Entities als komfortablen Weg bereit, um Lokalisierungen zu ermöglichen.</p> +<h3 id="Entities">Entities</h3> +<p>Viele Anwendungen sind so gebaut, dass das Interface so einfach wie möglich in verschiedene Sprachen zu übersetzten ist. Üblicherweise wird eine Tabelle aus Strings für jede Sprache erstellt. Anstelle von den Text direkt in die Applikation zu programmieren, stellt jede Textstelle nur eine Referenz zur Stringtabelle dar. <a href="/de/XML" title="de/XML">XML</a> stellt Entities zur Verfügung, welche für den gleichen Zweck verwendet werden können.</p> +<p>Man sollte mit Entities bereits vertraut sein, wenn man schon Erfahrungen mit <a href="/de/HTML" title="de/HTML">HTML</a> sammeln konnte. Der Code <code>&lt;</code> und <code>&gt;</code> sind Beispiele von Entities, welche anstelle von „Größer-als-“ und „Kleiner-als-Zeichen“ im Text verwendet werden können. XML besitzt einen Syntax, welcher dir das deklarieren eigener Entities erlaubt. Du kannst diese so verwenden, dass das Entity durch seinen Wert ersetzt wird, welcher ein Textstring ist. Entities können immer wenn Text auftritt verwendet werden, inklusive den Attributwerten. Das Beispiel unten demonstriert die Verwendung eines Entity in einem Button.</p> +<pre><button label="&findLabel;"/> +</pre> +<p>Der Text der als Label erscheinen wird, wird den Wert des Entity <code>&findLabel;</code> sein. Eine Datei welche die Entity-Deklaration enthält wird für jede unterstützte Sprache erstellt. Für Englisch wird das <code>&findLabel;</code> Entity wahrscheinlich mit dem Text »Find« deklariert sein.</p> +<h3 id="DTD-Dateien">DTD-Dateien</h3> +<p>Entities sind in <em>Document Type Declaration</em> (DTD) Dateien deklariert. Dateien dieses Typs werden normalerweise verwendet um den Syntax und die Semantik einer bestimmten XML-Datei zu deklarieren, aber es können auch Entities deklariert werden. Im Mozilla Chrome-System sind die DTD Dateien im <code>locales</code> Unterordner zu finden. Normalerweise existiert eine DTD Datei (mit der Endung <code>.dtd</code>) pro XUL-Datei.</p> +<p>Wenn man im Chrome-Ordner nachschaut, sollte man ein Archiv für die jeweilige Sprache (<code>de-De.jar</code> ist normalerweise Deutsch) finden. Es ist möglich lokale Dateien in verschiedenen Sprachen, z.B. Deutsch (de-DE) und Englisch (en-US) zu haben. Innerhalb dieser Archive sind die Dateien zu finden, welche den lokalisierten Text für jedes Fenster enthalten. Die Struktur der Archive ist sehr ähnlich derjenigen, die für Skins verwendet wird.</p> +<p>Im Innern der Archive würde man die DTD-Dateien platzieren in welchen die Entities deklariert werden sollen. Normalerweise wird für jede XUL-Datei eine DTD-Datei mit dem gleichen Namen erstellt mit allerdings einer <code>.dtd</code> Endung. Daher werden wir für den Dateisuchdialog eine Datei namens <code>findfile.dtd</code> benötigen.</p> +<p>Für nicht installierte chrome Dateien kann einfach die DTD-Datei ins selbe Verzeichnis wie die XUL-Datei ablegt werden.</p> +<div class="note"><strong>Anmerkung:</strong> Die DTD-Dateien sollten für nicht ASCII Zeichen als UTF-8 kodiert werden. Deswegen sollten die Dateien im UTF-8 Format gespeichert werden. (<a class="external" href="http://www.mozdev.org/notes/l10n/unicode/editors-en.html">ohne BOM</a>). Für mehr Informationen, siehe <a class="external" href="http://www.mozilla.org/projects/l10n/mlp_chrome.html#text">Mozilla Sprachpakete</a>.</div> +<p>Sobald eine DTD-Datei für das XUL erstellt worden ist, muss eine Zeile in die XUL-Datei einfügt werden, welche angibt, dass die DTD-Datei verwendet werden soll. Andernfalls werden Fehler auftreten, weil die Entities nicht gefunden werden. Um dies zu tun, muss die folgende Zeile irgendwo im oberen Bereich der XUL-Datei eingefügt werden:</p> +<pre><!DOCTYPE window SYSTEM "chrome://findfile/locale/findfile.dtd"> +</pre> +<p>Diese Zeile legt fest, dass die URL auf eine DTD-Datei verweist. In diesem Fall wurde deklariert, dass die <code>findfile.dtd</code> DTD-Datei verwendet werden soll. Diese Zeile ist typischerweise gerade vor dem <code>window</code> Element platziert.</p> +<h3 id="Entities_deklarieren">Entities deklarieren</h3> +<p>Die Entities werden mit einem einfachen Syntax deklariert:</p> +<pre><!ENTITY findLabel "Find"> +</pre> +<p>Dieses Beispiel erstellt ein Entity mit dem Namen <code>findLabel</code> und dem Wert »Find«. Dies bedeutet, dass überall wo der Text „&findLabel;“ in der XUL-Datei auftritt es durch den Text »Find« ersetzt wird. Es sollte beachtet werden, dass die Deklaration kein Slash am Ende besitzt. In der DTD-Datei einer anderen Sprache wird der Text stattdessen in dieser Sprache geschrieben.</p> +<pre class="eval"><strong>für Japanisch:</strong> +<!ENTITY findLabel "検索"> +</pre> +<p>Zum Beispiel der folgende Text:</p> +<pre><description value="&findLabel;"/> +</pre> +<p>wird übersetzt als:</p> +<pre class="eval"><strong>Englische Version:</strong> +<description value="Find"/> + +<strong>Japanische Version:</strong> +<description value="検索"/> +</pre> +<p>Es wird ein Entity für jede Beschriftung und Textstelle vorhanden sein, die dem Interface verwendet wird. Es sollte kein direkt angezeigter Text in den XUL-Dateien existieren.</p> +<p>Zusätzlich zu der Verwendung in Beschriftungen, sollten Entities für jeden Wert verwendet werden, welcher in einer anderen Sprache abweichen könnte. Access-Keys und Tastatur-Shortcuts zum Beispiel.</p> +<pre class="eval"> <strong>XUL</strong> + <menuitem label="&undo.label;" accesskey="&undo.key;"/> + <strong>DTD</strong> + <!ENTITY undo.label "Undo"> + <!ENTITY undo.key "u"> +</pre> +<p>Das Beispiel oben verwendet zwei Entities, eines für die Beschriftung des Menüpunktes und ein zweiter für den Access-Key.</p> +<p> </p> +<div class="highlight"> +<h3 id=".C3.84nderung_des_Dateisuche_Beispiels" name=".C3.84nderung_des_Dateisuche_Beispiels">Änderung des Dateisuche Beispiels</h3> +<p>Werfen wir jetzt einen Blick darauf, wie wir das alles zusammenfügen können, indem wir den Dateisuche-Dialog so modifizieren, so dass eine DTD-Datei für alle seine Textstellen verwendet wird. Die gesamte XUL-Datei mit allen Änderungen in Rot ist unterhalb gezeigt.</p> +<pre class="eval"><?xml version="1.0"?> + +<?xml-stylesheet href="<a class=" external" rel="freelink">chrome://global/skin/</a>" type="text/css"?> +<?xml-stylesheet href="findfile.css" type="text/css"?> + +<span class="highlightred"><!DOCTYPE window SYSTEM "<a class=" external" rel="freelink">chrome://findfile/locale/findfile.dtd</a>"></span> + +<window + id="findfile-window" + title="<span class="highlightred">&findWindow.title;</span>" + persist="screenX screenY width height" + orient="horizontal" + onload="initSearchList()" + xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"> + +<script src="findfile.js"/> + +<popupset> + <popup id="editpopup"> + <menuitem label="Cut" accesskey="<span class="highlightred">&cutCmd.accesskey;</span>"/> + <menuitem label="Copy" accesskey="<span class="highlightred">&copyCmd.accesskey;</span>"/> + <menuitem label="Paste" accesskey="<span class="highlightred">&pasteCmd.accesskey;</span>" disabled="true"/> + </popup> +</popupset> + +<keyset> + <key id="cut_cmd" modifiers="accel" key="<span class="highlightred">&cutCmd.commandkey;</span>"/> + <key id="copy_cmd" modifiers="accel" key="<span class="highlightred">&copyCmd.commandkey;</span>"/> + <key id="paste_cmd" modifiers="accel" key="<span class="highlightred">&pasteCmd.commandkey;</span>"/> + <key id="close_cmd" keycode="VK_ESCAPE" oncommand="window.close();"/> +</keyset> + +<vbox flex="1"> + + <toolbox> + + <menubar id="findfiles-menubar"> + <menu id="file-menu" label="<span class="highlightred">&fileMenu.label;</span>" + accesskey="<span class="highlightred">&fileMenu.accesskey;</span>"> + <menupopup id="file-popup"> + <menuitem label="<span class="highlightred">&openCmd.label;</span>" + accesskey="<span class="highlightred">&openCmd.accesskey;</span>"/> + <menuitem label="<span class="highlightred">&saveCmd.label;</span>" + accesskey="<span class="highlightred">&saveCmd.accesskey;</span>"/> + <menuseparator/> + <menuitem label="<span class="highlightred">&closeCmd.label;</span>" + accesskey="<span class="highlightred">&closeCmd.accesskey;" key="close_cmd" oncommand="window.close();</span>"/> + </menupopup> + </menu> + <menu id="edit-menu" label="<span class="highlightred">&editMenu.label;</span>" + accesskey="<span class="highlightred">&editMenu.accesskey;</span>"> + <menupopup id="edit-popup"> + <menuitem label="<span class="highlightred">&cutCmd.label;</span>" + accesskey="<span class="highlightred">&cutCmd.accesskey;</span>" key="cut_cmd"/> + <menuitem label="<span class="highlightred">&copyCmd.label;</span>" + accesskey="<span class="highlightred">&copyCmd.accesskey;</span>" key="copy_cmd"/> + <menuitem label="<span class="highlightred">&pasteCmd.label;</span>" + accesskey="<span class="highlightred">&pasteCmd.accesskey;</span>" key="paste_cmd" disabled="true"/> + </menupopup> + </menu> + </menubar> + + <toolbar id="findfiles-toolbar"> + <toolbarbutton id="opensearch" label="<span class="highlightred">&openCmdToolbar.label;</span>"/> + <toolbarbutton id="savesearch" label="<span class="highlightred">&saveCmdToolbar.label;</span>"/> + </toolbar> + </toolbox> + + <tabbox> + <tabs> + <tab label="<span class="highlightred">&searchTab;</span>" selected="true"/> + <tab label="<span class="highlightred">&optionsTab;</span>"/> + </tabs> + + <tabpanels> + + <tabpanel id="searchpanel" orient="vertical" context="editpopup"> + + <description> + <span class="highlightred">&findDescription;</span> + </description> + + <spacer class="titlespace"/> + + <groupbox orient="horizontal"> + <caption label="<span class="highlightred">&findCriteria;</span>"/> + + <menulist id="searchtype"> + <menupopup> + <menuitem label="<span class="highlightred">&type.name;</span>"/> + <menuitem label="<span class="highlightred">&type.size;</span>"/> + <menuitem label="<span class="highlightred">&type.date;</span>"/> + </menupopup> + </menulist> + <spacer class="springspace"/> + <menulist id="searchmode"> + <menupopup> + <menuitem label="<span class="highlightred">&mode.is;</span>"/> + <menuitem label="<span class="highlightred">&mode.isnot;</span>"/> + </menupopup> + </menulist> + <spacer class="springspace"/> + + <menulist id="find-text" flex="1" + editable="true" + datasources="<a class=" external" rel="freelink">file:///mozilla/recents.rdf</a>" + ref="<span class="nowiki">http://www.xulplanet.com/rdf/recent/all</span>"> + <template> + <menupopup> + <menuitem label="<span class="nowiki">rdf:http://www.xulplanet.com/rdf/recent#Label</span>" uri="rdf:*"/> + </menupopup> + </template> + </menulist> + + </groupbox> + + </tabpanel> + + <tabpanel id="optionspanel" orient="vertical"> + <checkbox id="casecheck" label="<span class="highlightred">&casesensitive;</span>"/> + <checkbox id="wordscheck" label="<span class="highlightred">&matchfilename;</span>"/> + </tabpanel> + + </tabpanels> + </tabbox> + + <tree id="results" style="display: none;" flex="1"> + <treecols> + <treecol id="name" label="<span class="highlightred">&results.filename;</span>" flex="1"/> + <treecol id="location" label="<span class="highlightred">&results.location;</span>" flex="2"/> + <treecol id="size" label="<span class="highlightred">&results.size;</span>" flex="1"/> + </treecols> + + <treechildren> + <treeitem> + <treerow> + <treecell label="mozilla"/> + <treecell label="/usr/local"/> + <treecell label="<span class="highlightred">&bytes.before;</span>2520<span class="highlightred">&bytes.after;</span>"/> + </treerow> + </treeitem> + </treechildren> + </tree> + + <splitter id="splitbar" resizeafter="grow" style="display: none;"/> + + <spacer class="titlespace"/> + + <hbox> + <progressmeter id="progmeter" value="50%" style="display: none;"/> + <spacer flex="1"/> + <button id="find-button" label="<span class="highlightred">&button.find;</span>" + oncommand="doFind()"/> + <button id="cancel-button" label="<span class="highlightred">&button.cancel;</span>" + oncommand="window.close();"/> + </hbox> +</vbox> + +</window> +</pre> +<p>Jede Textstelle wurde durch eine Entity ersetzt. Eine DTD-Datei wurde nahe am Anfang eingefügt. Jede Entity welche eingefügt wurde, sollte in der DTD-Datei deklariert sein. Das Fenster wird nicht angezeigt, wenn eine Entity in der XUL-Datei gefunden wird, welche nicht deklariert wurde.</p> +<p>Es sollte beachtet werden, dass der Name der Entity nicht wichtig ist. Im Beispiel oben wurden die Wörter der Entities mit Bindestrichen getrennt. Dies ist keine Vorgabe. Die Entity-Namen folgen den selben Konventionen wie der Rest des Mozilla Codes.</p> +<p>Es ist vielleicht aufgefallen, dass der Text '2520 bytes' durch zwei Entities ersetzt wurde. Das kommt daher, weil die Struktur in anderen Sprachen variieren kann. Es könnte z.B. nötig sein, dass die Einheit vor der Zahl steht.</p> +<p>Die Access-Keys und Tastatur-Shortcuts wurden auch in Entities übersetzt, weil sie in anderen Sprachen abweichen können.</p> +<p>Nun die DTD-Datei - findfile.dtd:</p> +<pre><!ENTITY findWindow.title "Find Files"> +<!ENTITY fileMenu.label "File"> +<!ENTITY editMenu.label "Edit"> +<!ENTITY fileMenu.accesskey "f"> +<!ENTITY editMenu.accesskey "e"> +<!ENTITY openCmd.label "Open Search..."> +<!ENTITY saveCmd.label "Save Search..."> +<!ENTITY closeCmd.label "Close"> +<!ENTITY openCmd.accesskey "o"> +<!ENTITY saveCmd.accesskey "s"> +<!ENTITY closeCmd.accesskey "c"> +<!ENTITY cutCmd.label "Cut"> +<!ENTITY copyCmd.label "Copy"> +<!ENTITY pasteCmd.label "Paste"> +<!ENTITY cutCmd.accesskey "t"> +<!ENTITY copyCmd.accesskey "c"> +<!ENTITY pasteCmd.accesskey "p"> +<!ENTITY cutCmd.commandkey "X"> +<!ENTITY copyCmd.commandkey "C"> +<!ENTITY pasteCmd.commandkey "V"> +<!ENTITY openCmdToolbar.label "Open"> +<!ENTITY saveCmdToolbar.label "Save"> +<!ENTITY searchTab "Search"> +<!ENTITY optionsTab "Options"> +<!ENTITY findDescription "Enter your search criteria below and select the Find button to begin the search."> +<!ENTITY findCriteria "Search Criteria"> +<!ENTITY type.name "Name"> +<!ENTITY type.size "Size"> +<!ENTITY type.date "Date Modified"> +<!ENTITY mode.is "Is"> +<!ENTITY mode.isnot "Is Not"> +<!ENTITY casesensitive "Case Sensitive Search"> +<!ENTITY matchfilename "Match Entire Filename"> +<!ENTITY results.filename "Filename"> +<!ENTITY results.location "Location"> +<!ENTITY results.size "Size"> +<!ENTITY bytes.before ""> +<!ENTITY bytes.after "bytes"> +<!ENTITY button.find "Find"> +<!ENTITY button.cancel "Cancel"> +</pre> +<p>Um den Text in einer neuen Sprache hinzuzufügen, genügt es eine weitere DTD-Datei zu erstellen. Durch die Verwendung des Chrome Systems, um die DTD-Datei einer anderen Sprache hinzuzufügen, kann die selbe XUL-Datei für jede Sprache verwendet werden.</p> +<p>Das Dateisuche Beispiel so weit: <a class=" external" href="http://developer.mozilla.org/samples/xultu/examples/findfile/findfile-locale.xul.txt">Quellcode</a></p> +</div> +<p>Als nächstes werden wir einen Blick auf <a href="/de/XUL_Tutorial/Property-Dateien">Property Dateien</a> werfen.</p> +<p>{{ PreviousNext("XUL_Tutorial/Eine_eigene_Skin_erstellen", "XUL_Tutorial/Property-Dateien") }}</p> +<p>{{ languages( { "en": "en/XUL_Tutorial/Localization", "fr": "fr/Tutoriel_XUL/Localisation", "ja": "ja/XUL_Tutorial/Localization", "pl": "pl/Kurs_XUL/Lokalizacja" } ) }}</p> diff --git a/files/de/archive/mozilla/xul/xul_tutorial/positionierung_von_elementen/index.html b/files/de/archive/mozilla/xul/xul_tutorial/positionierung_von_elementen/index.html new file mode 100644 index 0000000000..756e025aaa --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_tutorial/positionierung_von_elementen/index.html @@ -0,0 +1,259 @@ +--- +title: Positionierung von Elementen +slug: Archive/Mozilla/XUL/XUL_Tutorial/Positionierung_von_Elementen +tags: + - XUL + - XUL Tutorial +translation_of: Archive/Mozilla/XUL/Tutorial/Element_Positioning +--- +<div class="prevnext" style="text-align: right;"> + <p><a href="/de/docs/XUL_Tutorial/Das_Box-Modell" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Details_zum_Box-Modell">weiter »</a></p> +</div> + +<p>Schauen wir uns die Steuerung von Positionen und Größen von XUL Elementen an.</p> + +<h2 id="Positionierung_in_Boxen">Positionierung in Boxen</h2> + +<p>Bis jetzt wissen wir, dass Elemente entweder horizontal oder vertikal innerhalb einer Box positioniert werden können. Meistens brauchen wir aber weitere Steuerungsmöglichkeiten zur Position und Größe von Elementen in der Box. Dazu müssen wir uns zunächst anschauen wie eine Box arbeitet.</p> + +<p>Die Position eines Elementes wird vom Layout des Containers bestimmt. Zum Beispiel ist die Position einer Schaltfläche in einer horizontalen Box rechts von der vorherigen Schaltfläche, sofern diese existiert. Die Größe eines Elements wird von zwei Faktoren beeinflusst: Die Größe, die das Element an Größe braucht und die Größe, die Sie festlegen. Die Größe, die das Element braucht, hängt vom dem ab, was sich innerhalb des Elements befindet. Zum Beispiel wird die Breite einer Schaltfläche anhand des Textes, welcher sich darauf befindet, berechnet.</p> + +<p>Ein Element wird generell so groß wie es Inhalt vorschreibt und nicht größer. Einige Elemente verfügen über eine Standardgröße (z.B. Textboxen), welche verwendet wird. Eine horizontale Box mit drei Schaltflächen darin, wird so groß wie die drei Schaltflächen plus einem kleinen zusätzlichen Abstand.</p> + +<div class="float-right"><img alt="Image:boxstyle1n.png" class="internal" src="/@api/deki/files/571/=Boxstyle1n.png"></div> + +<p>Im Bild wurde den ersten beiden Schaltflächen eine passende Größe vorgeschrieben, um den Text anzuzeigen. Die dritte Schaltfläche ist größer, weil sie mehr Inhalt enthält. Die Breite der umschließenden Box ist die Summe der Breite der drei Schaltflächen plus einem zusätzlichen Abstand zwischen ihnen. Die Höhe der Schaltflächen ist passend zur Textgröße berechnet worden.</p> + +<h3 id="Width_und_height_Attribute">Width und height Attribute</h3> + +<p>Sie möchten sicher mehr Einfluss auf die Größe eines Elements in einem Fenster nehmen können. Es gibt eine Reihe von Features, die Ihnen erlauben die Größe eines Elementes festzulegen. Der schnellste Weg ist, einfach die <code><code id="a-width"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code></code> und <code><code id="a-height"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code></code> Attribute festzulegen, genauso wie Sie es vielleicht von HTML kennen. Ein Beispiel dazu:</p> + +<p><span id="Beispiel_1"><a id="Beispiel_1"></a><strong>Beispiel 1</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_1.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_1.xul">Ansehen</a></p> + +<pre><button label="OK" width="100" height="40"/> +</pre> + +<p>Es ist jedoch nicht empfohlen, das so zu machen. Es ist passt nicht in einige Themes und ist umständlicher anpassbar. Ein besserer Weg ist, CSS Eigenschaften zu verwenden, welche wie in HTML arbeiten. Die folgenden CSS Eigenschaften können dazu verwendet werden:</p> + +<dl> + <dt><a href="/de/docs/Web/CSS/width" title="Die width CSS Eigenschaft legt die Breite des Inhaltsbereichs eines Elements fest. Der Inhaltsbereich ist innerhalb des Innenabstands, Rahmens und Außenabstands des Elements."><code>width</code></a></dt> + <dd>Legt die Breite eines Elementes fest.</dd> + <dt><a href="/de/docs/Web/CSS/height" title="Die height CSS Eigenschaft bestimmt die Höhe des Inhaltsbereichs eines Elements. Der Inhaltsbereich ist innerhalb des Innenabstands, der Rahmen und des Außenabstands des Elements."><code>height</code></a></dt> + <dd>Legt die Höhe eines Elementes fest.</dd> +</dl> + +<p>Werden beide Eigenschaften festgelegt, wird das Element mit dieser Breite und Höhe erstellt. Wird nur eines der beiden angegeben, wird die andere Eigenschaft nach dem benötigten Platz berechnet. Die Größe sollte als Zahl gefolgt von einer Einheit angegeben werden.</p> + +<h3 id="Flexible_Elemente">Flexible Elemente</h3> + +<p>Die Größen der Elemente sind ziemlich einfach zu berechnen für nicht-flexible Elemente. Sie folgen einfach der festgelegten Breiten und Höhen und sobald eine Größe nicht festgelegt wurde, wird das Element so groß wie es für den Inhalt erforderlich ist. Für flexible Elemente ist die Berechnung allerdings nicht ganz so einfach.</p> + +<p>Flexible Elemente sind solche, die über ein <code><code id="a-flex"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> Attribut verfügen und einen Wert größer als 0 haben. Flexible Elemente passen sich an den verfügbaren Freiraum an. Die Standardgröße wird trotzdem genauso berechnet wie für nicht-flexible Elemente. Das folgende Beispiel soll dies verdeutlichen:</p> + +<p><span id="Beispiel_2"><a id="Beispiel_2"></a><strong>Beispiel 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_2.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_2.xul">Ansehen</a></p> + +<pre><window orient="horizontal" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> + +<hbox> + <button label="Yes" flex="1"/> + <button label="No"/> + <button label="I really don't know one way or the other"/> +</hbox> + +</window> +</pre> + +<p>Das Fenster wird zunächst so erscheinen wie im vorherigen Bild. Die ersten beiden Schaltflächen werden auf eine passende Breite und die dritte Schaltfläche auf längere Breite skaliert, weil diese über eine längere Aufschrift verfügt. Die erste Schaltfläche ist flexibel und alle Elemente wurde in eine Box getan. Die Breite dieser Box wird auf die Startgröße aller drei Schaltflächen gesetzt (ca. 430 Pixel in dem Bild).</p> + +<p>Wenn Sie nun das Fenster vergrößern, wird überprüft, ob Elemente flexibel sind, um den entstehenden Freiraum zu füllen, der entstehen würde. Da die erste Schaltfläche das einzig flexible Element ist, sollte es größer werden. Das geschieht in diesem Fall jedoch nicht, da die Box in dem sich die Schaltfläche befindet nicht flexibel ist. Ein unflexibles Element kann niemals seine Größe ändern, wenn der Platz verfügbar ist. Die Schaltfläche kann also nicht größer werden.</p> + +<p>Die Lösung ist, die Box ebenfalls flexibel zu machen. Wird dann das Fenster größer gemacht, ist zusätzlicher Raum verfügbar und die Box wird diesen Raum füllen. Weil die Box größer ist, ist auch mehr Platz innerhalb verfügbar und die flexible Schaltfläche kann diesen Platz einnehmen. Dieser Prozess wird für jede Verschachtelung wiederholt.</p> + +<h2 id="Minimale_und_maximale_Größen_festlegen">Minimale und maximale Größen festlegen</h2> + +<p>Vielleicht möchten Sie, dass ein Element eine bestimmte Größe besitzt, aber dennoch flexibel ist. Es können Größen festgelegt werden, die auch flexible Elemente nicht über- oder unterschreiten sollen. Diese Einstellung erreicht man mit diesen vier Attributen:</p> + +<dl> + <dt><code id="a-minwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code></dt> + <dd>Legt die minimale Breite eines Elements fest.</dd> + <dt><code id="a-minheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code></dt> + <dd>Legt die minimale Höhe eines Elements fest.</dd> + <dt><code id="a-maxwidth"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code></dt> + <dd>Legt die maximale Breite eines Elements fest.</dd> + <dt><code id="a-maxheight"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code></dt> + <dd>Legt die maximale Höhe eines Elements fest.</dd> +</dl> + +<p>Die Werten werden immer in Pixeln angegeben. Es können auch die zugehörigen CSS Eigenschaften angegeben werden: <code>min-width</code>, <code>min-height</code>, <code>max-width</code> und <code>max-height</code>.</p> + +<p>Diese Eigenschaften sind nur für flexible Elemente sinnvoll. Wird zum Beispiel eine maximale Höhe festgelegt, wird eine Schaltfläche nur bis zu einer bestimmten Größe skaliert. Sie können das Fenster weiterhin vergrößern, die Schaltfläche wird jedoch nicht weiter vergrößert werden. Die Box, in der sich die Schaltfläche befindet wird sich weiterhin anpassen, wenn Sie keine maximale Höhe festgelegt haben.</p> + +<p>Wenn zwei Schaltflächen flexibel sind, werden sich normalerweise beide den freien Platz gleichermaßen teilen. Falls eine Schaltfläche eine maximale Breite hat, wird die zweite Schaltfläche den restlichen Freiraum mit einnehmen.</p> + +<p>Wenn eine Box über eine maximale Breite oder Höhe verfügt, können die darin enthaltenen Kindelemente nicht größer als die festgelegte Größe der Box werden. Wenn eine minimale Breite oder Höhe vorliegt, können die Kindelemente ebenfalls nicht kleiner werden.</p> + +<h5 id="Beispiele_zur_Festlegung_von_Breiten_und_Höhen">Beispiele zur Festlegung von Breiten und Höhen</h5> + +<pre><button label="1" style="width: 100px;"/> +<button label="2" style="width: 100em; height: 10px;"/> +<button label="3" flex="1" style="min-width: 50px;"/> +<button label="4" flex="1" style="min-height: 2ex; max-width: 100px"/> +<textbox flex="1" style="max-width: 10em;"/> +<description style="max-width: 50px">This is some boring but simple +wrapping text.</description> +</pre> + +<dl> + <dt>Beispiel 1 </dt> + <dd>Die erste Schaltfläche wird mit einer Breite von 100 Pixeln (px bedeutet Pixel) angezeigt. Die Einheit muss angegeben werden, sonst wird die Breite ignoriert.</dd> + <dt>Beispiel 2 </dt> + <dd>Die zweite Schaltfläche wird mit einer Höhe von 10 Pixeln und einer Breite von 100em (ein em ist die Größe eines Zeichens der aktuellen Schrift) angezeigt.</dd> + <dt>Beispiel 3 </dt> + <dd>Die dritte Schaltfläche ist flexibel, sie wird also auf Basis der Größe Box der angezeigt. Die Schaltfläche wird jedoch niemals kleiner als 50 Pixel breit. Andere flexible Komponenten wie z.B. Spacer werden den verbleibenden Platz einnehmen.</dd> + <dt>Beispiel 4 </dt> + <dd>Die vierte Schaltfläche is flexibel und wird niemals eine Höhe haben, die kleiner als 2 ex ist (ein ex ist normalerweise die Höhe des Buchstaben x der aktuellen Schrift) oder größer als 100 Pixel ist.</dd> + <dt>Beispiel 5 </dt> + <dd>Das Texteingabefeld ist flexibel, wird aber niemals größer als 10em werden. Sie werden vermehrt em verwenden wollen, da Sie Größen für Elemente festlegen, die Text enthalten. Diese Einheit ist hilfreich für Textboxen, da die Schrift geändert werden kann und die Textbox immer eine passende Größe hat, auch wenn der Text mal ganz groß werden sollte.</dd> + <dt>Beispiel 6 </dt> + <dd>Das <code><code><a href="/de/docs/Mozilla/Tech/XUL/description" title="description">description</a></code></code> Element wird gezwungen eine maximale Breite von 50 Pixeln zu besitzen. Der Text innerhalb wird in eine neue Zeile verschoben, wenn die 50 Pixel erreicht sind.</dd> +</dl> + +<div class="highlight"> +<h5 id="Unser_Dateisuche-Dialog">Unser Dateisuche-Dialog</h5> + +<p>Fügen wir einige dieser Möglichkeiten zu unserem Dateisuche-Dialog hinzu. Wir werden es so machen, dass die Textbox auf das gesamte Fenster ausgestreckt wird.</p> + +<pre><textbox id="find-text" flex="1" style="min-width: 15em;"/> +</pre> + +<div class="float-right"><img alt="Image:boxstyle1.png" class="internal" src="/@api/deki/files/570/=Boxstyle1.png"></div> + +<p>Hier wurde das Texteingabefeld flexibel gemacht. Demnach wird es sich anpassen, wenn der Benutzer die Fenstergröße ändert. Das ist sehr hilfreich, wenn der Benutzer einen langen Text einfügen möchte. Außerdem wurde eine minimale Breite von 15em festgelegt, damit immer zumindest 15 Zeichen zu sehen sind. Verkleinert der Benutzer den Dialog sehr stark, wird das Texteingabefeld nur bis 15em verkleinert. Es wird so gezeichnet werden, als wenn es sich auch außerhalb des Fensters ausbreitet. Beachten Sie, dass das Bild ein Texteingabefeld zeigt, welches auf die maximale Fenstergröße ausgebreitet wurde.</p> +</div> + +<h2 id="Anordnung_in_Boxen">Anordnung in Boxen</h2> + +<p>Wenn Sie eine Box mit zwei Kindelementen haben, beide nicht flexibel, die Box ist aber flexibel. Zum Beispiel:</p> + +<p><span id="Beispiel_3"><a id="Beispiel_3"></a><strong>Beispiel 3</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_3.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_3.xul">Ansehen</a></p> + +<pre><box flex="1"> + <button label="Happy"/> + <button label="Sad"/> +</box> +</pre> + +<p>Wenn Sie nun das Fenster vergrößern, wird die Box auf die Fenstergröße ausgedehnt. Die Schaltflächen sind nicht flexibel, sie werden also nicht ihre Breiten ändern. Das Ergebnis ist zusätzlicher Platz, der auf der rechten Seite der Fensters (innerhalb der Box) erscheint. Sie möchten aber unter Umständen, dass dieser freie Platz auf der linken Seite erscheint, sodass die Schaltflächen auf der rechten Seite des Fensters ausgerichtet werden.</p> + +<p>Sie könnten das lösen, in dem Sie ein <code><code><a href="/de/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code></code> Element innerhalb der Box platzieren, aber das wird umständlich, wenn Sie es für eine Vielzahl von Elementen machen müssen. Ein besserer Weg ist, ein zusätzliches Attribut <code><code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></code> dem <code><code><a href="/de/docs/Mozilla/Tech/XUL/box" title="box">box</a></code> Element hinzuzufügen</code>. Dieses Attribut gibt an, wie die Kindelemente innerhalb der Box angeordnet werden sollen. Für horizontal orientierte Boxen wird die horizontale Position der Kindelemente gesteuert. Für vertikal orientierte Boxen wird die die vertikale Position der Kindelemente gesteuert. Es können die folgenden Werte verwendet werden:</p> + +<dl> + <dt>start</dt> + <dd>Positioniert Elemente an der linken Seite für horizontale Boxen und an der oberen Seite für vertikale Boxen. Dies ist der Standardwert.</dd> + <dt>center</dt> + <dd>Zentriert Kindelemente in der Box.</dd> + <dt>end</dt> + <dd>Positioniert Elemente an der rechten Seite für horizontale Boxen und an der unteren Seite für vertikale Boxen.</dd> +</dl> + +<p>Das <code><code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></code> Attribut wird in der Box festgelegt, die die auszurichteten Elemente enthält, nicht in den Elementen selbst.</p> + +<p>Wir können das vorherige Beispiel ändern, sodass die Elemente wie folgt zentriert werden:</p> + +<p><span id="Beispiel_4"><a id="Beispiel_4"></a><strong>Beispiel 4</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_4.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_4.xul">Ansehen</a></p> + +<pre><box flex="1" pack="center"> + <button label="Happy"/> + <button label="Sad"/> +</box> +</pre> + +<p>Jetzt, wenn das Fenster verändert wurde, werden die Schaltflächen horizontal zentriert. Vergleichen Sie das Verhalten zum vorherigen Beispiel.</p> + +<h2 id="Box_Ausrichtung">Box Ausrichtung</h2> + +<p>Wenn das Fenster im Happy-Sad Beispiel oben horizontal verändern, wird die Box in der Breite wachsen. Wenn Sie das Fenster vertikal verändern, werden jedoch die Schaltflächen in ihrer Höhe mitwachsen. Das kommt daher weil, die Flexibilität standardmäßig für die vertikale Richtung aktiviert ist.</p> + +<p>Dieses Verhalten kann mit dem <code><code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> Attribut gesteuert werden. Für horizontale Boxen werden die vertikalen Positionen der kindelemente gesteuert. Für vertikale Boxen werden die horizontalen Positionen der Kindelemente gesteuert. Die möglichen Werte sind ähnlich zu denen de<code><span style="font-family: Verdana,Tahoma,sans-serif;">s {</span>{XULAttr("pack")}}</code> Attributs.</p> + +<dl> + <dt>start</dt> + <dd>Richtet Elemente an der oberen Seite für horizontal Boxen und an der linken Seite für vertikale Boxen aus.</dd> + <dt>center</dt> + <dd>Zentriert Kindelemente in der Box.</dd> + <dt>end</dt> + <dd>Richtet Elemente an der unteren Seite für horizontale Boxen und an der rechten Seite für vertikale Boxen aus.</dd> + <dt>baseline</dt> + <dd>Richtet Elemente an der Textlinie aus. Nur für horizontale Boxen sinnvoll.</dd> + <dt>stretch</dt> + <dd>Standardwert. Sorgt dafür, dass die Elemente auf die Größe der Box ausgedehnt werden, wie ein flexibles Element nur in die andere Richtung.</dd> +</dl> + +<p>Im Gegensatz zum <code><code id="a-pack"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></code> Attribut, wird das <code><code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> Attribut auf die beinhalteten Elemente der Box angewendet, nicht auf das Element selbst.</p> + +<p>Zum Beispiel, die erste Box unten wird die Kindelemente ausdehnen, weil das die Standardeinstellung ist. Die zweite Box hat ein <code><code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> Attribut, seine Kindelemente werden also zentriert platziert.</p> + +<p><span id="Beispiel_5"><a id="Beispiel_5"></a><strong>Beispiel 5</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_5.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_5.xul">Ansehen</a></p> + +<pre><?xml version="1.0"?> +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> + +<window id="yesno" title="Question" orient="horizontal" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> + + <hbox> + <button label="Yes"/> + <button label="No"/> + </hbox> + <hbox align="center"> + <button label="Maybe"/> + <button label="Perhaps"/> + </hbox> + +</window> +</pre> + +<div class="float-right"><img alt="Image:boxstyle2-b.png" class="internal" src="/@api/deki/files/572/=Boxstyle2-b.png"></div> + +<p>Es können auch die CSS Eigenschaften: <code><a href="/de/CSS/-moz-box-pack" title="de/CSS/-moz-box-pack">-moz-box-pack</a></code> und <code><a href="/de/CSS/-moz-box-align" title="de/CSS/-moz-box-align">-moz-box-align</a></code> anstatt von Attributen verwendet werden.</p> + +<div class="note">Vielleicht finden Sie auch das <a class="external" href="http://developer.mozilla.org/samples/xultu/examples/aligner.xul">Ausrichtungsbeispiel</a> hilfreich, um die verschiedenen Eigenschaften auszuprobieren.</div> + +<h2 id="Text_und_Schaltflächen_abschneiden">Text und Schaltflächen abschneiden</h2> + +<p>Sie können eine Schaltfläche erstellen, die eine Beschriftung hat, die länger als die maximale Breite der Schaltfläche ist. Eine Lösung wäre sicher die Breite zu erhöhen, jedoch verfügen Schaltflächen (und andere Elemente mit einer Beschriftung) über ein spezielles Attribut. Das Attribut <code>"crop"</code> erlaubt Ihnen wie ein Text abgeschnitten wird, wenn dieser zu lang ist.</p> + +<p>Wenn der Text abgeschnitten wird, wird ein Auslassungszeichen (...) dort eingefügt, wo der Text ausgeschnitten wurde. Vier mögliche Werte sind dazu gültig:</p> + +<dl> + <dt>left</dt> + <dd>Der Text wird auf der linken Seite abgeschnitten.</dd> + <dt>right</dt> + <dd>Der Text wird auf der rechten Seite abgeschnitten.</dd> + <dt>center</dt> + <dd>Der Text wird in der Mitte abgeschnitten.</dd> + <dt>none</dt> + <dd>Der Text wird nicht abgeschnitten. Das ist das Standardverhalten.</dd> +</dl> + +<p>Dieses Attribut ist wirklich nur dann sinnvoll, wenn ein Dialog so entworfen wurde, dass er verwendbar in jeder Große sein soll. Das <code>crop</code> Attribut kann auch bei anderen Elementen verwendet werden, die ein <code><span style="font-family: Verdana,Tahoma,sans-serif;">l</span>abel</code> Attribut für Beschriftungen verwenden. Das folgende Beispiel zeigt das Attribut in Aktion:</p> + +<p><span id="Beispiel_6"><a id="Beispiel_6"></a><strong>Beispiel 6</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_6.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_6.xul">Ansehen</a></p> + +<div class="float-right"><img alt="Image:boxstyle2.png" class="internal" src="/@api/deki/files/573/=Boxstyle2.png"></div> + +<pre><button label="Push Me Please!" crop="right" flex="1"/> +</pre> + +<p>Beachten Sie, wie der Text der Schaltfläche auf der rechten Seiten abgeschnitten wird, wenn das Fenster verkleinert wird.</p> + +<div class="highlight"> +<p><span id="Aktueller_Dateisuche-Dialog"><a id="Aktueller_Dateisuche-Dialog"></a><strong>Aktueller Dateisuche-Dialog</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxstyle.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxstyle.xul">Ansehen</a></p> +</div> + +<p>Als nächstes eine Zusammenfassung und einige <a href="/de/XUL_Tutorial/Details_zum_Box-Modell" title="de/XUL Tutorial/Details zum Box-Modell">zusätzliche Details zum Box-Modell</a>.</p> + +<div class="prevnext" style="text-align: right;"> + <p><a href="/de/docs/XUL_Tutorial/Das_Box-Modell" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Details_zum_Box-Modell">weiter »</a></p> +</div> diff --git a/files/de/archive/mozilla/xul/xul_tutorial/xul_struktur/index.html b/files/de/archive/mozilla/xul/xul_tutorial/xul_struktur/index.html new file mode 100644 index 0000000000..2469697a21 --- /dev/null +++ b/files/de/archive/mozilla/xul/xul_tutorial/xul_struktur/index.html @@ -0,0 +1,154 @@ +--- +title: XUL Struktur +slug: Archive/Mozilla/XUL/XUL_Tutorial/XUL_Struktur +tags: + - XUL + - XUL Tutorial +translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure +--- +<p>{{ PreviousNext("XUL_Tutorial/Einfuehrung", "XUL_Tutorial/Die_Chrome_URL") }}</p> + +<p>Wir werden mit einem Blick auf die Handhabung von XUL in Mozilla starten.</p> + +<h3 id="Wie_wird_XUL_behandelt">Wie wird XUL behandelt</h3> + +<p>In Mozilla wird XUL genauso behandelt wie HTML oder anderer Inhalt. Wenn man die URL einer HTML-Seite in das Adressfeld des Browsers eingibt, ortet der Browser die Webseite und lädt den Inhalt herunter. Die Mozilla Rendering-Engine übersetzt den HTML-Quelltext in ein Dokumentbaum mit <a href="/de/DOM" title="de/DOM">DOM</a>. Anschließend wird der Baum in ein Satz Objekte konvertiert, die am Bildschirm angezeigt werden können. <a href="/de/CSS" title="de/CSS">CSS</a>, Bilder und andere Technologien werden verwendet, um die Anzeige zu kontrollieren. XUL funktioniert größtenteils auf die selbe Art und Weise.</p> + +<p>In der Tat werden alle Dokumenttypen, egal ob HTML, XUL oder sogar <a href="/de/SVG" title="de/SVG">SVG</a>, durch den selben zugrunde liegenden Code behandelt. Das bedeutet, dass die selben CSS-Eigenschaften benutzt werden können, um sowohl HTML und XUL zu manipulieren. Daher können viele Funktionen von beiden genutzt werden. Doch gibt es einige Funktionen, welche nur von HTML verwendet werden können, wie z.B. Formulare, und andere, welche nur von XUL verwendet werden können, so wie <a href="/de/XUL_Tutorial/Overlays" title="de/XUL_Tutorial/Overlays">Overlays</a>. Da XUL und HTML auf die selbe Art und Weise behandelt werden, kann man beide, sowohl vom lokalen Dateisystem, von einer Webseite oder von einer Erweiterung oder einer selbständigen <a href="/de/XULRunner" title="de/XULRunner">XULRunner</a>-Anwendung laden.</p> + +<p>Inhalte aus entfernten Quellen z.B. <code><span class="nowiki">http://localhost/~username/</span></code> sind (egal ob HTML, XUL oder ein anderer Dokumententyp) aus Sicherheitsgründen in ihrem Handlungsspielraum beschränkt. Deshalb stellt Mozilla die Methode zur Verfügung, Inhalte lokal zu installieren und registriert die installierten Dateien in sein <strong><a href="/de/Chrome" title="de/Chrome">chrome</a></strong>-System. Dies ermöglicht, dass eine spezielle URL-Form genutzt werden kann, die <code>chrome://</code> URL genannt wird. Durch den Zugriff auf eine Datei mittels einer Chrome-URL erhält die Datei höhere Rechte, um auf lokale Dateien, Eigenschaften und Bookmarks zuzugreifen und andere privilegierte Operationen auszuführen. Webseiten erhalten diese Privilegien nicht, es sei denn sie sind mit einem digitalen Zertifikat signiert, und der Benutzer hat den Zugriff auf diese Operationen gewährt.</p> + +<p>Die <strong>chrome</strong>-Paketregistrierung ist der Weg, um es Firefox-Erweiterungen zu ermöglichen, Funktionen zum Browser hinzuzufügen. Erweiterungen sind kleine Pakete mit XUL-Dateien, JavaScript, Stylesheets und Bildern, die in einer einzigen Datei verpackt sind. Eine solche Datei kann mit einem ZIP-Programm erstellt werden. Wenn der Benutzer diese Datei herunterlädt, wird die Erweiterung auf seiner Maschine installiert. Sie hängt sich in den Browser ein, indem sie eine XUL-Eigenschaft benutzt, die man Overlay nennt. Sie erlaubt es, das XUL der Erweiterung mit dem XUL des Browsers zu kombinieren. Für den Benutzer scheint es, als ob die Erweiterung den Browser <em>verändert</em> hat, aber in Wirklichkeit ist der Quelltext separat und die Erweiterung kann leicht entfernt werden. Registrierte Pakete müssen natürlich nicht unbedingt Overlays benutzen. Wenn sie keinen Gebrauch von Overlays machen, ist die Erweiterung nicht von der Browser-Oberfläche aus erreichbar, aber man kann sie über die Chrome-URL erreichen, sofern das erwünscht ist.</p> + +<p>Eigenständige XUL-Anwendungen können XUL-Code auf ähnliche Weise enthalten, er wird aber natürlich als Teil der Installation eingebunden, anstatt separat als Erweiterung eingebettet zu werden. Dennoch wird der XUL-Code im chrome-System registriert, sodass die Applikation die Benutzeroberfläche darstellen kann.</p> + +<p>Der Mozilla Browser selbst ist ebenfalls nichts weiter als eine Sammlung von Paketen, die XUL-Dateien, JavaScript und Stylesheets enthalten. Diese Dateien können über die chrome URL erreicht werden, haben erweiterte Privilegien und verhalten sich auch sonst wie andere Pakete. Natürlich ist der Browser weitaus größer und komplexer als die meisten Erweiterungen. Firefox und Thunderbird und einige andere Komponenten sind alle in XUL geschrieben und erreichbar über chrome-URLs. Sie können diese Pakete erkunden, indem Sie die Dateien in dem chrome-Verzeichnis ansehen, wo Firefox oder die anderen XUL-Anwendungen installiert sind.</p> + +<p>Die chrome-URL beginnt immer mit 'chrome://'. Ähnlich wie eine <span class="nowiki">'http://'-</span>URL immer eine entfernte Website per HTTP adressiert und die 'file://'-URL immer lokale Dateien, referenziert die 'chrome://'-URL immer installierte Pakete und Erweiterungen. Wir werden uns die chrome-Syntax im nächsten Kapitel genauer ansehen. Es ist wichtig zu wissen, dass der Zugriff über eine chrome-URL erweiterte Privilegien gegenüber den anderen Arten von URLs erlangt. Beispielsweise hat eine HTTP-URL keine besonderen Rechte und es wird ein Fehler ausgegeben, wenn eine Website versucht, zum Beispiel lokale Dateien zu lesen. Wird hingegen eine Datei von einer chrome-URL aus geladen, hat sie das Recht, lokale Dateien ohne Einschränkungen zu lesen.</p> + +<p>Diese Unterscheidung ist wichtig. Es bedeutet, dass Websites bestimmte Dinge nicht tun können, wie zum Beispiel die Lesezeichen des Benutzers zu lesen. Diese Unterscheidung basiert nicht auf dem Inhalt, sondern nur auf der URL, die benutzt wird. Sowohl HTML als auch XUL auf einer Website haben keine erweiterten Rechte, wohingegen XUL und HTML, die mit einer chrome-URL geladen wurden, erweiterte Privilegien haben.</p> + +<p>Wenn Sie XUL auf einer Website benutzen möchten, müssen Sie nur die XUL-Dateien auf die Website stellen, genau so, wie Sie es auch mit HTML-Dateien tun. Laden Sie dann die URL in den Browser: <small><span class="nowiki">http://localhost/xul.php</span></small>. Vergewissern Sie sich, dass Ihr Webserver so konfiguriert ist, dass er XUL-Dateien mit dem passenden Content-Type <strong><code>application/vnd.mozilla.xul+xml</code></strong> ausliefert. (zum Beispiel mittels PHP: <code>header('content-type: application/vnd.mozilla.xul+xml');</code>). Der Content-Type stellt sicher, dass Mozilla HTML und XUL unterscheiden kann. Mozilla nutzt die Dateierweiterung nur, solange die Datei vom Dateisystem gelesen wird. Sie sollten trotzdem die <code>.xul</code>-Dateiendung für all Ihre XUL-Dateien benutzen. Sie können XUL-Dateien in Ihren Browser laden, indem Sie sie mit dem Browser öffnen oder im Datei-Manager die Datei doppelklicken.</p> + +<div class="note">Denken Sie daran, dass entfernte XUL-Dateien bedeutende Einschränkungen haben.</div> + +<h4 id="sect1"> </h4> + +<h4 id="Dokumenttypen_HTML_XML_XUL_CSS">Dokumenttypen: HTML XML XUL CSS</h4> + +<p>Mozilla verwendet deutlich unterschiedliche Arten des Dokumentenobjektmodells (<a href="/de/DOM" title="de/DOM">DOM</a>) für HTML und XUL, obwohl viele der Funktionen gemeinsam verwendet werden. Es gibt drei hauptsächliche Dokumententypen in Mozilla: HTML, XML und XUL. Natürlich wird HTML für HTML-Dokumente genutzt, XUL für XUL-Dokumente und XML für andere XML-Dokumenttypen. Da XUL ebenfalls XML ist, ist das XUL-Dokument als eine Unterart des XML-Dokumentes zu verstehen. Es gibt feine Unterschiede in der Funktionsweise. Zum Beispiel sind die Formularsteuerungen auf einer HTML-Seite über die <code>document.forms</code>-Eigenschaft erreichbar, während diese nicht für XUL-Dokumente verfügbar ist, weil XUL keine Formulare im Sinne von HTML haben. Andererseits sind spezielle XUL-Funktionen (wie Overlays und Templates) nur in XUL-Dokumenten verfügbar.</p> + +<p>Diese Unterscheidung zwischen den Dokumenten ist wichtig. Es ist möglich viele XUL-Funktionen in HTML oder XML-Dokumenten zu verwenden, sofern sie nicht spezifisch für den jeweiligen Dokumententyp sind. Andere Funktionen erfordern jedoch den richtigen Dokumententyp. Daher können Sie zum Beispiel XUL-Layouts in anderen Dokumenten verwenden, da diese nicht vom XUL-Dokumententyp abhängig sind.</p> + +<p>Um die oben genannten Punkte zusammenfassen:</p> + +<ul> + <li>Mozilla rendert sowohl <a href="/de/HTML" title="de/HTML">HTML</a> als auch <a href="/de/XUL" title="de/XUL">XUL</a> mit der gleichen zugrunde liegenden Engine und verwendet <a href="/de/CSS" title="de/CSS">CSS</a>, um das Aussehen festzulegen.</li> + <li>XUL kann von einer entfernten Seite, vom lokalen Dateisystem oder als Paket installiert und über eine <a href="/de/Chrome" title="de/Chrome">chrome</a>-URL erreicht werden. Von der letzten Möglichkeit machen Erweiterungen gebrauch.</li> + <li>Chrome-URLs können verwendet werden, um auf installierte Pakete zuzugreifen und sie mit erweiterten Privilegien zu öffnen.</li> + <li>HTML, XML und XUL haben alle einen unterschiedlichen Dokumententyp. Einige Funktionen können in jedem Dokumententyp verwendet werden, während andere einen bestimmten Typ erfordern.</li> +</ul> + +<p>Die nächsten Abschnitte beschreiben die grundlegende Struktur eines Chrome-Pakets, welches in Mozilla installiert werden kann. Wenn Sie jedoch beginnen wollen eine einfache Anwendung zu schreiben, sollten Sie zu "<a href="/de/XUL_Tutorial/Ein_Fenster_erzeugen" title="de/XUL Tutorial/Ein Fenster erzeugen">Ein Fenster erzeugen</a>" springen und zu diesem Abschnitt später zurück kommen.</p> + +<h3 id="Paketorganisation">Paketorganisation</h3> + +<p>Mozilla ist so organisiert, sodass Sie so viele Komponenten wie Sie möchten, vorinstallieren können. Jede Erweiterung ist eine eigenständige Komponente mit einer separaten Chrome-URL. Mozilla verfügt außerdem über je eine Komponente für jedes installierte Theme und Sprachpaket. Jedes dieser Komponenten oder Pakete besteht aus einer Reihe von Dateien, welche die Benutzeroberfläche dafür beschreiben. Die Messenger-Komponente besitzt z.B. Beschreibungen für Fenster von Mailnachrichten oder Adressbuchdialogen.</p> + +<p>Die Pakete, die mit Mozilla ausgeliefert werden, befinden sich im Chrome-Verzeichnis, welches das Verzeichnis ist, wo Sie Mozilla installiert haben. Das Chrome-Verzeichnis ist das, wo Sie alle Dateien, die die Benutzeroberfläche beschreiben, finden. Normalerweise packen Sie alle XUL-Dateien für eine Anwendung in dieses Verzeichnis, obwohl Erweiterungen in das Erweiterungsverzeichnis für einen bestimmten Benutzer installiert werden. Das einfache Kopieren einer XUL-Datei in das <code>chrome-</code>Verzeichnis gibt der Datei noch keine erweiterten Rechte und außerdem kann sie nicht über eine chrome-URL aufgerufen werden. Um diese zusätzlichen Privilegien zu bekommen, müssen Sie eine Manifestdatei erstellen und diese in das Chrome-Verzeichnis packen. Diese Datei ist sehr einfach zu erstellen und ist normalerweise nur ein paar Zeilen lang. Diese Datei wird verwendet, um chrome-URLs auf eine Datei oder einen Verzeichnispfad zu binden, wo sich die XUL-Dateien befinden. Details zur Erstellung dieser Datei werden in einem <a href="/de/XUL_Tutorial/Manifest_Dateien" title="de/XUL Tutorial/Manifest Dateien">späteren Abschnitt</a> genauer betrachtet.</p> + +<p>Der einzige Weg Inhalte zu erstellen, die über eine Chrome-Url erreichbar sind, ist, ein Paket wie in nächsten Abschnitten beschrieben, zu erstellen. Das Verzeichnis wird 'chrome' genannt, weil es ein geeigneter Name zur Aufbewahrung von Chrome-Paketen ist, welche in Mozilla enthalten sind.</p> + +<p>Um die Verwirrung noch weiter zu treiben, gibt es noch zwei weitere Orte, wo das Wort "chrome" auftreten könnte. Das ist einmal das <code>-chrome-</code>Kommandozeilenargument und zum anderen der <code>chrome</code>-Modifier der <code><a href="https://developer.mozilla.org/en/DOM/window.open">window.open()</a>-</code>Funktion. Keine dieser Funktionen verteilen zusätzliche Privilegien, stattdessen werden sie verwendet, um ein neues Top-Level-Fenster ohne das Browser UI (Toolbars, Menü) zu erstellen. Sie werden diese Funktion sicher noch in komplexeren XUL Anwendungen verwenden, wenn Sie nicht das Browser UI um Ihre Dialogboxen herum haben wollen.</p> + +<p>Dateien eines Pakets werden normalerweise in einzelne JAR-Dateien zusammengefügt. Eine JAR-Datei kann mit einem ZIP-Tool erstellt werden. Beispielsweise können Sie JAR-Dateien in Mozilla's <code>chrome-</code>Verzeichnis öffnen, um die grundlegende Struktur des Pakets zu sehen. Obwohl es normal so ist, dass die Dateien in einer JAR-Datei gepackt sind, können Pakete genauso von einem normalen Verzeichnis erreicht werden. Obwohl Pakete normalerweise nicht auf diese Art ausgeliefert werden, ist es dennoch während der Entwicklung handlicher, die Dateien vorerst nicht zu packen, da Sie diese dann besser bearbeiten können ohne die Dateien jedes Mal neu zu packen zu müssen.</p> + +<p>Standardmäßig parsen Mozilla-Applikationen XUL-Dateien und Skripte und speichern eine vor-kompilierte Version im Speicher im Laufe der Anwendungssitzung. Das verbessert die Leistung. Dadurch wird XUL allerdings nicht neu geladen, auch nicht, wenn die Quelldateien sich geändert haben. Um diesen Mechanismus zu deaktivieren, ist es notwendig die Einstellung <code>nglayout.debug.disable_xul_cache</code> festzulegen. In Firefox muss diese Einstellung unter Umständen hinzugefügt werden, indem "about:config" in die Adresszeile eingegeben wird und dieser Wert auf "true" gesetzt wird. Oder Sie verändern die <code>user.js</code>-Einstellungsdatei manuell und fügen die folgende Zeile hinzu:</p> + +<pre class="eval">pref("nglayout.debug.disable_xul_cache", true); +</pre> + +<p>Es gibt normalerweise drei verschiedene Teile eines chrome-Pakets, auch wenn sie alle optional sind. Jeder Teil wird in einem anderen Verzeichnis gespeichert. Diese drei Sets sind content, skin und locale, welche unten näher beschrieben sind. Ein bestimmtes Paket kann ein oder mehrere Skins und Sprachen bereitstellen und der Benutzer kann diese mit den eigenen ersetzen. Zusätzlich kann das Paket mehrere unterschiedliche Anwendungen enthalten, jedes davon über eine andere chrome-URL erreichbar. Das Paketsystem ist flexibel genug, um separate Downloads von anderen Teilen wie zum Beispiel andere Sprachen, handzuhaben.</p> + +<p>Die drei Typen der Chrome-Pakete sind:</p> + +<ul> + <li><strong>Content</strong> - Fenster und Skripte<br> + Beinhaltet Festlegungen zu Fenstern und der Benutzeroberfläche. Diese sind in XUL-Dateien gespeichert, welche eine <code>.xul</code>-Endung haben. Ein content-Paket kann mehrere XUL-Dateien besitzen, aber das Hauptfenster sollte den gleichen Dateinamen haben, wie die Anwendung selbst. Beispielsweise sollte ein "Editor"-Paket die Datei <code>editor.xul</code> haben. Skripte werden in separaten Dateien neben den XUL-Dateien platziert.</li> + <li><strong>Skin</strong> - Style Sheets, Bilder und andere Dateien zum Aussehen<br> + Style Sheets beschreiben Details zum Erscheinungsbild eines Fensters. Sie werden separat von den XUL-Dateien gespeichert, um Änderungen am Aussehen einfacher verwalten zu können. Etwaige Bilder werden hier ebenfalls gespeichert.</li> + <li><strong>Locale</strong> - Dateien zum Text und zur Sprache<br> + Der gesamte Text, welcher in der Anwendung angezeigt wird, wird hier gespeichert. Dadurch wird ermöglicht, dass der Benutzer eine eigene Sprache für das Paket bereitstellen kann.</li> +</ul> + +<h3 id="Content_Pakete">Content Pakete</h3> + +<p>Der Name der JAR-Datei kann beschreiben, was sich darin befindet, aber Sie können nur sicher gehen, wenn Sie sich die Inhalte wirklich anschauen. Verwenden wir das Browserpaket, welches in Firefox enthalten ist als Beispiel. Wenn Sie Dateien in <code>browser.jar</code> entpacken, werden Sie die folgende Verzeichnisstruktur auffinden:</p> + +<pre>content + browser + browser.xul + browser.js + -- weitere XUL und JS-Dateien -- + bookmarks + -- Bookmarks-Dateien -- + preferences + -- Einstellungsdateien -- +. +. +. +</pre> + +<p>Das lässt einfach als ein 'content'-Paket identifizieren, weil das oberste Verzeichnis "content" genannt wurde. Für Skins wird dieses Verzeichnis normalerweise "<code>skin"</code> und für Sprachen wird es normalerweise "<code>locale"</code> genannt. Dieses Benennungsschema ist nicht notwendig, aber es ist eine gute Konvention, um die Teile des Pakets klar trennen zu können. Einige Pakete können unter Umstand ein Abschnitt für content, skin sowie locale besitzen. In diesem Fall werden Sie ein Unterverzeichnis für jeden Typ finden. Chatzilla wird zum Beispiel auf diesem Weg ausgeliefert.</p> + +<p>Das "<code>content/browser</code>"-Verzeichnis enthält eine Vielzahl an Dateien mit der Endung <code>.xul</code> und <code>.js</code>. Die XUL-Dateien sind die mit der<code> .xul</code>-Endung. Die Dateien mit der <code>.js</code>-Endung sind JavaScript-Dateien, welche Skripte enthalten, die die Funktionen eines Fenstern steuern. Viele XUL-Dateien haben eine zugehörige JavaScript-Datei und einige haben sogar mehr als eine.</p> + +<p>In der Verzeichnisauflistung oben werden zwei Dateien genannt. Es gibt natürlich noch weitere, aber zur Einfachheit wurde diese ausgelassen. Die Datei <code>browser.xul</code> ist die XUL-Datei, die das Hauptfenster beschreibt. Das Hauptfenster für ein "content"-Paket sollte den selben Namen wie das Paket haben, mit der Endung <code>.xul</code>. In diesem Fall ist der Paketname "browser" also erwarten wir die Datei <code>browser.xul</code>. Einige der anderen XUL-Dateien beschreiben weitere Fenster. Die Datei <code>pageInfo.xul</code> beschreibt zum Beispiel den Seiteninformationsdialog.</p> + +<p>Viele Pakete werden eine <code>contents.rdf</code> Datei enthalten, welches das Paket beschreibt, den Autor und die Overlays, die verwendet werden. Diese Datei ist jedoch veraltet und wurde durch ein einfacheres Verfahren ersetzt. Die neue Methode ist die sogenannte Manifestdatei, die bereits erwähnt wurde. Diese Dateien finden Sie mit der Endung <code>.manifest</code> im Chrome-Verzeichnis. Die Datei <code>browser.manifest</code> beschreibt beispielsweise das Browser-Paket.</p> + +<p>Mehrere Unterverzeichnisse wie "<code>bookmarks</code>" und "<code>preferences</code>" sind zusätzliche Bereiche der Browser-Komponente. Sie werden nur in unterschiedlichen Ordnern aufbewahrt, um die Dateien besser organisieren zu können.</p> + +<h3 id="Skins_oder_Themes">Skins oder Themes</h3> + +<p>Obwohl der zugrunde liegende Code für Mozilla sie Skins nennt und die Benutzeroberfläche den Ausdruck "Themes" gebraucht, meinen beide die gleiche Sache. Die <code>classic.jar</code>-Datei beschreibt das Standard-Theme von Firefox. Die Struktur ist ähnlich zum content-Paket. Zum Beispiel <code>classic.jar</code>:</p> + +<pre>skin + classic + browser + browser.css + -- weitere browser Skin-Dateien -- + global + -- globale Skin-Dateien -- +. +. +. +</pre> + +<p>Auch hier ist die Verzeichnisstruktur nicht notwendig und wird zur besseren Organisation verwendet. Sie können sogar alle Dateien in ein Verzeichnis packen. Für große Anwendungen werden Unterverzeichnisse verwendet, um verschiedene Komponenten zu trennen. Im obigen Beispiel existiert ein Verzeichnis für Theme-bezogene Dateien des Browsers und ein Ordner für globale Theme-bezogene Dateien. Das "global"-Verzeichnis enthält Skin-Dateien, die allgemein für alle Pakete zu gebrauchen sind. Die Dateien sind für alle Komponenten angelegt und werden mit ihrer eigenständigen Anwendung eingebunden. Der globale Teil definiert den Teil der gemeinsamen XUL-Widgets, wohingegen die anderen Verzeichnisse Dateien enthalten, die speziell für die entsprechenden Anwendungen sind. Firefox bindet beide, die globalen und die Browser Theme-Dateien in einem Archiv ein, aber sie können auch einzeln eingebunden werden.</p> + +<p>Ein Skin besteht aus CSS-Dateien und einer Reihe von Bildern, die das Aussehen des Interface definieren. Die Datei <code>browser.css</code> wird von <code>browser.xul</code> verwendet und enthält Styles, welche das Aussehen unterschiedlicher Teile der Anwendung beschreiben. Beachten Sie hier wieder, dass die Datei <code>browser.css</code> den gleichen Dateinamen wie das Paket besitzt. Beim Verändern von CSS-Dateien, stellen Sie das Aussehen eines Fensters ein, ohne dabei die Funktionen zu beeinflussen. Auf diese Weise können Sie ein neues Theme erstellen. Der XUL-Teil bleibt der Gleiche, aber der Skin-Teil wird unabhängig verändert.</p> + +<h3 id="Lokalisierung">Lokalisierung</h3> + +<p>Die Datei "<code>en-US.jar</code>" beschreibt die Sprachinformationen für jede Komponente, in diesem Fall für US-Englisch. Wie bei den Skins, enthält jede Sprachdatei Dateien, welche den Text für das Paket in der jeweiligen Sprache festlegen. Die Struktur von "locale" ist ähnlich zu den anderen, wir werden das hier nicht noch einmal auflisten.</p> + +<p>Der lokalisierte Text wird in zwei verschiedenen Dateitypen gespeichert: DTD-Dateien und properties-Dateien. Die DTD Dateien haben die Endung <code>.dtd</code> und enthalten Entity-Deklarationen, eine für jeden Textstring, welcher in einem Fenster verwendet wird. Die Datei <code>browser.dtd</code> enthält zum Beispiel Entity-Deklarationen für jedes Menü-Kommando. Zusätzlich werden Tastaturkürzel für jedes Kommando definiert, weil Sie eventuell unterschiedlich in verschiedenen Sprachen sein können. DTD-Dateien werden von XUL Dateien benutzt, meist werden Sie eine Datei pro XUL Datei finden. Der "locale" Teil beinhaltet auch "properties" Dateien, welche ähnlich sind, aber von Skriptdateien verwendet werden. Die Datei <code>browser.properties</code> enthält einige solcher lokalisierter Strings.</p> + +<p>Diese Struktur erlaubt Ihnen Mozilla oder eine Komponente in verschiedene Sprachen zu übersetzen, in dem einfach ein neues "locale"-Verzeichnis hinzugefügt wird. Sie müssen den XUL-Code gar nicht verändern. Weiter kann eine andere Person ein anderes Paket hinzufügen, welches Unterstützung für eine neue Sprache bietet, ohne dass Ihr Originalpaket verändert wird.</p> + +<h3 id="Weitere_Pakete">Weitere Pakete</h3> + +<p>Es gibt ein spezielles Paket, welches "Toolkit" (oder "global") genannt wird. Wir haben uns das "global"-Verzeichnis für Skins angeschaut. Die Datei <code>toolkit.jar</code> enthält den zugehörigen "content"-Teil dazu. Es sind einige globale Dialoge und Definitionen darunter. Es wird auch das Standardaussehen und die Standardfunktionen der XUL-Widgets, wie Textboxen und Schaltflächen festgelegt. Diese Datei im globalen Teil eines Skin-Verzeichnisses enthalten das Standardaussehen für alle XUL Interface-Elemente. Das Toolkit-Paket wird von allen XUL-Applikationen verwendet.</p> + +<h3 id="Ein_Paket_hinzufügen">Ein Paket hinzufügen</h3> + +<p>Mozilla platziert die Pakete, die mit der Installation eingebunden werden, in das Chrome-Verzeichnis. Diese Dateien müssen dort jedoch nicht platziert werden. Wenn ein anderes Paket installiert wird, können Sie dies überall auf der Festplatte platzieren, so lange eine Manifestdatei darauf zielt. Es ergibt Sinn Pakete in das Chrome-Verzeichnis zu packen, einfach weil es bequemer ist. Jedoch funktionieren die Pakete genauso gut, wenn sie woanders liegen. Sie können die Dateien jedoch nicht auf einer entfernten Seite speichern, da die entfernte Seite nicht durch das lokale Dateisystem gemountet ist.</p> + +<p>Es gibt zwei <code>chrome</code>-Verzeichnisse für XUL-Applikationen: Eine ist dort installiert, wo auch die Anwendung installiert wurde, während die andere Teil des Benutzerprofils ist. Das erste Verzeichnis erlaubt Paketen über alle Benutzer zu agieren, während das zweite Verzeichnis nur für den jeweiligen Benutzer erstellt worden ist. Erweiterungen werden in einem separaten Erweiterungsverzeichnis installiert und sind außerdem Benutzer-spezifisch. Jede Manifestdatei in einem der Chrome-Verzeichnissen wird geprüft, um zu sehen, welche Pakete installiert sind.</p> + +<p>Im nächsten Abschnitt werden wir einen Blick darauf werfen, wie man die Chrome-URL verwendet, um sich auf Chrome-Pakete zu beziehen.</p> + +<p>{{ PreviousNext("XUL_Tutorial/Einfuehrung", "XUL_Tutorial/Die_Chrome_URL") }}</p> + +<p>{{ languages( { "en": "en/XUL_Tutorial/XUL_Structure", "es": "es/Tutorial_de_XUL/Estructura_XUL", "ja": "ja/XUL_Tutorial/XUL_Structure", "pl": "pl/Kurs_XUL/Struktura_XUL","fr": "fr/Tutoriel_XUL/La_structure_XUL" } ) }}</p> diff --git a/files/de/archive/mozilla/xul/änderungen_an_xul_für_firefox_1.5/index.html b/files/de/archive/mozilla/xul/änderungen_an_xul_für_firefox_1.5/index.html new file mode 100644 index 0000000000..685c091888 --- /dev/null +++ b/files/de/archive/mozilla/xul/änderungen_an_xul_für_firefox_1.5/index.html @@ -0,0 +1,44 @@ +--- +title: Änderungen an XUL für Firefox 1.5 +slug: Archive/Mozilla/XUL/Änderungen_an_XUL_für_Firefox_1.5 +tags: + - Firefox 1.5 + - XUL +translation_of: Archive/Mozilla/XUL/XUL_Changes_for_Firefox_1.5 +--- +<p>Diese Seite liefert eine Übersicht über die wichtigsten Änderungen an <a href="/de/XUL" title="de/XUL">XUL</a> in <a href="/de/Firefox_1.5_für_Entwickler">Firefox 1.5</a> (<a href="/de/Gecko" title="de/Gecko">Gecko</a> 1.8). Weitere Änderungen, von denen man wissen sollte, beschreibt die Seite <a href="/de/XUL_Anwendungen_für_Firefox_1.5_anpassen" title="de/XUL_Anwendungen_für_Firefox_1.5_anpassen">XUL Anwendungen für Firefox 1.5 anpassen</a>.</p> +<h3 id="<scrollcorner>"><code><scrollcorner></code></h3> +<p>Es wurde das Element <code><scrollcorner></code> hinzugefügt, welche für den kleinen Kasten an der Überkreuzung von horizontalen und vertikalen Scrollbalken benutzt wird.</p> +<h3 id="<richlistbox>_und_<richlistitem>"><code><richlistbox></code> und <code><richlistitem></code></h3> +<p>Die Elemente <code><richlistbox></code> und <code><richlistitem></code> werden zur Darstellung von Listen beliebigen Inhalts benutzt. Das erst genannte funktioniert ähnlich wie <code><listbox></code>, welches vorwiegend für Listen mit Texteinträgen entworfen wurde. Die <code><richlistbox></code> hat größtenteils die gleiche API wie <code><listbox></code> und einzelne Einträge, die mithilfe von <code><richlistitem></code> erzeugt wurden, können ausgewählt werden. Siehe <a href="/de/XUL/Richlistbox">Richlistbox</a> für weiterführende Information.</p> +<h3 id="System_für_Voreinstellungen">System für Voreinstellungen</h3> +<p>Einige Elemente wurden hinzugefügt, mit denen Voreinstellungsfenster erzeugt werden können. Diese Fenster sind spezielle Typen von Dialogfenstern, die mehrere Panels unterstützen, welche jeweils zusammen in der gleichen Datei oder in einer eigenen Datei gespeichert werden können. Ein Satz von Icons wird am oberen Rand des Dialogfensters angezeigt und erlaubt dem Benutzer das Umschalten zwischen den Panels. Zusammen mit den neuen Elementen und einigen zusätzlichen Attributen für bestehende Elemente ermöglichen sie auf einfache Weise das Setzen von Voreinstellungen, ohne dafür Code benutzen zu müssen. Für weiterführende Information, siehe <a href="/de/Preferences_System" title="de/Preferences_System">Preferences System</a>.</p> +<h3 id="bfcache"><code>bfcache</code></h3> +<p>Mozilla speichert nun das DOM der Seite zwischen. Daher führt das Navigieren vor und zurück nicht zu einem Neuladen der Seite, was die Navigation sehr viel effizienter macht. Die Ereignisse <code>pageshow</code> und <code>pagehide</code> treten beim Umschalten von einer Seite im Zwischenspeicher auf, wohingegen die Ereignisse <code>load</code> und <code>unload</code> nur beim Laden und Entladen einer Seite auftreten.</p> +<p>Für weiterführende Information siehe: <a href="/de/Benutzen_des_Zwischenspeichers_in_Firefox_1.5_(caching)">Benutzen des Zwischenspeichers in Firefox 1.5</a>.</p> +<h3 id="tabIndex"><code>tabIndex</code></h3> +<p>Die Eigenschaft <code>tabIndex</code> wird nun auf die meisten Elemente angewendet.</p> +<h3 id="<radiogroup>"><code><radiogroup></code></h3> +<p>Das Setzen der <code>value</code> Eigenschaft eines <code><radiogroup></code> Elements führt zur Auswahl des <code><radio></code> Elements in der Gruppe mit dem entsprechenden Wert.</p> +<h3 id="Dialog_defaultButton_Eigenschaft">Dialog: <code>defaultButton</code> Eigenschaft</h3> +<p>Die Bindung des <code><dialog></code> Elements besitzt nun die Eigenschaft <code>defaultButton</code>. Das Setzen dieser Eigenschaft ändert die Standardschaltfäche des Dialogfensters. Die eine Möglichkeit ist die Angabe einer der Schaltflächen der <code><dialog></code>-Bindung (anhand des Namens); die andere ist <code>none</code>, dann ist keine Schaltfläche die Standardschaltfläche.</p> +<h3 id="Schaltfläche_icon_Eigenschaft">Schaltfläche: <code>icon</code> Eigenschaft</h3> +<p>Die <code>icon</code> Eigenschaft einer Schaltfläche ermöglicht die Verwendung vordefinierter Icons als Bild der Schaltfläche. Beispielsweise erzeugt<code> <button icon="help"></code> eine Schaltfläche mit einem Hilfe-Icon. Dies wird typischerweise auf Systemen mit GNOME eingesetzt, die möglichen Werte sind hier: <code>accept</code>, <code>cancel</code>, <code>help</code>, <code>open</code>, <code>save</code>, <code>find</code>, <code>clear</code>, <code>yes</code>, <code>no</code>, <code>apply</code>, <code>close</code>, <code>print</code>, <code>add</code>, <code>remove</code>, <code>refresh</code>, <code>go-forward</code>, <code>go-back</code>, <code>properties</code>, <code>select-font</code>, <code>select-color</code>, <code>network</code>.</p> +<h3 id="<menulist>"><code><menulist></code></h3> +<p>Einträge in einer <code><menulist></code> können ein <code>description</code> Attribut haben, um zusätzlich beschreibenden Text neben dem Namen eines Eintrags anzuzeigen. Die Änderungsmethoden <code>appendItem</code> und<code> insertItemAt </code>von <code>menulist</code> verlangen ein zusätzliches <code>description</code> Argument, wenn Einträge auf diese Weise erzeugt werden.</p> +<h3 id="<listbox>"><code><listbox></code></h3> +<p>Die Methode <code>removeItemAt</code> war augrund eines Fehlers ({{ Bug(236068) }}) manchmal nicht nullbasiert. Dies wurde in Firefox 1.5 behoben und Code, der sich auf dieses nicht nullbasierte Verhalten verlässt, sollte entsprechend geändert werden.</p> +<h3 id="<stringbundle>"><code><stringbundle></code></h3> +<p>Das <code><stringbundle></code> Element hat eine Eigenschaft <code>strings</code> dazu bekommen, die eine Aufzählung aller im Bündel enthaltenen Zeichenketten ermöglicht.</p> +<h3 id="Ziehbare_Reiter">Ziehbare Reiter</h3> +<p>Von jetzt an erlaubt der Tab-Browser ein Neuanordnen der Reiter durch einfaches Ziehen.</p> +<h3 id="<tabbox>"><code><tabbox></code></h3> +<p>Das <code><tabbox></code> Element besitzt nun ein Attribut <code>selectedIndex</code> zur Angabe desjenigen Reiters, der standardmäßig gewählt sein soll.</p> +<h3 id="Überlagerungen_dynamisch_laden">Überlagerungen dynamisch laden</h3> +<p>XUL untersützt nun das dynamische Laden von <a href="/de/XUL_Overlays" title="de/XUL_Overlays">Überlagerungen</a> mithilfe der Funktion <code><a href="/de/DOM/document.loadOverlay" title="de/DOM/document.loadOverlay">document.loadOverlay</a></code>.</p> +<div class="originaldocinfo"> +<h3 id="Information_zum_Originaldokument">Information zum Originaldokument</h3> +<ul> <li>Autor: Neil Deakin</li> +</ul> +</div> +<p>{{ languages( { "en": "en/XUL_Changes_for_Firefox_1.5", "fr": "fr/Modifications_XUL_pour_Firefox_1.5", "ja": "ja/XUL_Changes_for_Firefox_1.5", "pl": "pl/Zmiany_w_XUL-u_w_Firefoksie_1.5" } ) }}</p> diff --git a/files/de/archive/mozilla/xulrunner/index.html b/files/de/archive/mozilla/xulrunner/index.html new file mode 100644 index 0000000000..f4f7b708d4 --- /dev/null +++ b/files/de/archive/mozilla/xulrunner/index.html @@ -0,0 +1,81 @@ +--- +title: XULRunner +slug: Archive/Mozilla/XULRunner +tags: + - XUL + - XULRunner +translation_of: Archive/Mozilla/XULRunner +--- +<div class="callout-box"><strong><a href="/de/docs/Einführung_in_XULRunner" title="Einführung_in_XULRunner">XULRunner Einführung</a></strong><br> +Eine kurzes Tutorial zu XULRunner.</div> + +<div><strong>XULRunner</strong> ist ein Mozilla-Laufzeitpaket, welches genutzt werden kann, um XUL+XPCOM-Anwendungen auszuführen. Es stellt Mechanismen zur Installation, Aktualisierung und Deinstallation solcher Anwendungen bereit. XULRunner stellt weiterhin libxul bereit, eine Lösung, welche es erlaubt Mozilla-Technologien in andere Projekte und Produkte einzubetten.</div> + +<table class="topicpage-table"> + <tbody> + <tr> + <td> + <h4 id="Ver.C3.B6ffentlichungen" name="Ver.C3.B6ffentlichungen">Veröffentlichungen</h4> + + <div class="note"> + <p>XULRunner 1.9.2 wurde veröffentlicht und kann unter <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/" title="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/">ftp.mozilla.org</a> heruntergeladen werden. Siehe auch: <a href="/de/docs/XULRunner_1.9.2_Versionsinformationen" title="de/XULRunner_1.9.2_Versionsinformationen">Versionsinformationen</a> zur Installation, Deinstallation, und für weitere Informationen zu dieser Version.</p> + + <p>Firefox 3 und höher sind mit einem XULRunner Paket ausgestattet, welches jede kompatible XULRunner Anwendung über den <code>-app</code> Parameter benutzen kann.</p> + + <p><a href="/de/docs/XULRunner/ältere_Versionen" title="de/XULRunner//ältere_Versionen">Ältere Versionen</a> sind auch verfügbar.</p> + </div> + + <h4 id="Überblick">Überblick</h4> + + <ul> + <li>{{ interwiki('wikimo', 'XULRunner:Roadmap', 'Development Roadmap') }}</li> + <li><a href="/de/docs/XULRunner/Was_XULRunner_ermöglicht" title="de/XULRunner/Was_XULRunner_ermöglicht">Was XULRunner ermöglicht</a></li> + <li><a href="/de/docs/XULRunner_FAQ" title="de/XULRunner_FAQ">XULRunner FAQ</a></li> + <li>Nightly Build: <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">unstable-trunk</a></li> + <li><a class="external" href="http://zenit.senecac.on.ca/wiki/index.php/XULRunner_Guide">XULRunner Guide</a> (engl.)</li> + </ul> + + <h4 id="Dokumentation">Dokumentation</h4> + + <dl> + <dt><a href="/de/docs/Einführung_in_XULRunner" title="Einführung_in_XULRunner">XULRunner Einführung</a></dt> + <dd><small>Eine kurze Einführung in XULRunner.</small></dd> + <dt><a href="/de/docs/XULRunner_Tipps" title="de/XULRunner_Tipps">XULRunner Tipps</a></dt> + <dd><small>Eine Sammlung von Tipps zum Arbeiten mit XULrunner.</small></dd> + <dt><a href="/de/docs/XULRunner/XULRunner_1.8_verwenden" title="de/XULRunner/XULRunner_1.8_verwenden">XULRunner 1.8 verwenden</a></dt> + <dd><small>Dieser Artikel beschreibt, wie man XULRunner 1.8 als eigenständige Anwendung verwendet.</small></dd> + <dt><a href="/de/docs/XULRunner_Hall_of_Fame" title="de/XULRunner_Hall_of_Fame">XULRunner Hall of Fame</a></dt> + <dd><small>Auflistung aller verfügbaren Anwendungen, die auf XULRunner basieren.</small></dd> + <dt><a href="/de/docs/Entwickler_Handbuch/Build_Anweisungen" title="de/Entwickler_Handbuch/Build_Anweisungen">Build Dokumentation</a></dt> + <dd><small>Wie man den Quelltext bekommt und kompiliert.</small></dd> + <dt><a href="/de/docs/Debugging_einer_XULRunner_Anwendung" title="de/Debugging_einer_XULRunner_Anwendung">Debug Dokumentation</a></dt> + <dd><small>Schritte, die man benötigt, um Venkman zum Debuggen zu konfigurieren.</small></dd> + </dl> + + <p><span class="alllinks"><a href="/Special:Tags?tag=XULRunner&language=de" title="Special:Tags?tag=XULRunner&language=de">Alles anzeigen...</a></span></p> + </td> + <td> + <h4 id="Community" name="Community">Community</h4> + + <ul> + <li>Mozillas Plattform Foren:</li> + </ul> + + <p>{{ DiscussionList("dev-platform", "mozilla.dev.platform") }}</p> + + <ul> + <li><a class="link-irc" href="irc://irc.mozilla.org/#xulrunner">#xulrunner on irc.mozilla.org</a></li> + <li><a href="/de/docs/XULRunner/Community" title="de/XULRunner/Community">Weitere Community Links...</a></li> + </ul> + + <h4 id="Verwandte_Themen" name="Verwandte_Themen">Verwandte Themen</h4> + + <dl> + <dd><a href="/de/docs/XUL" title="de/XUL">XUL</a></dd> + </dl> + </td> + </tr> + </tbody> +</table> + +<p> </p> diff --git a/files/de/archive/rss/index.html b/files/de/archive/rss/index.html new file mode 100644 index 0000000000..e160b25010 --- /dev/null +++ b/files/de/archive/rss/index.html @@ -0,0 +1,13 @@ +--- +title: RSS +slug: Archive/RSS +tags: + - RSS +translation_of: Archive/RSS +--- +<div class="callout-box"><strong><a href="/de/RSS/Einführung" title="de/RSS/Einführung">Einführung</a></strong><br> +Dieses Tutorial soll Anfängern den Einstieg in RSS erleichtern.</div> +<div><strong>Really Simple Syndication (RSS)</strong> ist ein weit verbreitetes <a href="/de/HTML" title="de/HTML">HTML</a>-ähnliches und <a href="/de/XML" title="de/XML">XML</a>-basierendes Datenformat, welches zum Austausch von Inhalten benutzt wird. RSS hat eine schäbige Geschichte und eine Vielzahl an unterschiedlichen inkompatiblen <a href="/de/RSS/Version" title="de/RSS/Version">RSS Versionen</a> (einige sind auf <a href="/de/RDF" title="de/RDF">RDF</a> basiert, aber die meisten sind auf <a href="/de/XML" title="de/XML">XML</a> basiert). Nichtsdestotrotz ist RSS ein extrem populäres Format, das für den Austausch von Nachrichten, Blogposts, IPradio, IPTV und vielem mehr bestens geeignet ist und enorm an Fahrt gewonnen hat.</div> +<table class="topicpage-table"> <tbody> <tr> <td> <h4 id="Dokumentation"><a href="/Special:Tags?tag=RSS&language=de" title="Special:Tags?tag=RSS&language=de">Dokumentation</a></h4> <dl> <dt><a href="/en/RSS/Article/Why_RSS_Slash_is_Popular_-_Counting_Your_Comments" title="en/RSS/Article/Why_RSS_Slash_is_Popular_-_Counting_Your_Comments">Why RSS Slash is Popular - Counting Your Comments</a> (en)</dt> <dd><small>Ein Artikel von Charles Iliya Krempeaux über das <em>RSS Slash</em> Modul, warum es so populär ist und wie es man schafft einen Zähler für seine Kommentare bereit zu stellen.</small></dd> </dl> <dl> <dt><a href="/en/RSS/Article/Why_Well-Formed_Web_RSS_Module_is_Popular_-_Syndicating_Your_Comments" title="en/RSS/Article/Why_Well-Formed_Web_RSS_Module_is_Popular_-_Syndicating_Your_Comments">Why Well-Formed Web RSS Module is Popular - Syndicating Your Comments</a> (en)</dt> <dd><small>Ein Artikel von Charles Iliya Krempeaux über das RSS <em>Well-Formed Web</em> Modul, warum es so populär ist und wie man damit Kommentare verlinkt.</small></dd> </dl> <dl> <dt><a class="external" href="http://diveintomark.org/archives/2004/02/04/incompatible-rss">The Myth of RSS Compatibility</a> (en)</dt> <dd><small>Mark Pilgrim schildert die schäbige Geschichte von RSS und Details zur Inkompatibilität zwischen jeder Version.</small></dd> </dl> <dl> <dt><a class="external" href="http://www.tbray.org/ongoing/When/200x/2005/07/27/Atomic-RSS">Atomic RSS</a> (en)</dt> <dd><small>Tim Bray schildert die Benutzung von Atom 1.0 als Mikroformat und erweiterndes Modul für RSS 2.0 sowie das Beibehalten von RSS 2.0 als Austauschformat, allerdings mit integrierten, ausgewählten Atom 1.0 Elementen.</small></dd> </dl> <p><span><a href="/Special:Tags?tag=RSS&language=de" title="Special:Tags?tag=RSS&language=de">Alle ansehen...</a></span></p> </td> <td> <h4 id="Community">Community</h4> <ul> <li>Mozillas XML-Foren:</li> </ul> <p>{{ DiscussionList("dev-tech-xml", "mozilla.dev.tech.xml") }}</p> <h4 id="Related_Topics">Verwandte Themen</h4> <dl> <dd><a href="/de/RDF" title="de/RDF">RDF</a>, <a href="/de/XML" title="de/XML">XML</a></dd> </dl> </td> </tr> </tbody> +</table> +<p>{{ languages( { "en": "en/RSS","es": "es/RSS", "fr": "fr/RSS", "it": "it/RSS", "ja": "ja/RSS", "pl": "pl/RSS", "pt": "pt/RSS", "ko": "ko/RSS" } ) }}</p> diff --git a/files/de/archive/themes/index.html b/files/de/archive/themes/index.html new file mode 100644 index 0000000000..a440be2e7a --- /dev/null +++ b/files/de/archive/themes/index.html @@ -0,0 +1,11 @@ +--- +title: Themes +slug: Archive/Themes +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/Themes +--- +<p>Archived theme documentation.</p> + +<p>{{Listsubpages("/en-US/docs/Archive/Themes", 10)}}</p> diff --git a/files/de/archive/web-standards/index.html b/files/de/archive/web-standards/index.html new file mode 100644 index 0000000000..6b29b8e71c --- /dev/null +++ b/files/de/archive/web-standards/index.html @@ -0,0 +1,69 @@ +--- +title: Webstandards +slug: Archive/Web-Standards +tags: + - Webstandards +translation_of: Archive/Web_Standards +--- +<div> + <strong>Webstandards</strong> wurden sorgfältig entworfen, um für die größtmögliche Zahl von Internet-Nutzern den größtmöglichen Nutzen zu erzielen und gleichzeitig die Langlebigkeit von im Internet veröffentlichten Dokumenten sicherzustellen. Wer sich beim Entwerfen und Erstellen von Websites an diese Standards hält, vereinfacht die Produktion und senkt die Kosten, während gleichzeitig Websites entstehen, die für mehr Menschen und mehr webfähige Endgeräte zugänglich sind. Websites, die gemäß dieser Richtlinien entwickelt wurden, bleiben auch dann voll funktionsfähig, wenn sich herkömmliche Desktop-Browser verändern und neue internetfähige Endgeräte auf den Markt kommen.{{ Ref(1) }}</div> +<table class="topicpage-table"> + <tbody> + <tr> + <td> + <h4 id="Dokumentation">Dokumentation</h4> + <dl> + <dt> + <a href="https://developer.mozilla.org/en-US/docs/Migrate_apps_from_Internet_Explorer_to_Mozilla">Anwendungen vom Internet Explorer zu Mozilla migrieren</a></dt> + <dd> + <small>Jemals Probleme mit Internet Explorer-spezifischen Webanwendungen unter Mozilla gehabt? In diesem Artikel werden geläufige Probleme bei der Verwendung von IE-Anwendungen unter Mozilla-basierenden Browsern erläutert.</small></dd> + <dt> + <a href="https://developer.mozilla.org/en/Using_Web_Standards_in_your_Web_Pages">Verwendung von Webstandards</a></dt> + <dd> + <small>Dieser Artikel liefert einen Überblick über die Einhaltung von W3C Webstandards für die Inhalte der eigenen Webseite.</small></dd> + <dt> + <a href="https://developer.mozilla.org/en/Choosing_Standards_Compliance_Over_Proprietary_Practices">Wahl von Webstandards gegenüber proprietären Praktiken</a></dt> + <dd> + <small>In der Welt der (Web-)Entwicklung gibt es einen Bedarf an Standards, weil Anwendungen für für mehrere Entwicklergruppen entworfen werden.</small></dd> + <dt> + <a href="https://developer.mozilla.org/en/The_Business_Benefits_of_Web_Standards">Vorteile von Webstandards</a></dt> + <dd> + <small>Wie das Festhalten an Webstandards sowie die Verminderung von proprietären Markup und Technologien dazu beitragen kann, geschäftliche Ziele zu erreichen.</small></dd> + </dl> + </td> + <td> + <h4 id="Community" name="Community">Community</h4> + <p>Mozillas Webstandardsforen</p> + <div> + {{ DiscussionList("dev-web-development", "mozilla.dev.web-development") }}</div> + <ul> + <li><a class="external" href="http://webstandards.org/">Das Web Standards Projekt (en)</a></li> + <li><a class="external" href="http://webdevfeedhouse.com/">WebDev FeedHouse (en)</a></li> + <li><a href="/de/Web-Standards/Community" title="de/Web-Standards/Community">Weitere Community Links</a></li> + </ul> + <h4 id="Tools" name="Tools">Tools</h4> + <ul> + <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug Erweiterung</a></li> + <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer Erweiterung</a></li> + <li><a class="external" href="http://validator.w3.org/">Markup Validator (W3C)</a></li> + <li><a class="external" href="http://jigsaw.w3.org/css-validator/">CSS Validator (W3C)</a></li> + <li><a href="/Special:Tags?tag=Webstandards:Tools&language=de" title="Special:Tags?tag=Webstandards:Tools&language=de">Weitere Tools...</a></li> + </ul> + <h4 id="Beispiele">Beispiele</h4> + <ul> + <li><a class="external" href="http://www.mozilla.org/start/1.0/demos.html">Mozilla 1.0 Demos</a></li> + <li><a class="external" href="http://www.mozilla.org/newlayout/demo/">Gecko Demos</a></li> + <li><a class="external" href="http://www.csszengarden.com/">CSS Zen Garden</a></li> + <li><a class="external" href="http://www.meyerweb.com/eric/css/edge/">Eric Meyers's CSS Ecke</a></li> + <li><a class="external" href="http://dmoz.org/Computers/Programming/Languages/JavaScript/W3C_DOM/Demos/">W3C DOM Demos</a></li> + </ul> + <h4 id="Verwandte_Themen">Verwandte Themen</h4> + <dl> + <dd> + <a href="/de/CSS" title="de/CSS">CSS</a>, <a href="/de/DHTML" title="de/DHTML">DHTML</a>, <a href="/de/HTML" title="de/HTML">HTML</a>, <a href="/de/Webentwicklung" title="de/Webentwicklung">Webentwicklung</a>, <a href="/de/XHTML" title="de/XHTML">XHTML</a>, <a href="/de/XML" title="de/XML">XML</a></dd> + </dl> + </td> + </tr> + </tbody> +</table> +<p><small>{{ endnote("1") }} - <a class="external" href="http://webstandards.org/">The Web Standards Project</a></small></p> diff --git a/files/de/archive/web-standards/rdf_in_mozilla_faq/index.html b/files/de/archive/web-standards/rdf_in_mozilla_faq/index.html new file mode 100644 index 0000000000..cbd3c1194b --- /dev/null +++ b/files/de/archive/web-standards/rdf_in_mozilla_faq/index.html @@ -0,0 +1,264 @@ +--- +title: RDF in Mozilla FAQ +slug: Archive/Web-Standards/RDF_in_Mozilla_FAQ +tags: + - RDF +translation_of: Archive/Web_Standards/RDF_in_Mozilla_FAQ +--- +<h2 id="Allgemeines">Allgemeines</h2> +<h3 id="Wo_fange_ich_an">Wo fange ich an?</h3> +<p><a href="/de/RDF" title="de/RDF">RDF</a> dient zwei primären Zielen in Mozilla. Erstens ist es eine einfache, plattformübergreifende Datenbank für kleinere Datenmengen und zweitens - und das ist der Hauptgrund - wird das RDF-Modell zusammen mit <a href="/de/XUL/Vorlagen_Tutorial" title="de/XUL/Vorlagen Tutorial">XUL Templates</a> als eine abstrakte "API" zur Anzeige von Informationen benutzt. <a href="/de/RDF_in_fünfzig_Worten_oder_weniger" title="de/RDF_in_fünfzig_Worten_oder_weniger">RDF in fünfzig Worten oder weniger</a> ist eine kurze Beschreibung auf hohem Niveau, was RDF in Mozilla macht. Die <a class=" external" href="http://www.mozilla.org/rdf/back-end-architecture.html" title="http://www.mozilla.org/rdf/back-end-architecture.html">RDF Back-End Architektur</a> beschreibt die RDF Implementierung in Mozilla detaillierter und gibt eine kurze Übersicht der beteiligten Schnittstellen.</p> +<h3 id="Wo_finde_ich_Informationen_über_Open_Directory_(dmoz)">Wo finde ich Informationen über Open Directory ("dmoz")?</h3> +<p>Detaillierte Informationen zu Open Directory gibt es auf <a class="external" href="http://www.dmoz.org/">www.dmoz.org</a>. Das Open Directory Datenset ist als (riesiger) RDF/XML Dump verfügbar. Es beschreibt tausende von Webseiten, die eine Mischung aus dem <a class="external" href="http://www.dublincore.org/">Dublin Core</a> Metadaten-Vokabular und der DMoz Klassifizierung benutzen. Für mehr Informationen zu diesem Thema lesen Sie bitte die <a class="external" href="http://dmoz.org/rdf.html">DMoz RDF Seiten</a> oder <a class="external" href="http://groups.yahoo.com/group/odp-rdf-announce/">odp-rdf-announce</a> für Änderungen an dessen genauem Datenformat. Die Seite <a class="external" href="http://chefmoz.org/">ChefMoz</a> (gemeinnütziger Restaurantführer) ist auch als <a class="external" href="http://chefmoz.org/rdf.html">RDF verfügbar</a>.</p> +<p>Wenn Sie Probleme mit den Daten von DMoz bzw. ChefMoz haben, ist es das Beste, die Leute hinter diesen Projekten direkt zu kontaktieren. Aber wenn Sie etwas Interessantes mit diesem Inhalt machen (z.B. ihn in Mozilla benutzen, um beispielsweise Teile davon in das XUL UI von einer entfernten Seite zu laden), vergessen Sie bitte nicht, es <a class="link-mailto" href="mailto:mozilla-rdf@mozilla.org">mozilla-rdf</a> und die <a class="link-mailto" href="mailto:www-rdf-interest@w3.org">RDF Interest Group</a> wissen zu lassen. Diese Gruppen sind wahrscheinlich auch an Tools interessiert, die die DMoz Daten säubern, umgestalten oder speichern. Besuchen Sie die <a class="external" href="http://dmoz.org/Computers/Internet/Searching/Directories/Open_Directory_Project/Use_of_ODP_Data/">Seiten, die ODP Daten benutzen</a>, um einige Verzeichnisse zu sehen, die auf den ODP RDF Dumps basieren.</p> +<h3 id="Was_ist_eine_Datenquelle">Was ist eine Datenquelle?</h3> +<p>RDF kann für gewöhnlich auf zwei verschiedene Arten angezeigt werden: Entweder als Datenmenge mit Knoten und Bogen oder als Gruppierung logischer Aussagen. Eine Datenquelle ist eine Teilmenge (oder eine Ansammlung von Aussagen, abhängig von Ihrem Standpunkt), die aus bestimmten Gründen zusammengefasst werden. Einige Beispiele für bereits existierende Datenquellen sind Browser Lesezeichen, Browser Verlauf, IMAP E-Mail Accounts, NNTP News Server und RDF/XML Dateien.</p> +<p>In Mozilla können Datenquellen mit Hilfe der <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFCompositeDataSource.idl">Composite Data Source</a> <em>zusammengefasst</em> werden. Dies entspricht dem Überlagern von Datenmengen oder dem Zusammenfassen von Gruppen von Aussagen. Aussagen über die selbe RDF <em>Ressource</em> können dann gemischt werden: Zum Beispiel das Datum des letzten Besuchs einer bestimmten Webseite kommt aus dem globalen Browser-Verlauf und die Tastenkombination zum Erreichen der Webseite per Tastatur kann aus der Datenquelle für die Browser-Lesezeichen stammen. Beide Datenquellen gehören zur Webseite, die über die URL angesprochen wird: Das ist der Schlüssel, der es erlaubt, die Datenquellen korrekt zu verbinden.</p> +<p>Für eine detailliertere Beschreibung, wie man Datenquellen schreibt, lesen Sie sich bitte das <a href="/de/RDF_Datenquellen_Tutorial" title="de/RDF Datenquellen Tutorial">RDF Datenquellen Tutorial</a> durch.</p> +<h3 id="Wie_verwaltet_Mozilla_Datenquellen">Wie verwaltet Mozilla Datenquellen?</h3> +<p>Der <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl">RDF Service</a> verwaltet eine Tabelle aller geladenen Datenquellen. Die Tabelle ist mit der URI der Datenquelle verbunden, welche entweder die URL einer RDF/XML Datei oder eine spezielle URI mit "<code>rdf:" am Anfang ist, welche auf eine eingebaute Datenquelle zielt</code>.</p> +<p>Datenquellen können über den RDF Service unter Verwendung der <code>GetDataSource()</code> Methode bezogen werden. Wenn sich das URI Argument auf eine URL einer RDF/XML Datei bezieht, wird der RDF Service eine <em>RDF/XML Datenquelle</em> erstellen und diese asynchron parsen. Die Datenquelle bleibt im Cache bis die letzte Referenz der Datenquelle ausgegeben wurde.</p> +<p>Wenn sich das URI-Argument auf eine eingebaute Datenquelle bezieht, wird der RDF Service den XPCOM <em>Component Manager</em> verwenden, um eine Komponente zu laden, deren <em>ContractID</em> über eine spezielle URI geladen wurde: <code><a class=" link-mailto" href="mailto:prefix@mozilla.org" rel="freelink">prefix@mozilla.org</a>/rdf/datasource;1?name=</code>.</p> +<p>Zum Beispiel,</p> +<pre class="eval">rdf:foo +</pre> +<p>Würde folgendes laden::</p> +<pre class="eval">@mozilla.org/rdf/datasource;1?name=foo +</pre> +<p>Wie bei RDF/XML Datenquellen, wird eine Datenquelle über diesen Weg solange im Cache bleiben die letzte Referenz ausgegeben wurde.</p> +<h3 id="Wie_erstelle_ich_eine_Datenquelle_aus_einer_RDFXML_Datei">Wie erstelle ich eine Datenquelle aus einer RDF/XML Datei?</h3> +<p>Sie können entweder eine RDF/XML Datenquelle über die <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl">RDF Service</a> <code>GetDataSource()</code> Methode erstellen:</p> +<pre class="eval"><span class="highlightblue">// Get the RDF service</span> +var RDF = + Components + .classes["@mozilla.org/rdf/rdf-service;1"] + .getService(Components.interfaces.nsIRDFService); +<span class="highlightblue">// ...and from it, get the datasource. Make sure that your web server<br>// dishes it up as <strong>text/xml</strong> (recommended) or <strong>text/rdf</strong>!</span> +var ds = RDF.GetDataSource("<a class=" external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>"); +<span class="highlightblue">// Note that <strong>ds</strong> will load asynchronously, so assertions will not<br>// be immediately available</span> +</pre> +<p>Alternativ können Sie eine direkt erstellen, indem Sie den XPCOM Component Manager nutzen, so wie im folgendem Codeausschnitt dargestellt:</p> +<pre class="eval"><span class="highlightblue">// Create an RDF/XML datasource using the XPCOM Component Manager</span> +var ds = + Components + .classes["@mozilla.org/rdf/datasource;1?name=xml-datasource"] + .createInstance(Components.interfaces.nsIRDFDataSource); +<span class="highlightblue">// The <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFRemoteDataSource.idl">nsIRDFRemoteDataSource</a> interface has the interfaces<br>// that we need to setup the datasource.</span> +var remote = + ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); +<span class="highlightblue">// Be sure that your web server will deliver this as <strong>text/xml</strong> (recommended) or <strong>text/rdf</strong>!</span> +remote.Init("<a class=" external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>"); +<span class="highlightblue">// Make it load! Note that this will happen asynchronously. By setting<br>// <strong>aBlocking</strong> to true, we could force it to be synchronous, but this<br>// is generally a bad idea, because your UI will completely lock up!</span> +remote.Refresh(false); +<span class="highlightblue">// Note that <strong>ds</strong> will load asynchronously, so assertions will not<br>// be immediately available</span> +</pre> +<p>Sie können sich auch dafür entscheiden, die RDF/XML Datenquelle "manuell" zu erstellen, wenn Sie diese synchron statt asynchron laden wollen.</p> +<h3 id="Wie_lade_ich_eine_RDFXML_Datenquelle_neu">Wie lade ich eine RDF/XML Datenquelle neu?</h3> +<p>Sie können eine RDF/XML Datenquelle (oder jede andere Datenquelle, die <a class="external" href="http://lxr.mozilla.org/mozilla/source/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> unterstützen) neu laden, indem Sie die <code>Refresh()</code> Methode von <code>nsIRDFRemoteDataSource</code> nutzen. <code>Refresh()</code> nimmt einen Parameter an, welcher angibt, ob Sie die Operation synchron ("blocking") oder asynchron ("non-blocking") ausführen möchten. Sie sollten <em>niemals</em> einen synchronen Ladevorgang durchführen, wenn Sie nicht <em>wirklich </em>wissen, was Sie tun: Das wird die Benutzeroberfläche zum Einfrieren bringen bis der Ladevorgang abgeschlossen ist!</p> +<h3 id="Wie_kann_ich_feststellen_ob_eine_RDFXML_Datenquelle_geladen_wurde">Wie kann ich feststellen, ob eine RDF/XML Datenquelle geladen wurde?</h3> +<p>Über die <a class="external" href="http://lxr.mozilla.org/mozilla/source/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> Schnittstelle ist es möglich die Eigenschaft "<code>loaded" zu befragen</code>, um zu bestimmen, ob die Datenquelle geladen wurde oder nicht:</p> +<pre class="eval"><span class="highlightblue">// Get the RDF service</span> +var RDF = + Components + .classes["@mozilla.org/rdf/rdf-service;1"] + .getService(Components.interfaces.nsIRDFService); +<span class="highlightblue">// Get the datasource.</span> +var ds = RDF.GetDataSource("<a class=" external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>"); +<span class="highlightblue">// Now see if it's loaded or not...</span> +var remote = + ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + +if (remote.loaded) { + alert("the datasource was already loaded!"); +} +else { + alert("the datasource wasn't loaded, but it's loading now!"); +} +</pre> +<p>Sagen wir mal, dass die Datenquelle nicht geladen wurde und sie asynchron geladen werden wird. Über diese API und über JavaScript <code>setTimeout()</code> können wird eine Schleife erstellen, die kontinuierlich die "loaded" Eigenschaft prüft. Das ist sehr zusammengeschustert und schlecht, da kein <em>fehlgeschlagener</em> Ladevorgang erkannt wird, beispielsweise, wenn gar keine Daten in der URL vorhanden waren!</p> +<p>Aus diesem Grund gibt es ein <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFXMLSink.idl">Observer Interface</a>, welche Ihnen erlaubt den Fortschritt der Datenquelle zu beobachten. Der folgende Code zeigt die Verwendung:</p> +<pre class="eval"><span class="highlightblue">// This is the object that will observe the RDF/XML load's progress</span> +var Observer = { + onBeginLoad: function(aSink) + {}, + + onInterrupt: function(aSink) + {}, + + onResume: function(aSink) + {}, + + onEndLoad: function(aSink) + { + aSink.removeXMLSinkObserver(this); + alert("done!"); + }, + + onError: function(aSink, aStatus, aErrorMsg) + { alert("error! " + aErrorMsg); } +}; +<span class="highlightblue">// Get the RDF service</span> +var RDF = + Components + .classes["@mozilla.org/rdf/rdf-service;1"] + .getService(Components.interfaces.nsIRDFService); +<span class="highlightblue">// Get the datasource.</span> +var ds = RDF.GetDataSource("<a class=" external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>"); +<span class="highlightblue">// Now see if it's loaded or not...</span> +var remote = + ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + +if (remote.loaded) { + alert("the datasource was already loaded!"); +} +else { + alert("the datasource wasn't loaded, but it's loading now!"); + <span class="highlightblue">// RDF/XML Datasources are all <strong>nsIRDFXMLSink</strong>s</span> + var sink = + ds.QueryInterface(Components.interfaces.nsIRDFXMLSink); + <span class="highlightblue">// Attach the observer to the datasource-as-sink</span> + sink.addXMLSinkObserver(Observer); + <span class="highlightblue">// Now <strong>Observer'</strong>s methods will be called-back as<br> // the load progresses.</span> +} +</pre> +<p>Beachten Sie, dass der Observer an der RDF/XML Datenquelle angehängt bleibt, bis <code>removeXMLSinkObserver</code> aufgerufen wurde.</p> +<h3 id="Wie_bekomme_ich_Zugang_zu_den_Informationen_in_einer_Datenquelle">Wie bekomme ich Zugang zu den Informationen in einer Datenquelle?</h3> +<p>Das <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl"><code>nsIRDFDataSource</code></a> Interface ist ein Hilfsmittel mit dem Sie die Assertions der Datenquelle erreichen und verändern können.</p> +<ul> <li><code>boolean HasAssertion(aSource, aProperty, aTarget, aTruthValue)</code>.<br> This tests the datasource to see if it has the specified tuple.</li> <li><code>nsIRDFNode GetTarget(aSource, aProperty, aTruthValue)</code>.</li> <li><code>nsISimpleEnumerator GetTargets(aSource, aProperty, aTruthValue)</code>.</li> <li><code>nsIRDFResource GetSource(aProperty, aTarget, aTruthValue)</code>.</li> <li><code>nsISimpleEnumerator GetSources(aProperty, aTarget, aTruthValue)</code>.</li> <li><code>nsISimpleEnumerator ArcLabelsIn(aTarget)</code>.</li> <li><code>nsISimpleEnumerator ArcLabelsOut(aSource)</code>.</li> +</ul> +<p>Sie können außerdem <a href="/#Wie_manipuliere_ich_RDF_.22container.22.3f" title="#Wie manipuliere ich RDF .22container.22.3f">RDF Container</a> Schnittstellen verwenden, um Zugang zu Informationen der RDF <em>Container</em> zu erhalten.</p> +<h3 id="Wie_kann_ich_Informationen_in_der_Datenquelle_ändern">Wie kann ich Informationen in der Datenquelle ändern?</h3> +<p>Um 'Assert' verwenden zu können, um eine Assertion hinzuzufügen und 'Unassert' zu verwenden, um eine zu entfernen, lesen Sie <a class="external" href="http://www.mozilla.org/rdf/back-end-architecture.html">Mozilla RDF Back end Architecture</a> (engl.).</p> +<pre class="eval">ds.Assert(homepage, FV_quality, value, true); +ds.Unassert(homepage, FV_quality, value, true); +</pre> +<h3 id="Wie_mache_ich_Änderungen_an_einer_RDFXML_Datenquelle_rückgängig">Wie mache ich Änderungen an einer RDF/XML Datenquelle rückgängig?</h3> +<p>Eine RDF/XML Datenquelle kann über <code>QueryInterface()</code> der <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> Schnittstelle gesteuert werden. Dieses Interface hat eine <code>Flush()</code> Methode, welche versuchen wird, die Inhalte der Datenquelle zurück zur URL, von der Sie kommen, wiederherzustellen. Das geschieht über ein speziellen Protokollmechanismus (z.B., schreibt eine "<code>file:</code>" URL nur die Datei; eine "<code>http:</code>" URL kann einen HTTP-POST ausführen). <code>Flush()</code> schreibt nur zur Datenquelle, wenn sich die Inhalte geändert haben.</p> +<h3 id="Wie_füge_ich_zwei_oder_mehr_Datenquellen_zusammen_um_sie_als_eine_zu_sehen">Wie füge ich zwei oder mehr Datenquellen zusammen, um sie als eine zu sehen?</h3> +<p>Verwenden Sie nsIRDFCompositeDataSource. Dieses Interface ist von nsIRDFDataSource abgeleitet. Eine Implementierung dieser Schnittstelle kombiniert typischerweise die Aussagen mehrerer Datenquellen zusammen als eine Sammlung. Weil das nsIRDFCompositeDataSource Interface von nsIRDFDataSource abgeleitet ist, kann es genau so abgefragt und verändert werden wie eine individuelle Datenquelle.</p> +<h3 id="Wie_bekomme_ich_Zugang_zu_eingebauten_Datenquellen">Wie bekomme ich Zugang zu "eingebauten" Datenquellen?</h3> +<p>Eine <em>eingebaute Datenquelle</em> ist eine lokal installierte Komponente, die <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl">nsIRDFDataSource</a> implementiert. Zum Beispiel den <a class="external" href="http://lxr.mozilla.org/mozilla/source/xpfe/components/bookmarks/src/nsBookmarksService.cpp">Bookmarks Service</a>. Prüfen Sie zunächst <a href="/#Was_ist_das_Sicherheitsmodell_f.c3.bcr_RDF.2fXML_in_XUL.3f" title="#Was ist das Sicherheitsmodell f.c3.bcr RDF.2fXML in XUL.3f">hier</a>, um sicher zu gehen, dass sie<span style="font-style: italic;"> Zuga</span><em><span style="font-style: italic;">ng zu einer eingebauten Datenquelle haben</span></em>. Es gibt mehrere Sicherheitsbeschränkungen für den Zugang zu eingebauten Datenquellen von "unsicherem" XUL und JS.</p> +<p>Da eine eingebaute Datenquelle nur eine XPCOM Komponente ist, können Sie diese direkt über den XPConnect Component Manager instanzieren.</p> +<pre class="eval">// Use the component manager to get the bookmarks service +<span class="highlightgreen">var bookmarks =<br> Components.<br> classes["@mozilla.org/rdf/datasource;1?name=bookmarks"].<br> getService(Components.interfaces.nsIRDFDataSource);</span> + +// Now do something interesting with it... +if (bookmarks.HasAssertion( + RDF.GetResource("<a class=" external" href="http://home.netscape.com/NC-rdf#BookmarksRoot" rel="freelink">http://home.netscape.com/NC-rdf#BookmarksRoot</a>"), + RDF.GetResource("<a class=" external" href="http://home.netscape.com/NC-rdf#child" rel="freelink">http://home.netscape.com/NC-rdf#child</a>"), + RDF.GetResource("<a class=" external" href="http://home.netscape.com/NC-rdf#PersonalToolbarFolder" rel="freelink">http://home.netscape.com/NC-rdf#PersonalToolbarFolder</a>"), + true) { + // ... +} +</pre> +<p>Alternativ haben einige Datenquellen "spezielle" RDF-freundliche ContractIDs, die es einfach machen, die Datenquelle über die <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl"><code>nsIRDFSerivce</code></a> <code>GetDataSource()</code> Method zu instantiieren oder die Datenquellenattribute auf einem XUL Template. Diese ContractIDs haben die Form</p> +<pre class="eval">@mozilla.org/rdf/datasource;1?name=<em>name</em> +</pre> +<p>und sind über <code>GetDataSource()</code> und die Datenquellenattribute über den Kürzel <code><span style="font-family: Verdana,Tahoma,sans-serif;">"r</span>df:<em>name</em></code>" erreichbar. Beispielsweise zeigt der folgende Codeausschnitt, wie man den Bookmark Service als eine Datenquelle in ein XUL Template hinzufügt.</p> +<pre class="eval"><tree datasources="rdf:bookmarks"> + ... +</tree> +</pre> +<h3 id="Wie_manipuliere_ich_RDF_container">Wie manipuliere ich RDF "container"?</h3> +<p>Um einen RDF "container" (ein <code><rdf:Seq></code>, zum Beispiel) zu manipulieren, können Sie <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFContainerUtils.idl"><code>nsIRDFContainerUtils</code></a> verwenden, welche als Service mit der folgenden ContractID instantiiert werden kann:</p> +<pre class="eval">@mozilla.org/rdf/container-utils;1 +</pre> +<p>Sie können diesen Service verwenden, um zu ermitteln, ob etwas ein RDF Container ist, indem Sie <code>IsSeq()</code>, <code>IsBag()</code> und <code>IsAlt()</code> benutzen. Sie können eine Quelle in einen Container machen, wenn das nicht schon der Fall ist, in dem Sie <code>MakeSeq()</code>, <code>MakeBag()</code> oder <code>MakeAlt()</code> verwenden. Diese Methoden geben einen <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFContainer.idl"><code>nsIRDFContainer</code></a> zurück, welcher Ihnen erlaubt Container-ähnliche Operationen auszuführen und das Sie sich Ihre Hände schmutzig machen.</p> +<p>Alternativ, wenn Ihre Datenquelle bereits ein Objekt hat, welches ein RDF Container ist, können Sie ein <code>nsIRDFContainer</code> Objekt mit der folgenden Zeile instantiieren:</p> +<pre class="eval">@mozilla.org/rdf/container;1 +</pre> +<p>Mit der ContractID und <code>Init()</code> mit der Datenquelle und der Ressource als Parameter. Beachten Sie, dass dies fehlschlagen wird, wenn die Ressource nicht bereits ein Container ist.</p> +<h2 id="XUL_Templates">XUL Templates</h2> +<p>XUL Templates werden durch die Angabe eines Datenquellenattributs für ein Element in einem XUL Dokument festgelegt.</p> +<p>Es gibt zwei Arten von XUL Templates. Die einfache Art, welche aktuell die meist genutzte im Mozilla Code ist, und die erweiterte Art, welche anspruchsvolle Muster im RDF Graphen bietet. Siehe <a href="/de/XUL/Vorlagen_Tutorial" title="de/XUL/Vorlagen Tutorial">Vorlagen Tutotrial</a>.</p> +<h3 id="Was_ich_mit_einem_XUL_Template_machen">Was ich mit einem XUL Template machen?</h3> +<p>Sie können <em>jede</em> Art von Inhalt mit einem XUL Template verarbeiten. Sie können jede Art von Tags in dem <code><action></code> Bereich des <code><rule></code> Tags verwenden (auch HTML oder beliebiges XML).</p> +<h3 id="Wann_sollte_ich_ein_XUL_Template_verwenden">Wann sollte ich ein XUL Template verwenden?</h3> +<p>Eine Alternative zur Verwendung von RDF und XUL Templates ist die Verwendung von <a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/">W3C DOM APIs</a>, um XUL (oder HTML) Inhaltsmodelle zu verändern. Es kann jedoch sein, dass es dann etwas umständlich werden kann:</p> +<ol> <li><em>Es gibt mehrere "views" der Daten</em>. Zum Beispiel erkennen Mozilla mail/news die Verzeichnisstruktur in der Toolbar, das "folder pane", in mehreren Menüs und in einigen Dialogen. Um nicht drei Stücke JS (oder C++) Code zum Aufbau der DOM Trees für <code><menubutton></code>, <code><menu></code> and <code><tree></code> Inhaltsmodell zu erstellen, schreiben Sie einfach drei kompakte Regeln für jedes Inhaltsmodell.</li> <li><em>Die Daten können sich verändern</em>. Zum Beispiel kann ein mail/news Benutzer IMAP Ordner löschen oder hinzufügen. (Beachten Sie wie diese Aufgabe das Inhaltsmodell verkompliziert). Der XUL Template Builder verwendet Regeln, um automatisch alle Inhaltsmodelle synchron zu halten.</li> +</ol> +<p>Um die Vorteile dieser Funktionen zu nutzen, müssen Sie natürlich in der Lage sein, Ihre Informationen nach der <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl">RDF datasource API</a> auszudrücken, entweder durch die Verwendung des eingebauten <em>Datenquellenspeichers</em>, durch RDF/XML zum Speichern Ihrer Informationen oder durch das Schreiben Ihrer eigenen Implementierung (möglicherweise in JavaScript) der <code>nsIRDFDataSource</code> Schnittstelle.</p> +<h3 id="Was_wird_geladen_wenn_ich_datasources_festlege">Was wird geladen, wenn ich "datasources=" festlege?</h3> +<p>Das "<code>datasources"</code> Attribut in der Wurzel eines Templates legt eine Leerzeichen-getrennte Liste von <em>Datenquellen URIs</em> zum Laden fest. Aber was ist eine "Datenquellen URI"? Entweder:</p> +<ul> <li>Eine abgekürzte ContractID für eine lokal installierte Komponente. Durch das Festlegen von <code>rdf:<em>name</em></code>, weisen Sie den Template-Builder an, die XPCOM Komponente mit der ContractID: <code>@mozilla.org/rdf/datasource;1?name=<em>name</em></code> zu laden.</li> <li>Die URL einer RDF/XML Datei. Zum Beispiel, <pre>file:///tmp/foo.rdf +chrome://mycomponent/content/component-data.rdf +http://www.mysite.com/generate-rdf.cgi +ftp://ftp.somewhere.org/toc.rdf +</pre> <p>Der Ladevorgang wird <em>asynchron</em> ausgeführt und wenn das RDF/XML ankommt, wird der Template-Builder den Inhalt generieren.</p> </li> +</ul> +<p>In beiden Fällen wird die Datenquelle über die <code>GetDataSource() Methode der</code> <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl"><code>nsIRDFService</code></a> Schnittstelle geladen, daher wird es ähnlich verwaltet wie alle anderen Datenquellen, die auf diesem Weg geladen werden.</p> +<h3 id="Was_ist_das_Sicherheitsmodell_für_RDFXML_in_XUL">Was ist das Sicherheitsmodell für RDF/XML in XUL?</h3> +<p>XUL wird von einer "vertrauten" URL geladen. Jede <code>"chrome:</code>" URL kann <em>jede</em> Datenquellen-URI über das Datenquellenattribut des XUL Templates festlegen.</p> +<p>XUL, welches von einer "unvertrauten" URL geladen wurde, kann nur ein RDF/XML Dokument aus der gleichen <em>Codebase</em> (im Sinne von Java) festlegen. Keine speziellen (z.B., <code>rdf:</code>) Datenquellen können von unsicherem XUL geladen werden.</p> +<h3 id="Wie_füge_ich_eine_Datenquelle_zu_einem_XUL_Template_hinzu">Wie füge ich eine Datenquelle zu einem XUL Template hinzu?</h3> +<p>Obwohl es möglich ist ein XUL Template mit einem eingeschlossenen Set von Datenquellen durch das Datenquellenattribut auszustatten, gibt es oft Situationen bei denen Sie nicht wissen, welche Datenquelle geladen werden soll, bis das XUL geladen wurde. Beispielsweise muss Ihr XUL die Datenquellen erst berechnen, daher brauchen Sie eine <code>onload</code> Routine. Oder es muss eine Datenquelle auf Basis der Benutzeraktionen hinzugefügt werden.</p> +<p>Hier ist ein einfaches Beispiel, welches zeigt wie man dies machen kann. fangen wir mit dem folgendem XUL an.</p> +<pre class="eval"><window xmlns="<a class=" external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"> + ... + <span class="highlightgreen"><tree id="my-tree" datasources="rdf:null"><br> ...<br> </tree></span> + ... +</window> +</pre> +<p>Nehmen wir an, dass wir die Datenquelle irgendwie erhalten haben. Der folgende Beispielcode zeigt, wie man eine Datenquelle zu einem Template <em>hinzufügt</em>und dann das Template auffordert, sich selbst auf Basis der neuen Daten neu zu laden.</p> +<pre class="eval">var ds = <span class="highlightblue">/* assume we got this somehow! */</span>; +<span class="highlightblue">// Get the DOM element for 'my-tree'</span> +var tree = document.getElementById('my-tree'); +<span class="highlightblue">// Add our datasource to it</span> +tree.database.AddDataSource(ds); +<span class="highlightblue">// Force the tree to rebuild *now*. You have to do this "manually"!</span> +tree.builder.rebuild(); +</pre> +<p>Jedes XUL Element mit einem "<code>datasources</code>" Attribut wird eine Datenbank- und eine Builder-Eigenschaft erhalten. Die Datenbankeigenschaft bezieht sich auf ein <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFCompositeDataSource.idl"><code>nsIRDFCompositeDataSource</code></a> Objekt, welches die Datenquellen aus denen ein Template erstellt wird, enthält.</p> +<p>Der <code><span style="font-family: Verdana,Tahoma,sans-serif;"><span style="font-family: monospace;">B</span></span>uilder</code>-Eigenschaft bezieht sich auf ein <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIXULTemplateBuilder.idl"><code>nsIXULTemplateBuilder</code></a> Objekt, welches ein "builder" ist, der den Status der Template-Inhalte verwaltet.</p> +<p>Hinweis zur <code>rdf:null</code> Datenquelle: Das ist eine spezielle Datenquelle, die sagt, "Hey, Ich habe noch keine Datenquelle für dich, aber ich werde später eine hinzufügen, also mach dich bereit!" Die <code>database</code> und <code>builder</code> Eigenschaften werdn eingerichtet, aber lassen die Datenbank der Datenquellen leer: Sie müssen diese selbst hinzufügen!</p> +<h3 id="Kann_ich_ein_XUL_Template_über_DOM_APIs_manipulieren">Kann ich ein XUL Template über DOM APIs manipulieren?</h3> +<p>Ja: Sie können Regeln hinzufügen und Regeln entfernen, eine Abfrage ändern und den Inhalt, der durch eine Regel erzeugt wird, ändern. Sie können sogar <em>alles</em> über die <a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/">W3C DOM APIs</a> verändern.</p> +<p>Die einzige Einschränkung ist, dass Sie <code>rebuild()</code> aufrufen müssen, bevor die Änderungen sichtbar werden (so als wenn Sie eine Datenquelle zu einem XUL Template hinzufügen).</p> +<h3 id="Wie_füge_ich_Plaintext_aus_einem_Template_hinzu">Wie füge ich Plaintext aus einem Template hinzu?</h3> +<p>Um Plaintext in ein Template hinzuzufügen, verwenden Sie das <code><text></code> Element.</p> +<pre class="eval"><template> + <rule> + <query>...</query> + <binding>...</binding> + <action> + <span class="highlightgreen"><text value="?some-variable" /></span> + </action> + </rule> +</template> +</pre> +<p>Das obige Template wird ein Inhaltsmodell erstellen, dass eine Reihe von Textknoten zusammen ausführt.</p> +<h2 id="Problemlösungen">Problemlösungen</h2> +<p>Tipps und Tricks.</p> +<h3 id="Meine_RDFXML_Datei_wird_nicht_geladen.">Meine RDF/XML Datei wird nicht geladen.</h3> +<p>Der häufigste Grund dafür, dass RDF/XML nicht von einem Webserver geladen werden kann, ist ein falscher MIME Type. Stellen Sie sicher, dass Ihr Server die Datei als <code>text/xml</code> (empfohlen) oder als <code>text/rdf</code> ausliefert.</p> +<p>Beachten Sie, dass die W3C RDF Core WG application/rdf+xml registriert hat, aber dies noch nicht von Mozilla verstanden wird.</p> +<p>Ein weiteres, mögliches Problem: Für fern-geladenes XUL und RDF müssen Mozillas Sicherheitsbeschränkungen richtig eingestellt werden (siehe unten für Beispielcode). Wenn XUL nicht in Ihr RDF geladen wurde und der Mimetype OK ist, könnte dies Ihr Problem sein.</p> +<p>Sie können die <code>rdfcat</code> und <code>rdfpoll</code> Tools verwenden, um sicherzustellen, dass das RDF/XML valide ist. Beide Programme werden unter Windows geladen, wenn Sie <code>configure --enable-tests</code> festgelegt haben.</p> +<ul> <li><code><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/tests/rdfcat/rdfcat.cpp">rdfcat</a> <em>url</em></code><br> Nimmt als Parameter eine URL von welcher eine RDF/XML Datei gelesen werden soll und wird die Datei zurück zur Konsole senden. Sie können dieses Tool verwenden, um sicherstellen, dass das RDF/XML richtig von Mozilla geparst wurde.</li> <li><code><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/tests/rdfpoll/rdfpoll.cpp">rdfpoll</a> <em>url</em> </code><em><code>interval</code></em><br> Nimmt als Parameter eine URL von welcher eine RDF/XML Datei gelesen werden soll. Es wird auch ein optionaler Parameter <em>poll interval</em> angenommen, der dafür sorgen kann, dass die URL neu geladen wird. Es werden die Assertions, die von jedem Ladevorgang generiert werden, ausgegeben. Beachten Sie, dass mehrfache Reloads eine Reihe von Unterschieden zwischen der aktuellen und der vorherigen RDF/XML Datei generieren. Das ist nützlich zum Debuggen von generiertem RDF/XML, welches sich von Zeit zu zeit verändert.</li> +</ul> +<p>Beide Programme sind zu langsam zum Laden und zum Laufen (aber sie werden laufen, letztendlich). Sie initialisieren XPCOM und bringen Necko dazu, die URLs zu laden und auszuführen, so wie es Mozilla tut.</p> +<h3 id="Es_passiert_nichts_nachdem_ich_AddDataSource_aufgerufen_habe.">Es passiert nichts nachdem ich AddDataSource aufgerufen habe.</h3> +<p>Beachten Sie, dass der Template-Builder die Inhalte eines Templates <em>nicht</em> automatisch neu aufbaut nachdem <code>AddDataSource</code> oder <code>RemoveDataSource</code> aufgerufen wurden. Um die Inhalte des Templates zu erneuern, müssen Siel <code><em>elt.</em>builder.rebuild()</code> selbst aufrufen.</p> +<p>Warum? Das kommt daher, weil man mehrere Rebuilds verhindern möchte, wenn mehr als eine Datenquelle zur Datenbank hinzugefügt wird.</p> +<h2 id="Beispiele">Beispiele</h2> +<h3 id="Wo_kann_ich_einige_(funktionierende)_Beispiele_finden">Wo kann ich einige (funktionierende) Beispiele finden?</h3> +<p>Einige Beispiele kann man <a class="external" href="http://www.mozilla.org/rdf/doc/examples.html">hier</a> finden. Einige sind in signierten Skripts enthalten und sind über HTTP direkt ausführbar.</p> +<p>Siehe auch <a class="link-https" href="https://bugzilla.mozilla.org/data/duplicates.rdf"><code>duplicates.rdf</code></a> (Live RDF Feed von Mozilla) und <a class="link-https" href="https://bugzilla.mozilla.org/duplicates.xul"><code>duplicates.xul</code></a>. Beachten Sie, dass sie Mozillas Sicherheitsmodell einhalten müssen. Um das zu tun, fügen Sie die folgende Zeile in Ihre Preferences Datei hinzu. (Schließen Sie Mozilla erst, da sonst die Datei überschrieben wird, wenn Sie Mozilla beenden.)</p> +<pre class="eval">user_pref("signed.applets.codebase_principal_support", true); +</pre> +<p>Mozilla wird Sie fragen, ob Sie den Skripten in <code>duplicates.xul</code> Rechte zum Zugang zu XPConnect geben wollen; stimmen Sie dem zu.</p> +<p>Aktuell erlaubt Mozilla kein unprivilegierten Zugang zu RDF Schnittstellen und Services; Siehe Bug <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=122846">122846</a> für Details.</p> +<p>Bitte schicken Sie <a class="external" href="http://rdfweb.org/people/danbri/">danbri</a>, mozilla-rdf oder waterson eine Mail mit URLs, wenn Sie weitere Beispiele haben, die wir hier hinzufügen können!</p> +<h2 id="Notes" name="Notes">Hinweise</h2> +<ol> <li>Siehe auch <a class="external" href="http://www.w3.org/RDF/">W3C RDF</a> und <a class="external" href="http://www.w3.org/2001/sw/">Semantic Web</a> für weitere Informationen über RDF und verwandte Technologien.</li> +</ol> +<h2 id="Mitwirkende">Mitwirkende</h2> +<ul> <li>Beispiel Abschnitt hinzugefügt, am 2002-07-02 von <a class="external" href="http://rdfweb.org/people/danbri/">danbri</a></li> <li>Danke an Myk Melez für die Hinweise zu remote XUL / Sicherheitsmethoden</li> +</ul> +<p>Autor: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></p> +<div class="originaldocinfo"> +<h2 id="Informationen_zum_Originaldokument">Informationen zum Originaldokument</h2> +<ul> <li>Autor(en): <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li> <li>Zuletzt aktualisiert: 22. Dezember 2004</li> <li>Copyright Informationen: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li> +</ul> +</div> +<p>{{ languages( { "en": "en/RDF_in_Mozilla_FAQ", "es": "es/Preguntas_frecuentes_sobre_RDF_en_Mozilla", "ja": "ja/RDF_in_Mozilla_FAQ", "ko": "ko/RDF_in_Mozilla_FAQ" } ) }}</p> diff --git a/files/de/archive/web/index.html b/files/de/archive/web/index.html new file mode 100644 index 0000000000..6f60d315ff --- /dev/null +++ b/files/de/archive/web/index.html @@ -0,0 +1,12 @@ +--- +title: Archived open Web documentation +slug: Archive/Web +tags: + - Archived + - NeedsTranslation + - TopicStub + - Web +translation_of: Archive/Web +--- +<p>The documentation listed below is archived, obsolete material about open Web topics.</p> +<p>{{SubpagesWithSummaries}}</p> diff --git a/files/de/archive/web/javascript/arguments.caller/index.html b/files/de/archive/web/javascript/arguments.caller/index.html new file mode 100644 index 0000000000..f2d9dd90ad --- /dev/null +++ b/files/de/archive/web/javascript/arguments.caller/index.html @@ -0,0 +1,55 @@ +--- +title: arguments.caller +slug: Archive/Web/JavaScript/arguments.caller +tags: + - Functions + - JavaScript + - Obsolete + - Property + - arguments +translation_of: Archive/Web/JavaScript/arguments.caller +--- +<div>{{jsSidebar("Functions")}}</div> + +<p>{{obsolete_header}}</p> + +<p>Die veraltete Eigenschaft<strong><code> arguments.caller</code></strong> wird genutzt, um die Funktion, die die aktuelle Funktion ausführt, zu ermittelt. Die Eigenschaft wurde entfernt und kann nicht mehr genutzt werden.</p> + +<h2 id="Description" name="Description">Beschreibung</h2> + +<p>Die Eigenschaft ist nicht mehr verfügbar, aber man kann {{jsxref("Function.caller")}} benutzen.</p> + +<pre class="brush: js notranslate">function whoCalled() { + if (whoCalled.caller == null) + console.log('I was called from the global scope.'); + else + console.log(whoCalled.caller + ' called me!'); +}</pre> + +<h2 id="Examples" name="Examples">Beispiele</h2> + +<p>Der folgende Quelltext wurde eingesetzt, um den Wert der Eigenschaft <code>arguments.caller</code> zu prüfen, jedoch funktioniert dieses nicht mehr.</p> + +<pre class="brush: js example-bad notranslate">function whoCalled() { + if (arguments.caller == null) + console.log('I was called from the global scope.'); + else + console.log(arguments.caller + ' called me!'); +} +</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<p>Wurde in keinem Standard spezifiziert. Wurde in JavaScript 1.1 implementiert und wegen {{bug(7224)}} und <span class="dpf_sent" id="dpfsent_2"><span class="corrected_word" id="dpforth0_npra_2_1" lang="potenziellen">potenziellen</span> </span> Sicherheitsrisiken wieder entfernt.</p> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + + + +<p>{{Compat("javascript.functions.arguments.caller")}}</p> + +<h2 id="See_also" name="See_also">Siehe auch</h2> + +<ul> + <li>{{jsxref("Function")}}</li> +</ul> diff --git a/files/de/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html b/files/de/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html new file mode 100644 index 0000000000..302b230c09 --- /dev/null +++ b/files/de/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html @@ -0,0 +1,68 @@ +--- +title: ECMAScript 7 Unterstützung in Mozilla +slug: Archive/Web/JavaScript/ECMAScript_7_support_in_Mozilla +translation_of: Archive/Web/JavaScript/ECMAScript_Next_support_in_Mozilla +--- +<div>{{jsSidebar("New_in_JS")}}</div> + +<p>ECMAScript 2016 ist die nächste Erweiterung des ECMA-262 Standards. Neue Sprachfeatures sind bereits im Entwurf der 6. Edition vorgeschlagen und nähern sich der Vollendung. Die aktuellen Vorschläge lassen sich unter dem folgenden GitHub Repository ansehen <a href="https://github.com/tc39/ecma262">tc39/ecma262</a>.<br> + Aktuelle Probleme mit dem Spezifikationsprozess sollen durch die Einführung von Stages und Champions gelöst werden. Außerdem ist ein zweijähriger Release-Zyklus von dem Standard vorgeschlagen.<br> + <br> + <a href="http://slides.com/rafaelweinstein/tc39-process">Link</a> für weitere Informationen über den post-ES6 Spezifikationsprozess.</p> + +<p>Mailing-Liste zur Diskussion von ECMAScript standards: <a href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a></p> + +<h2 id="Experimentale_Features">Experimentale Features</h2> + +<p>Die folgenden Features sind bereits implementiert, jedoch nur zugänglich in <a href="http://nightly.mozilla.org/">Firefox Nightly channel</a>:</p> + +<h3 id="Zusätze_zu_dem_Array_Objekt">Zusätze zu dem <code>Array</code> Objekt</h3> + +<ul> + <li>{{jsxref("Array.prototype.includes()")}} (<a href="https://github.com/domenic/Array.prototype.includes/blob/master/spec.md">spec</a>)</li> +</ul> + +<h3 id="Zusätze_zu_dem_ArrayBuffer_Objekt">Zusätze zu dem <code>ArrayBuffer</code> Objekt</h3> + +<ul> + <li>{{jsxref("ArrayBuffer.transfer()")}} (<a href="https://gist.github.com/lukewagner/2735af7eea411e18cf20">spec</a>)</li> +</ul> + +<h3 id="Neue_TypedObject_Objekte">Neue TypedObject Objekte</h3> + +<ul> + <li><a href="https://github.com/dslomov-chromium/typed-objects-es7">Typed Objects draft</a></li> +</ul> + +<h3 id="Neue_SIMD_Objekte">Neue SIMD Objekte</h3> + +<ul> + <li><a href="https://github.com/johnmccutchan/ecmascript_simd">SIMD specification draft and polyfill</a></li> +</ul> + +<h2 id="Features_mit_zunehmender_Stabilität">Features mit zunehmender Stabilität</h2> + +<p>The following features are supported beyond the Nightly channel, but ongoing specification and implementation work is happening. Features which were originally in the ECMAScript 6 draft and got postponed to ECMAScript 2016 are likely to appear here.</p> + +<h3 id="Ausdrücke">Ausdrücke</h3> + +<ul> + <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Array_comprehensions">Array comprehensions</a> (<a href="/en-US/Firefox/Releases/30">Firefox 30</a>)</li> + <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Generator_comprehensions">Generator comprehensions</a> (<a href="/en-US/Firefox/Releases/30">Firefox 30</a>)</li> +</ul> + +<h2 id="Noch_nicht_unterstütze_Features">Noch nicht unterstütze Features</h2> + +<p>The following features are not yet implemented, but targeted for ECMAScript 2016.</p> + +<ul> + <li><code>Object.observe()</code> ({{bug(800355)}})</li> +</ul> + +<h2 id="Weiterführend">Weiterführend</h2> + +<ul> + <li><a href="http://www.ecmascript.org/">ECMAScript web site</a></li> + <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1021376">Mozilla ES2016 tracking bug</a></li> + <li><a href="http://kangax.github.io/compat-table/es7/" title="http://kangax.github.io/es5-compat-table">ECMAScript 2016 support across browsers</a></li> +</ul> diff --git a/files/de/archive/web/javascript/index.html b/files/de/archive/web/javascript/index.html new file mode 100644 index 0000000000..4687b7bf23 --- /dev/null +++ b/files/de/archive/web/javascript/index.html @@ -0,0 +1,12 @@ +--- +title: JavaScript +slug: Archive/Web/JavaScript +translation_of: Archive/Web/JavaScript +--- +<div class="hidden">{{JSRef}}</div> + +<p>{{Obsolete_Header}}</p> + +<p class="summary">Obsolete JavaScript features and unmaintained docs</p> + +<p>{{SubpagesWithSummaries}}</p> diff --git a/files/de/archive/web/javascript/legacy_generator_function/index.html b/files/de/archive/web/javascript/legacy_generator_function/index.html new file mode 100644 index 0000000000..8e05b218bd --- /dev/null +++ b/files/de/archive/web/javascript/legacy_generator_function/index.html @@ -0,0 +1,56 @@ +--- +title: Alter Generatorfunktionsausdruck +slug: Archive/Web/JavaScript/Legacy_generator_function +tags: + - JavaScript + - Legacy Iterator + - Reference +translation_of: Archive/Web/JavaScript/Legacy_generator_function +--- +<div class="warning">Der alte Generatorfunktionsausdruck war eine SpiderMonkey spezifische Funktion, welche in Firefox 58+ entfernt wurde. Für zukünftige Verwendung sollte der {{jsxref("Operators/function*", "function* Ausdruck")}} genutzt werden.</div> + +<div>{{jsSidebar("Operators")}}</div> + +<p>Das <strong><code>function</code></strong> Schlüsselwort kann benutzt werden, um eine alte Generatorfunktion in einem Ausdruck zu definieren. Um eine Funktion einen alten Generator zu machen, muss der Funktionskörper mindestens einen {{jsxref("Operators/yield", "yield")}} Ausdruck enthalten.</p> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">function [<em>name</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]]) { + <em>statements</em> +}</pre> + +<h3 id="Parameter">Parameter</h3> + +<dl> + <dt><code>name</code></dt> + <dd>Der Funktionsname. Kann in fällen einer anonymen Funktion weggelassen werden. Der Name ist nur lokal im Funktionskörper verfügbar.</dd> + <dt><code>paramN</code></dt> + <dd>Der Name eines Argumentes, welches der Funktion übergeben wird. Eine Funktion kann bis zu 255 Argumente haben.</dd> + <dt><code>statements</code></dt> + <dd>Die Statements, welche den Funktionskörper bilden. Diese müssen mindestens ein {{jsxref("Operators/yield", "yield")}} Ausdruck enthalten.</dd> +</dl> + +<h2 id="Beschreibung">Beschreibung</h2> + +<p>Ein Überblick über den Einsatz ist auf der <a href="/de/docs/JavaScript/Guide/Iterators_and_Generators">Iteratoren und Generatoren</a> Seite verfügbar.</p> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<p>Kein Support.</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{jsxref("Generator")}}</li> + <li><a href="/de/docs/Web/JavaScript/Reference/Statements/Legacy_generator_function">Die alte Generatorfunktion</a></li> + <li><a href="/de/docs/Web/JavaScript/Guide/The_legacy_Iterator_protocol">Das alte Iterator Protokoll</a></li> + <li>{{jsxref("Operators/yield", "yield")}}</li> + <li><a href="/de/docs/Web/JavaScript/Reference/Functions_and_function_scope">Funktionen und Funktionsgültigkeitsbereiche</a></li> + <li>{{jsxref("Statements/function", "Funktion")}}</li> + <li>{{jsxref("Operators/function", "Funktionsausdruck")}}</li> + <li>{{jsxref("Function")}}</li> + <li>{{jsxref("Statements/function*", "function*")}}</li> + <li>{{jsxref("Operators/function*", "function* Ausdruck")}}</li> + <li>{{jsxref("GeneratorFunction")}}</li> + <li><a href="/de/docs/Web/JavaScript/Guide/The_Iterator_protocol">Das Iterator Protokoll</a></li> +</ul> |