diff options
Diffstat (limited to 'files/es/web/api')
22 files changed, 0 insertions, 1204 deletions
diff --git a/files/es/web/api/cameracapabilities/effects/index.html b/files/es/web/api/cameracapabilities/effects/index.html deleted file mode 100644 index 1204fb0c34..0000000000 --- a/files/es/web/api/cameracapabilities/effects/index.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: CameraCapabilities.effects -slug: Web/API/CameraCapabilities/effects -translation_of: Archive/B2G_OS/API/CameraCapabilities/effects ---- -<p>{{ ApiRef() }}</p> -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('certified') }}</p> -<h2 id="Resumen">Resumen</h2> -<p>El valor de la propiedad <code>effects</code> en un <code><a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> que identifica los efectos (tales como <code>normal</code>, <code>sepia</code>, <code>mono</code>, etc.) que soporta la camara.</p> -<h2 id="Sintaxis">Sintaxis</h2> -<pre>var effects = instanceOfCameraControl.capabilities.effects</pre> -<h2 id="Valor">Valor</h2> -<p>Devuelve un <code><a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> de cadenas.</p> -<h2 id="Ejemplo">Ejemplo</h2> -<pre class="brush: js">var options = { - camera: navigator.mozCameras.getListOfCameras()[0] -}; - -function onSuccess(camera) { - var effects = camera.capabilities.effects; - - effects.forEach(function (value) { - console.log(value) - }); -}; - -navigator.mozCameras.getCamera(options, onSuccess) -</pre> -<h2 id="Specification" name="Specification">Especifiacion</h2> -<p>No forma parte de ninguna especifiacion; en cualquier caso, esta API deberia ser eliminada cuando la <a class="external" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html" rel="external" title="http://dev.w3.org/2011/webrtc/editor/getusermedia.html">WebRTC Capture and Stream API</a> haya sido implementada.</p> -<h2 id="Ver_tambien">Ver tambien</h2> -<ul> - <li>{{domxref("CameraCapabilities")}}</li> - <li>{{domxref("CameraControl")}}</li> - <li>{{domxref("CameraManager")}}</li> -</ul> diff --git a/files/es/web/api/cameracapabilities/fileformats/index.html b/files/es/web/api/cameracapabilities/fileformats/index.html deleted file mode 100644 index 5193200866..0000000000 --- a/files/es/web/api/cameracapabilities/fileformats/index.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: CameraCapabilities.fileFormats -slug: Web/API/CameraCapabilities/fileFormats -translation_of: Archive/B2G_OS/API/CameraCapabilities/fileFormats ---- -<p>{{ ApiRef() }}</p> -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('certified') }}</p> -<h2 id="Summary">Summary</h2> -<p>La propiedad <code>fileFormats</code> es un <code><a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> que identifica los formatos de archivo que soporta la camara, tales como <code>jpeg</code>, <code>rgb565</code>, etc.</p> -<h2 id="Sintaxis">Sintaxis</h2> -<pre>var formats = instanceOfCameraControl.capabilities.fileFormats</pre> -<h2 id="Valor">Valor</h2> -<p>Devuelve un <code><a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> de cadenas.</p> -<h2 id="Ejemplo">Ejemplo</h2> -<pre class="brush: js">var options = { - camera: navigator.mozCameras.getListOfCameras()[0] -}; - -function onSuccess(camera) { - var formats = camera.capabilities.fileFormats; - - formats.forEach(function (value) { - console.log(value) - }); -}; - -navigator.mozCameras.getCamera(options, onSuccess) -</pre> -<h2 id="Specification" name="Specification">Especificacion</h2> -<p>No es parte de ninguna especificacion; en cualquier caso, esta API deberia ser eliminada cuando la <a class="external" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html" rel="external" title="http://dev.w3.org/2011/webrtc/editor/getusermedia.html">WebRTC Capture and Stream API</a> haya sido implementada.</p> -<h2 id="Ver_tambien">Ver tambien</h2> -<ul> - <li>{{domxref("CameraCapabilities")}}</li> - <li>{{domxref("CameraControl")}}</li> - <li>{{domxref("CameraManager")}}</li> -</ul> diff --git a/files/es/web/api/cameracapabilities/flashmodes/index.html b/files/es/web/api/cameracapabilities/flashmodes/index.html deleted file mode 100644 index be89eac3ac..0000000000 --- a/files/es/web/api/cameracapabilities/flashmodes/index.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: CameraCapabilities.flashModes -slug: Web/API/CameraCapabilities/flashModes -translation_of: Archive/B2G_OS/API/CameraCapabilities/flashModes ---- -<p>{{ ApiRef() }}</p> -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('certified') }}</p> -<h2 id="Resumen">Resumen</h2> -<p>La propiedad <code>flashModes</code> es un <code><a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> de cadenas que identifican cada modo de flash soportado por la camara. Los posibles valores son <code>auto</code>, <code>off</code>, <code>on</code> o <code>torch</code>.</p> -<h2 id="Sintaxis">Sintaxis</h2> -<pre>var flash = instanceOfCameraControl.capabilities.flashModes</pre> -<h2 id="Valor">Valor</h2> -<p>Devuelve un <code><a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> de cadenas.</p> -<h2 id="Ejemplo">Ejemplo</h2> -<pre class="brush: js">var options = { - camera: navigator.mozCameras.getListOfCameras()[0] -}; - -function onSuccess(camera) { - var flash = camera.capabilities.flashModes; - - flash.forEach(function (value) { - console.log(value) - }); -}; - -navigator.mozCameras.getCamera(options, onSuccess) -</pre> -<h2 id="Specification" name="Specification">Especifiacion</h2> -<p>No es parte de ninguna especificacion; en cualquier caso, esta API deberia ser eliminada cuando la <a class="external" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html" rel="external" title="http://dev.w3.org/2011/webrtc/editor/getusermedia.html">WebRTC Capture and Stream API</a> haya sido implementada.</p> -<h2 id="Ver_tambien">Ver tambien</h2> -<ul> - <li>{{domxref("CameraCapabilities")}}</li> - <li>{{domxref("CameraControl")}}</li> - <li>{{domxref("CameraManager")}}</li> -</ul> diff --git a/files/es/web/api/cameracapabilities/index.html b/files/es/web/api/cameracapabilities/index.html deleted file mode 100644 index a534b51ab5..0000000000 --- a/files/es/web/api/cameracapabilities/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: CameraCapabilities -slug: Web/API/CameraCapabilities -translation_of: Archive/B2G_OS/API/CameraCapabilities ---- -<p>{{ Apiref() }}</p> -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('certified') }}</p> -<p>The {{domxref("CameraControl.capabilities")}} property returns a <code>CameraCapabilities</code> object, which describes all the camera's capabilities.</p> -<h2 id="Properties">Properties</h2> -<dl> - <dt> - {{domxref("CameraCapabilities.effects")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of strings identifying the effects (such as <code>normal</code>, <code>sepia</code>, <code>mono</code>, etc.) that the camera supports.</dd> - <dt> - {{domxref("CameraCapabilities.fileFormats")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of strings identifying the file formats supported by the camera, such as <code>jpeg</code>, <code>rgb565</code>, etc.</dd> - <dt> - {{domxref("CameraCapabilities.flashModes")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of strings identifying each of the flash modes supported by the camera. Possible values are <code>auto</code>, <code>off</code>, <code>on</code> or <code>torch</code>.</dd> - <dt> - {{domxref("CameraCapabilities.focusModes")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of strings identifying each of the focus modes supported by the camera such as auto, fixed, macro, etc.</dd> - <dt> - {{domxref("CameraCapabilities.maxExposureCompensation")}} {{readonlyinline}}</dt> - <dd> - A number that defines the maximum supported exposure compensation value.</dd> - <dt> - {{domxref("CameraCapabilities.maxFocusAreas")}} {{readonlyinline}}</dt> - <dd> - A number that defines the maximum number of focus areas supported by the camera.</dd> - <dt> - {{domxref("CameraCapabilities.maxMeteringAreas")}} {{readonlyinline}}</dt> - <dd> - A number that defines the maximum number of metering areas supported by the camera.</dd> - <dt> - {{domxref("CameraCapabilities.minExposureCompensation")}} {{readonlyinline}}</dt> - <dd> - A number that defines the minimum supported exposure compensation value.</dd> - <dt> - {{domxref("CameraCapabilities.pictureSizes")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of objects containing the <code>height</code> and <code>width</code> properties supported for picture taking.</dd> - <dt> - {{domxref("CameraCapabilities.previewSizes")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of objects containing the <code>height</code> and <code>width</code> properties supported for the video preview stream.</dd> - <dt> - {{domxref("CameraCapabilities.recorderProfiles")}} {{readonlyinline}}</dt> - <dd> - An object with attributes for each of the supported recorder profiles.</dd> - <dt> - {{domxref("CameraCapabilities.sceneModes")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of strings identifying each of the scene modes supported by the camera such as <code>auto</code>, <code>night</code>, <code>beach</code>, etc.</dd> - <dt> - {{domxref("CameraCapabilities.stepExposureCompensation")}} {{readonlyinline}}</dt> - <dd> - A number that defines the exposure compensation minimum step-size.</dd> - <dt> - {{domxref("CameraCapabilities.videoSizes")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of objects containing the <code>height</code> and <code>width</code> properties supported for video recording.</dd> - <dt> - {{domxref("CameraCapabilities.whiteBalanceModes")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of strings identifiers for each white balance modes supported by the camera such as <code>auto</code>, <code>fluorecent</code>, etc.</dd> - <dt> - {{domxref("CameraCapabilities.zoomRatios")}} {{readonlyinline}}</dt> - <dd> - An <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/JavaScript/Reference/Global_Objects/Array">Array</a></code> of numbers representing all the supported zoom ratios. If the camera has no zoom capabilities, the value is <code>null</code>.</dd> -</dl> -<h2 id="Methods">Methods</h2> -<p>None.</p> -<h2 id="Specification">Specification</h2> -<p>Not part of any specification; however, this API should be removed when the <a class="external" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html" rel="external" title="http://dev.w3.org/2011/webrtc/editor/getusermedia.html">WebRTC Capture and Stream API</a> has been implemented.</p> -<h2 id="See_also">See also</h2> -<ul> - <li>{{ domxref("CameraControl") }}</li> - <li>{{ domxref("CameraManager") }}</li> - <li>{{ domxref("window.navigator.mozCameras","navigator.mozCameras") }}</li> -</ul> diff --git a/files/es/web/api/cameracapabilities/maxexposurecompensation/index.html b/files/es/web/api/cameracapabilities/maxexposurecompensation/index.html deleted file mode 100644 index 2baf025df3..0000000000 --- a/files/es/web/api/cameracapabilities/maxexposurecompensation/index.html +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: CameraCapabilities.maxExposureCompensation -slug: Web/API/CameraCapabilities/maxExposureCompensation -translation_of: Archive/B2G_OS/API/CameraCapabilities/maxExposureCompensation ---- -<p>{{ ApiRef() }}</p> -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('certified') }}</p> -<h2 id="Resumen">Resumen</h2> -<p>La propiedad <code>maxExposureCompensation</code> es un número que define el valor máximo de compensación de exposición soportado.</p> -<h2 id="Sintaxis">Sintaxis</h2> -<pre>var max = instanceOfCameraControl.capabilities.maxExposureCompensation</pre> -<h2 id="Valor">Valor</h2> -<p>Devuelve un número.</p> -<h2 id="Ejemplo">Ejemplo</h2> -<pre class="brush: js">var options = { - camera: navigator.mozCameras.getListOfCameras()[0] -}; - -function onSuccess(camera) { - console.log(camera.capabilities.maxExposureCompensation); -}; - -navigator.mozCameras.getCamera(options, onSuccess) -</pre> -<h2 id="Specification" name="Specification">Especificación</h2> -<p>No forma parte de ninguna especificación; No obstante, esta API debería ser eliminada cuando la <a class="external" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html" rel="external" title="http://dev.w3.org/2011/webrtc/editor/getusermedia.html">WebRTC Capture and Stream API</a> haya sido implementada.</p> -<h2 id="Ver_también">Ver también</h2> -<ul> - <li>{{domxref("CameraCapabilities")}}</li> - <li>{{domxref("CameraControl")}}</li> - <li>{{domxref("CameraManager")}}</li> -</ul> diff --git a/files/es/web/api/cameracapabilities/maxfocusareas/index.html b/files/es/web/api/cameracapabilities/maxfocusareas/index.html deleted file mode 100644 index 6d0024bebb..0000000000 --- a/files/es/web/api/cameracapabilities/maxfocusareas/index.html +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: CameraCapabilities.maxFocusAreas -slug: Web/API/CameraCapabilities/maxFocusAreas -translation_of: Archive/B2G_OS/API/CameraCapabilities/maxFocusAreas ---- -<p>{{ Apiref() }}</p> -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('certified') }}</p> -<h2 id="Resumen">Resumen</h2> -<p>La propiedad <code>maxFocusAreas</code> es un numero que define el numero maximo de areas de foco que permite la camara.</p> -<h2 id="Sintaxis">Sintaxis</h2> -<pre>var max = instanceOfCameraControl.capabilities.maxFocusAreas</pre> -<h2 id="Valor">Valor</h2> -<p>Devuelve un numero.</p> -<h2 id="Ejemplo">Ejemplo</h2> -<pre class="brush: js">var options = { - camera: navigator.mozCameras.getListOfCameras()[0] -}; - -function onSuccess(camera) { - console.log(camera.capabilities.maxFocusAreas); -}; - -navigator.mozCameras.getCamera(options, onSuccess) -</pre> -<h2 id="Specification" name="Specification">Especificacion</h2> -<p>No es parte de ninguna especificacion; en cualquier caso, esta API deberia ser eliminada cuando la <a class="external" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html" rel="external" title="http://dev.w3.org/2011/webrtc/editor/getusermedia.html">WebRTC Capture and Stream API</a> haya sido implementada.</p> -<h2 id="Ver_tambien">Ver tambien</h2> -<ul> - <li>{{domxref("CameraCapabilities")}}</li> - <li>{{domxref("CameraControl")}}</li> - <li>{{domxref("CameraManager")}}</li> -</ul> diff --git a/files/es/web/api/domapplicationsregistry/checkinstalled/index.html b/files/es/web/api/domapplicationsregistry/checkinstalled/index.html deleted file mode 100644 index 5c2d298aa9..0000000000 --- a/files/es/web/api/domapplicationsregistry/checkinstalled/index.html +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Apps.checkInstalled -slug: Web/API/DOMApplicationsRegistry/checkInstalled -tags: - - API - - Apps - - Apps API - - Firefox OS - - Procedimiento -translation_of: Archive/Marketplace/API/DOMApplicationsRegistry/checkInstalled ---- -<p>{{ ApiRef() }}</p> -<p>{{ non-standard_header() }}</p> -<h2 id="Resúmen">Resúmen</h2> -<p><span id="result_box" lang="es"><span class="hps">Obtiene</span> <span class="hps">información acerca de</span> <span class="hps">la aplicación</span> <span class="hps">dada.</span> <span class="hps">Esto puede ser usado</span> <span class="hps">para determinar</span> <span class="hps">si se ha instalado</span> <span class="hps">la aplicación.</span></span></p> -<h2 id="Sintaxis">Sintaxis</h2> -<pre><code>var request = window.navigator.mozApps.</code>checkInstalled<code>(url)</code>; -</pre> -<h2 id="Parámetros">Parámetros</h2> -<dl> - <dt> - <code>url</code></dt> - <dd> - Una <a href="/en-US/docs/JavaScript/Reference/Global_Objects/String">cadena</a> de URL <span id="result_box" lang="es"><span class="hps">que contiene</span> <span class="hps">la ubicación de el</span></span> <a href="/en-US/docs/Web/Apps/Manifest">manifiesto</a> de la aplicación.</dd> -</dl> -<h2 id="Returns" name="Returns">Resultados</h2> -<p>La función <code>checkInstalled()</code> devuelve un objeto {{ domxref("DOMRequest") }}. La propiedad <code>DOMRequest.result</code> contiene un <a href="/en-US/docs/Web/API/App"><code>App</code> object</a>, <span id="result_box" lang="es"><span class="hps">que es un objeto</span> <span class="hps">JavaScript</span> <span class="hps">que describe</span> <span class="hps">la aplicación</span> <span class="hps">instalada</span><span>.</span></span> Si la aplicación no se encuentra instalada, entonces <code>DOMRequest.result</code> es <code>null</code> (nulo).</p> -<h2 id="Ejemplo">Ejemplo</h2> -<pre class="brush: js">var request = window.navigator.mozApps.checkInstalled("http://ejemplo.com/manifest.webapp"); -request.onerror = function(e) { - alert("Error de llamada checkInstalled: " + request.error.name); -}; -request.onsuccess = function(e) { - if (request.result) { - console.log("La aplicación está instalada!"); - } - else { - console.log("La aplicación no está instalada!"); - } -};</pre> -<p>S<span id="result_box" lang="es"><span>e espera a las personas que llaman</span> <span class="hps">para establecer</span> <span class="hps">las</span> <span class="hps">propiedades</span> <span class="hps">de devolución de llamada</span></span> <code>onsuccess</code> y <code>onerror</code> del objeto devuelto, como se muestra en este ejemplo.<span id="result_box" lang="es"><span class="hps"> Si la llamada</span> <span class="hps">se realiza correctamente, </span> <span class="hps">un</span></span> <a href="/en-US/docs/Web/API/App"><code>App</code> object</a> se devuelve en la propiedad <code>result</code> del objeto devuelto. <span id="result_box" lang="es"><span class="hps">En</span> <span class="hps">el ejemplo esto es </span></span><code>request.result</code>.</p> -<h2 id="Errores">Errores</h2> -<p>La cadena <code>ERROR</code> <span class="short_text" id="result_box" lang="es"><span class="hps">pueden ser devueltos</span> <span class="hps">en</span></span> <code>DOMRequest.error</code>.</p> -<p><span id="result_box" lang="es"><span class="hps">Una excepción</span></span> <code>NS_ERROR_DOM_BAD_URI</code> <span id="result_box" lang="es"><span class="hps">se produce</span> <span class="hps">si</span> <span class="hps">el manifiesto</span> <span class="hps">está en un dominio</span> <span class="hps">diferente a</span> <span class="hps">la página</span> <span class="hps">en que se solicita la información</span></span>. <span id="result_box" lang="es"><span class="hps">Este</span> <span class="hps">se produce</span> <span class="hps">tan pronto como</span> <span class="hps">se invoca</span></span> <code>checkInstalled</code>.</p> -<h2 id="Temas_relacionados">Temas relacionados</h2> -<ul> - <li><a href="/en-US/docs/Web/API/App"><code>App</code> object</a></li> - <li><a href="/en-US/docs/Web/Apps/JavaScript_API">Apps JavaScript API</a></li> -</ul> diff --git a/files/es/web/api/domapplicationsregistry/getinstalled/index.html b/files/es/web/api/domapplicationsregistry/getinstalled/index.html deleted file mode 100644 index a1b96ee7ff..0000000000 --- a/files/es/web/api/domapplicationsregistry/getinstalled/index.html +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Apps.getInstalled -slug: Web/API/DOMApplicationsRegistry/getInstalled -tags: - - API - - Apps - - Apps API - - Firefox OS - - Procedimiento -translation_of: Archive/Marketplace/API/DOMApplicationsRegistry/getInstalled ---- -<p>{{ ApiRef() }}</p> -<p>{{ non-standard_header() }}</p> -<h2 id="Resumen">Resumen</h2> -<p><span id="result_box" lang="es"><span class="hps">Obtenga una lista de</span> <span class="hps">todas las aplicaciones instaladas</span> <span class="hps">desde</span> <span class="hps">este origen</span><span>.</span> <span class="hps">Por ejemplo</span><span>,</span> <span class="hps">si se llama a</span> <span class="hps">esto en el</span> <span class="hps">Firefox</span> <span class="hps">Marketplace,</span> <span class="hps">obtendrá</span> <span class="hps">la lista</span> <span class="hps">de aplicaciones instaladas</span> <span class="hps">por el</span> <span class="hps">Firefox</span> <span class="hps">Marketplace.</span></span></p> -<div class="note"> - <p><strong>Note:</strong> <span id="result_box" lang="es"><span class="hps">Múltiples</span> <span class="hps">aplicaciones</span> <span class="hps">por</span> <span class="hps">origen</span> <span class="hps">no son compatibles.</span> <span class="hps">Para alojar</span> <span class="hps">varias</span> <span class="hps">aplicaciones</span> <span class="hps">de un dominio</span></span>, <a href="/en-US/docs/Web/Apps/Adding_a_subdomain">establezca un subdominio para cada aplicación</a>; por ejemplo: <code>miapp.midominio.com</code>, <code>otraapp.midominio.com</code>, <span class="short_text" id="result_box" lang="es"><span class="hps">y así sucesivamente</span></span>.</p> -</div> -<h2 id="Sintaxis">Sintaxis</h2> -<pre><code>var request = window.navigator.mozApps.<code>getInstalled</code>()</code>; -</pre> -<h2 id="Parámetros">Parámetros</h2> -<p>Ninguno.</p> -<h2 id="Ejemplo">Ejemplo</h2> -<pre class="brush: js">var request = window.navigator.mozApps.getInstalled(); -request.onerror = function(e) { - alert("Error de llamada getInstalled: " + request.error.name); -}; -request.onsuccess = function(e) { - alert("Éxito, numero de apps: " + request.result.length); - var appsRecord = request.result; -};</pre> -<p>Se espera a las personas que llaman para establecer las propiedades de devolución <code>onsuccess</code> y <code>onerror</code> del objeto devuelto, como se muestra en este ejemplo. Si la llamada se realiza correctamente un array de <a href="/en-US/docs/Web/API/App"><code>App</code> objects</a> se devuelve en la propiedad <code>result</code> del objeto devuelto. En el ejemplo esto es <code>request.result</code>.</p> -<h2 id="Errores">Errores</h2> -<p>La cadena <code>ERROR</code> puede ser devuelta en <code>DOMRequest.error</code>.</p> -<h2 id="Temas_relacionados">Temas relacionados</h2> -<ul> - <li><a href="/en-US/docs/Web/API/App"><code>App</code> object</a></li> - <li><a href="/en-US/docs/Web/Apps/JavaScript_API">Apps JavaScript API</a></li> -</ul> diff --git a/files/es/web/api/domapplicationsregistry/index.html b/files/es/web/api/domapplicationsregistry/index.html deleted file mode 100644 index e9d68ecf20..0000000000 --- a/files/es/web/api/domapplicationsregistry/index.html +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: DOMApplicationsRegistry -slug: Web/API/DOMApplicationsRegistry -tags: - - API - - Apps - - B2G - - Firefox OS - - No estandar - - Referencia -translation_of: Archive/Marketplace/API/DOMApplicationsRegistry ---- -<p>{{ ApiRef("Apps") }}</p> - -<p>{{ non-standard_header() }}</p> - -<p>Provides support for installing, managing, and controlling Open Web apps in a browser. Currently implemented as {{ domxref('window.navigator.mozApps') }}.</p> - -<h2 id="Propiedad">Propiedad</h2> - -<dl> - <dt>{{domxref("DOMApplicationsRegistry.mgmt")}}</dt> - <dd>Un objeto <code>mgmt</code> que define funciones que le permiten a los tableros manejar y arrancar apps a favor del usuario.</dd> -</dl> - -<h2 id="Metodos">Metodos</h2> - -<dl> - <dt>{{ domxref("DOMApplicationsRegistry.checkInstalled()") }}</dt> - <dd>Verifica cuando una app se ha instalado tomando el manifiesto como su parametro.</dd> - <dt>{{ domxref("DOMApplicationsRegistry.install()") }}</dt> - <dd>Desencade la instalación de una app. Durante el proceso de instalación, la app es validada y se le pregunta al usuario si desea aprovar la instalación.</dd> - <dt>{{ domxref("DOMApplicationsRegistry.getSelf()") }}</dt> - <dd>Returna un objeto que contiene un {{ domxref('app') }} para la app.</dd> - <dt>{{ domxref("DOMApplicationsRegistry.getInstalled()") }}</dt> - <dd>Obtine una lista de todas las apps instaladas.</dd> -</dl> - -<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2> - -<p>{{ CompatibilityTable() }}</p> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari (WebKit)</th> - </tr> - <tr> - <td>Soporte basico</td> - <td>{{ CompatUnknown() }}</td> - <td>16.0</td> - <td>{{ CompatUnknown() }}</td> - <td>{{ CompatUnknown() }}</td> - <td>{{ CompatUnknown() }}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Phone</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Soporte basico</td> - <td>{{ CompatUnknown() }}</td> - <td>16.0</td> - <td>{{ CompatUnknown() }}</td> - <td>{{ CompatUnknown() }}</td> - <td>{{ CompatUnknown() }}</td> - </tr> - </tbody> -</table> -</div> - -<p> </p> diff --git a/files/es/web/api/domapplicationsregistry/install/index.html b/files/es/web/api/domapplicationsregistry/install/index.html deleted file mode 100644 index 56f18e777b..0000000000 --- a/files/es/web/api/domapplicationsregistry/install/index.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: Apps.install -slug: Web/API/DOMApplicationsRegistry/install -translation_of: Archive/Marketplace/API/DOMApplicationsRegistry/install ---- -<div> - {{ ApiRef() }} {{non-standard_header}}</div> -<h2 id="Summary" name="Summary">Resumen</h2> -<p>Activa la instalación de una aplicación. Durante este proceso la aplicación es validada y el usuario se le solicita aprovar la instalación .</p> -<p>Si la aplicación estaba previamente instalada desde el mismo dominio, llamando <code>install()</code>otra vez puede silenciosamente reescribir los datos de instalación. This can be used to modify the purchase receipt, for example, when a user upgrades from a free app to a premium app.</p> -<h2 id="Syntax" name="Syntax">Syntax</h2> -<pre class="syntaxbox"><code>var <em>request</em> = window.navigator.mozApps.install(<em>url</em>, <em>[receipt1, …]</em>)</code>;</pre> -<h3 id="Parameters" name="Parameters">Parameters</h3> -<div class="note"> - <strong>Note:</strong> There is currently (May 2012) a bug with passing a relative path in the <code>url</code> parameter. See {{ Bug("745928") }}.</div> -<dl> - <dt> - <code>url</code></dt> - <dd> - A <a href="/en-US/docs/JavaScript/Reference/Global_Objects/String"><code>string</code></a> URL containing the location of the <a href="/en-US/docs/Web/Apps/Manifest">manifest</a> to be installed. In the case of self distribution (where the installing origin is the same as the app origin), the installing site may omit the origin part of the URL and provide an absolute path (beginning with <code>/</code>).</dd> - <dt> - <code><strong>receipts</strong></code></dt> - <dd> - (Optional) An array of one or more receipts. Example:</dd> - <dd> - <pre>window.navigator.mozApps.install(url, ["receipt"])</pre> - </dd> - <dd> - If <code>receipts</code> is omitted it is treated as <code>null</code>. For more information see <a href="/en-US/docs/Web/Apps/Publishing/Validating_a_receipt">Validating a receipt</a>.</dd> -</dl> -<p>The <code>install()</code> function throws an exception if the required argument (<code>url</code>) is missing, or if unsupported arguments are present.</p> -<h2 id="Returns" name="Returns">Returns</h2> -<p>The <code>install()</code> function returns a {{ domxref("DOMRequest") }} object. The <code>DOMRequest.result</code> field contains an <a href="/en-US/docs/Web/API/App"><code>App</code> object</a>, which is a JavaScript object that describes the app that was just installed. Before the operation is finished, <code>DOMRequest.result</code> is <code>null</code>.</p> -<p>If the installation is not successful, <code>DOMRequest.error</code> contains a <a href="/en-US/docs/Web/Apps/JavaScript_API/Error_object"><code>DOMError</code> object</a>, which has information about the error.</p> -<h2 id="Example" name="Example">Example</h2> -<p>An example that shows how to use <code>install()</code> with the <code>DOMRequest.onsuccess</code> and <code>DOMRequest.onerror</code> callback properties.</p> -<pre class="brush: js">var request = window.navigator.mozApps.install(manifestUrl); -request.onsuccess = function () { - // Save the App object that is returned - var appRecord = this.result; - alert('Installation successful!'); -}; -request.onerror = function () { - // Display the error information from the DOMError object - alert('Install failed, error: ' + this.error.name); -}; -</pre> -<p>The <code>onsuccess</code> callback is called if the installation is successful. This means that the installation actions described <a href="/en-US/docs/Web/Apps/Platform-specific_details">here</a> have occurred.</p> -<p>If the installation is not successful the <code>onerror</code> callback is called. On a failed installation, <code>DOMRequest.error</code> contains a <code>DOMError</code> object that has information about the error.</p> -<p>The code above may look unusual to you, with listeners being added after the function has already been invoked. However, this is the way the <code>DOMRequest</code> object operates. The function invocation will wait until the listeners are defined, and then the listeners will fire appropriately. The <code>install()</code> function also works by itself, without the <code>.onsuccess</code> and <code>.onerror</code> listeners.</p> -<h2 id="Error" name="Error">Errors</h2> -<p>When the installation is unsuccessful, one of the following errors can be returned in <code>DOMRequest.error</code>.</p> -<dl> - <dt> - <code>DENIED</code></dt> - <dd> - The user cancelled the installation.</dd> - <dt> - <code>INVALID_MANIFEST</code></dt> - <dd> - The manifest, while well-formed JSON, does not have some required field or is somehow invalid.</dd> - <dt> - <code>MANIFEST_URL_ERROR</code></dt> - <dd> - Something other than an HTTP 200 status code was received, or some connection errors.</dd> - <dt> - <code>MANIFEST_PARSE_ERROR</code></dt> - <dd> - Bad JSON in the manifest.</dd> - <dt> - <code>NETWORK_ERROR</code></dt> - <dd> - Connection error.</dd> - <dt> - <code>REINSTALL_FORBIDDEN</code></dt> - <dd> - Reinstalls of apps are forbidden.</dd> - <dt> - <code>MULTIPLE_APPS_PER_ORIGIN_FORBIDDEN</code></dt> - <dd> - Installable apps have a "single app per origin" security policy; basically, you can't host more than one installable app per origin.</dd> -</dl> -<h2 id="Related_topics" name="Related_topics">Related topics</h2> -<ul> - <li><a href="/en-US/docs/Web/Apps/Publishing/Validating_a_receipt">Validating a receipt</a></li> - <li><a href="/en-US/docs/Web/Apps/Platform-specific_details">Platform-specific details</a></li> - <li><a href="/en-US/docs/Web/API/App">App object</a></li> - <li><a href="/en-US/docs/Web/API/DOMError">DOMError object</a></li> - <li><a href="/en-US/docs/Web/Apps/JavaScript_API">Apps JavaScript API</a></li> -</ul> diff --git a/files/es/web/api/domapplicationsregistry/installpackage/index.html b/files/es/web/api/domapplicationsregistry/installpackage/index.html deleted file mode 100644 index c269240c60..0000000000 --- a/files/es/web/api/domapplicationsregistry/installpackage/index.html +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Apps.installPackage -slug: Web/API/DOMApplicationsRegistry/installPackage -translation_of: Archive/Marketplace/API/DOMApplicationsRegistry/installPackage ---- -<div> - {{ApiRef}} {{non-standard_header}}</div> -<h2 id="Resumen">Resumen</h2> -<p>Instala una <a href="/en-US/docs/Apps/Packaged_apps">aplicación empaquetada</a>.</p> -<div class="warning"> - Solo disponible en Firefox OS.</div> -<h2 id="Sintaxis">Sintaxis</h2> -<pre class="syntaxbox">installPackage: function(aURL[, aParams])</pre> -<h3 id="Parametros">Parametros</h3> -<ul> - <li><code>receipts</code>: Será utilizado para especificar los recibos de pago para esta instalación.</li> - <li><code>categories</code>: Será utilizado para especificar las categorías de la aplicación web.</li> -</ul> -<h2 id="Resultados">Resultados</h2> -<dl> - <dt> - <code>aURL</code></dt> - <dd> - El URL del paquete de aplicación a instalar. Esta debe ser una URL completa y absoluta.</dd> - <dt> - <code>aParams</code></dt> - <dd> - Opcionalmente, un objeto con información adicional:</dd> - <dt> - <code>DOMRequest</code></dt> -</dl> -<h2 id="Véase_también">Véase también</h2> -<ul> - <li>{{domxref("Apps.install()")}}</li> - <li><a href="/en-US/docs/Apps/Apps_JavaScript_API">Apps JavaScript API</a></li> -</ul> diff --git a/files/es/web/api/mozsocial/closepanel/index.html b/files/es/web/api/mozsocial/closepanel/index.html deleted file mode 100644 index 1b2305967f..0000000000 --- a/files/es/web/api/mozsocial/closepanel/index.html +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: MozSocial.closePanel -slug: Web/API/MozSocial/closePanel -tags: - - Social -translation_of: Archive/Social_API/MozSocial/closePanel ---- -<p>{{ ApiRef() }}</p> -<p>{{non-standard_header()}}</p> -<p>{{fx_minversion_header("17.0")}}</p> -<h3 id="Summary" name="Summary">Resumen</h3> -<p>Cierra el panel social que está actualmente abierto en el panel del proveedor de servicios sociales de nivel superior.</p> -<h3 id="Syntax" name="Syntax">Sintaxis</h3> -<pre class="eval">MozSocial.closePanel(); -</pre> -<h3 id="Parametros">Parametros</h3> -<p>Ninguno.</p> -<h3 id="Specification" name="Specification">Especificación</h3> -<p>No es parte de ninguna especificación.</p> diff --git a/files/es/web/api/mozsocial/getattention/index.html b/files/es/web/api/mozsocial/getattention/index.html deleted file mode 100644 index e362749b56..0000000000 --- a/files/es/web/api/mozsocial/getattention/index.html +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: MozSocial.getAttention -slug: Web/API/MozSocial/getAttention -tags: - - Social -translation_of: Archive/Social_API/MozSocial/getAttention ---- -<p>{{ ApiRef() }}</p> -<p>{{non-standard_header()}}</p> -<p>{{fx_minversion_header("17.0")}}</p> -<h3 id="Summary" name="Summary">Resumen</h3> -<p>Ejecuta algunas acciones, posiblemente específicas de la plataforma, diseñadas para obtener la atención del usuario. Esto puede involucrar la reproducción de un efecto de sonido, parpadeo en la pantalla, o mostrando alguna otra forma de efecto.</p> -<h3 id="Syntax" name="Syntax">Sintaxis</h3> -<pre class="eval">MozSocial.getAttention(); -</pre> -<h3 id="Parámetros">Parámetros</h3> -<p>Ninguno.</p> -<h3 id="Specification" name="Specification">Especificación</h3> -<p>No es parte de ninguna especificación.</p> diff --git a/files/es/web/api/mozsocial/getworker/index.html b/files/es/web/api/mozsocial/getworker/index.html deleted file mode 100644 index e32cc7b240..0000000000 --- a/files/es/web/api/mozsocial/getworker/index.html +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: MozSocial.getWorker -slug: Web/API/MozSocial/getWorker -translation_of: Archive/Social_API/MozSocial/getWorker ---- -<p>{{ ApiRef() }}</p> -<p>{{non-standard_header()}}</p> -<p>{{fx_minversion_header("17.0")}}</p> -<h3 id="Summary" name="Summary">Resumen</h3> -<p>Devuelve una referencia al <a href="/en-US/docs/Social_API/Service_worker_API_reference" title="/en-US/docs/Social_API/Service_worker_API_reference">worker del servicio</a> de contenidos de redes sociales. Una vez obtenido, puedes llamar a su método <code>postMessage()</code> para comunicarte con él. Puedes usar uno de los <span style="color: #ffff00;"><span style="background-color: rgb(255, 0, 0);">mensajes estándares para redes sociales</span></span>, o mensajes específicos de ese servicio.</p> -<h3 id="Syntax" name="Syntax">Sintaxis</h3> -<pre class="eval">var <em>socialWorker</em> = MozSocial.getWorker(); -</pre> -<h3 id="Parámetros">Parámetros</h3> -<p>Ninguno.</p> -<h3 id="Valor_devuelto">Valor devuelto</h3> -<p>Una referencia al <a href="/en-US/docs/Social_API/Service_worker_API_reference" title="/en-US/docs/Social_API/Service_worker_API_reference">worker del servicio</a>.</p> -<h3 id="Specification" name="Specification">Especificación</h3> -<p>No forma parte de ninguna especificación.</p> diff --git a/files/es/web/api/mozsocial/index.html b/files/es/web/api/mozsocial/index.html deleted file mode 100644 index a2f559a9df..0000000000 --- a/files/es/web/api/mozsocial/index.html +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: MozSocial -slug: Web/API/MozSocial -tags: - - API -translation_of: Archive/Social_API/MozSocial ---- -<div>{{ ApiRef("Social API") }} {{non-standard_header}}{{fx_minversion_header("17.0")}}</div> - -<p>The <code>MozSocial</code> object, returned by the <code>navigator.mozSocial</code> property, is available within the social media provider's panel to provide functionality it may need.</p> - -<div class="note"> -<p><strong>Note:</strong> Although Mozilla hopes to submit this API for standardization eventually, it has not yet done so.</p> -</div> - -<h2 id="Attributes" name="Attributes">Properties</h2> - -<dl> - <dt>{{domxref("MozSocial.isVisible")}}</dt> - <dd>Returns a Boolean value; the result is <code>true</code> if the content is visible, otherwise it's <code>false</code>.</dd> -</dl> - -<h2 id="Methods" name="Methods">Methods</h2> - -<dl> - <dt>{{domxref("MozSocial.closePanel()")}}</dt> - <dd>Closes the currently open flyout panel.</dd> - <dt>{{domxref("MozSocial.getAttention()")}}</dt> - <dd>Performs some action designed to get the user's attention; the exact behavior may vary from platform to platform. This might display a visual effect, play an audible notification, flash the screen, or use some other technique.</dd> - <dt>{{domxref("MozSocial.getWorker()")}}</dt> - <dd>Returns a reference to the service worker; once content has this reference, it can call <code>worker.port.postMessage()</code> method to communicate with the service.</dd> - <dt>{{domxref("MozSocial.openChatWindow()")}}</dt> - <dd>Opens a chat window that is anchored to the bottom of the browser window. Each chat window is expected to be a singular chat, but functionality may vary by provider.</dd> - <dt>{{domxref("MozSocial.openPanel()")}}</dt> - <dd>Opens a flyout panel attached to the sidebar at a given vertical offset. This might be, for example, used to display the actual conversation corresponding to a notification in the sidebar.</dd> - <dt>{{domxref("MozSocial.share()")}}</dt> - <dd>Initiates a share action via the SocialAPI Share panel. One argument is passed, an object containing "url", "title", "description", "source" and "image".</dd> -</dl> - -<h2 id="See_also" name="See_also">See also</h2> - -<ul> - <li><a href="/en-US/docs/Social_API" title="Social_API">Social API</a></li> -</ul> diff --git a/files/es/web/api/mozsocial/isvisible/index.html b/files/es/web/api/mozsocial/isvisible/index.html deleted file mode 100644 index 7bc90e47da..0000000000 --- a/files/es/web/api/mozsocial/isvisible/index.html +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: MozSocial.isVisible -slug: Web/API/MozSocial/isVisible -tags: - - Social -translation_of: Archive/Social_API/MozSocial/isVisible ---- -<p>{{non-standard_header()}}</p> -<p>{{fx_minversion_header("17.0")}}</p> -<p>{{ ApiRef() }}</p> -<h2 id="Summary" name="Summary">Resumen</h2> -<p>Indica si la barra lateral del contenido del proveedor de social media está o no visible actualmente.</p> -<h2 id="Syntax" name="Syntax">Sintaxis</h2> -<pre class="eval">var <em>visible</em> = navigator.MozSocial.isVisible -</pre> -<p>Al retornar, <code>visible</code> es <code>true</code> si la barra lateral es visible actualmente; de otro modo es <code>false</code>.</p> -<h2 id="Especificación">Especificación</h2> -<p>No es parte de ninguna especificación.</p> -<h2 id="Ver_también">Ver también</h2> -<ul> - <li><a href="/en-US/docs/Social_API" title="/en-US/docs/Social_API">Social API</a></li> -</ul> diff --git a/files/es/web/api/mozsocial/openchatwindow/index.html b/files/es/web/api/mozsocial/openchatwindow/index.html deleted file mode 100644 index 26f6b97643..0000000000 --- a/files/es/web/api/mozsocial/openchatwindow/index.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: MozSocial.openChatWindow -slug: Web/API/MozSocial/openChatWindow -translation_of: Archive/Social_API/MozSocial/openChatWindow ---- -<p>{{ ApiRef() }}</p> -<p>{{non-standard_header()}}</p> -<p>{{fx_minversion_header("17.0")}}</p> -<h3 id="Summary" name="Summary">Resumen</h3> -<p>Abre una ventana de chat, anclada en la parte inferior de la ventana del navegador. Cada ventana de chat suele ser un one-on-one chat, pero esta funcionalidad puede variar dependiendo del proveedor.</p> -<h3 id="Syntax" name="Syntax">Sintaxis</h3> -<pre class="eval">MozSocial.openChatWindow(<em>toUrl</em>, <em>callback</em>); -</pre> -<h3 id="Parametros">Parametros</h3> -<dl> - <dt> - <code>toUrl</code></dt> - <dd> - URL a la que se abre la conexión de chat.</dd> - <dt> - <code>callback</code></dt> - <dd> - Un objeto para recibir notificaciones de devolución de llamada en la conexión. La devolución de llamada recibe como entrada una referencia a la ventana de chat. Vease <a href="/en-US/docs/Social_API/Implementing_chat_functionality" title="/en-US/docs/Social_API/Implementing_chat_functionality">Implementing chat functionality</a> para más detalles.</dd> -</dl> -<h3 id="Specification" name="Specification">Especificaciones</h3> -<p>No es parte de ninguna especificación.</p> diff --git a/files/es/web/api/mozsocial/openpanel/index.html b/files/es/web/api/mozsocial/openpanel/index.html deleted file mode 100644 index 9ea96cd5bd..0000000000 --- a/files/es/web/api/mozsocial/openpanel/index.html +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: MozSocial.openPanel -slug: Web/API/MozSocial/openPanel -translation_of: Archive/Social_API/MozSocial/openPanel ---- -<p>{{ ApiRef() }}</p> -<p>{{non-standard_header()}}</p> -<p>{{fx_minversion_header("17.0")}}</p> -<h3 id="Summary" name="Summary">Resumen</h3> -<p>Abre un panel desplegable sujeto a la barra lateral del proveedor de medios sociales con una distancia vertical dada.</p> -<h3 id="Syntax" name="Syntax">Sintaxis</h3> -<pre class="eval">MozSocial.openPanel(<em>toUrl</em>, <em>offset</em>, <em>callback</em>); -</pre> -<h3 id="Parámetros">Parámetros</h3> -<dl> - <dt> - <code>toUrl</code></dt> - <dd> - La URL al contenido a presentar en el panel.</dd> - <dt> - <code>offset</code></dt> - <dd> - La distancia vertical, en pixeles, a la cual posicionar el panel desplegable.</dd> - <dt> - <code>callback</code></dt> - <dd> - Un objeto para recibir notificaciones devueltas por la conexión. La llamada de vuelta recibe como entrada una referencia al panel desplegable. <<<OCUPA ENLACE A DETALLES>>></dd> -</dl> -<h3 id="Specification" name="Specification">Especificación</h3> -<p>No es parte de ninguna especificación.</p> diff --git a/files/es/web/api/navigator/id/index.html b/files/es/web/api/navigator/id/index.html deleted file mode 100644 index 707d9a6255..0000000000 --- a/files/es/web/api/navigator/id/index.html +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: navigator.id -slug: Web/API/Navigator/id -translation_of: Archive/Navigator-id ---- -<div>{{ ApiRef("Persona") }}</div> - -<h2 id="Summary" name="Summary">Summary</h2> - -<p>The <a href="/en-US/docs/Persona" title="BrowserID">BrowserID protocol</a> defines a new <code>id</code> property on the {{ domxref ("window.navigator")}} object, through which it exposes the BrowserID API, that is the {{domxref("IdentityManager")}} intreface. This API has gone through several significant revisions. Each generation is listed separately below.</p> - -<h2 id="Syntax">Syntax</h2> - -<pre>var id = navigator.id</pre> - -<p> </p> diff --git a/files/es/web/api/navigator/mozsocial/index.html b/files/es/web/api/navigator/mozsocial/index.html deleted file mode 100644 index cf5dd808f8..0000000000 --- a/files/es/web/api/navigator/mozsocial/index.html +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: navigator.mozSocial -slug: Web/API/Navigator/mozSocial -translation_of: Archive/mozSocial ---- -<p>{{non-standard_header()}}</p> -<p>{{fx_minversion_header("17.0")}}</p> -<p>{{ ApiRef() }}</p> -<p>El objeto <code>MozSocial</code> , regresado por la propiedad <code>navigator.mozSocial</code> , esta disponible dentro del tablero del proveedor de medios de comunicación para proporcionar la funcionalidad que pueda necesitar.</p> -<div class="note"> - <p><strong>Nota:</strong> Aunque mozilla espera enviar eventualmente este API para su estandarización, aun no se ha hecho.</p> -</div> -<h2 id="Atributos">Atributos</h2> -<dl> - <dt> - {{domxref("MozSocial.isVisible")}}</dt> - <dd> - Regresa un valor Booleano; el resultado es <code>true</code> si el contenido es visible, de otra manera es <code>false</code>.</dd> -</dl> -<h2 id="Métodos">Métodos</h2> -<dl> - <dt> - {{domxref("MozSocial.closePanel()")}}</dt> - <dd> - Cierra el tablero flotante abierto actualmente.</dd> - <dt> - {{domxref("MozSocial.getAttention()")}}</dt> - <dd> - Realiza algunas acciones diseñadas para obtener la atención del usuario; el mismo comportamiento puede variar de plataforma a plataforma. Esto puede mostrar un efecto visual, reproducir una notificación audible, parpadear la pantalla, o utilizar alguna otra técnica.</dd> - <dt> - {{ domxref("MozSocial.getWorker()") }}</dt> - <dd> - Regresa una referencia al trabajador de servicios; una vez el contenido tiene esta referencia, puede llamar a su método <code>postMessage()</code> para comunicarse con el servicio.</dd> - <dt> - {{domxref("MozSocial.openChatWindow()")}}</dt> - <dd> - Abre una ventana de chat que es anclada al pie de la ventana del navegador. Se espera que cada ventana de chat sea un chat singular, pero su funcionalidad va a variar dependiento del proveedor.</dd> - <dt> - {{domxref("MozSocial.openPanel()")}}</dt> - <dd> - Abre un tablero flotante adjunto a la barra lateral en una vertical dada para compensar. Esto puede ser, por ejemplo, utilizado para mostrar la conversación actual correspondiente a una notificación en la barra lateral.</dd> - <dd> - </dd> - <dt> - Vease Tambien</dt> - <dd> - Social API</dd> -</dl> diff --git a/files/es/web/api/simple_push_api/index.html b/files/es/web/api/simple_push_api/index.html deleted file mode 100644 index d3d4dd4d1a..0000000000 --- a/files/es/web/api/simple_push_api/index.html +++ /dev/null @@ -1,235 +0,0 @@ ---- -title: Simple Push -slug: Web/API/Simple_Push_API -translation_of: Archive/B2G_OS/API/Simple_Push_API ---- -<p>{{ non-standard_header() }}</p> - -<div class="note"> -<p><strong>Nota</strong>: Esta documentación cubre el mecanismo propietario Simple Push de Firefox OS; si usted está buscando la documentación sobre el W3C Push API, diríjase a <a href="/en-US/docs/Web/API/Push_API">Push API</a>.</p> -</div> - -<p>El <strong>Simple Push API</strong>, también conocido como Push Notification API, provee a las aplicaciones la habilidad de ser despertadas para recibir notificaciones. Usted puede utilizar Simple Push como un mecanismo de sincronización, o incluso para traer datos desde servidores de terceros.</p> - -<p>Un "push" (empujón) no es más que un evento enviado a un servidor remoto. Así es como funciona: una aplicación usa el <span style="line-height: 1.5;">Simple Push API para solicitar una URL especial y única llamada endpoint (punto final). Esta solicitud viaja hacia un servidor existente mantenido por Mozilla especialmente para este proposito (este se denomina "push server"). Cuando la aplicación recibe el endpoint de vuelta desde el push server, la aplicación envía el endpoint a su propio servidor (su servidor de aplicación). El servidor de aplicación guarda este endpoint, luego cuando quiere despertar la aplicación, llama al endpoint con un número de versión, y el push server contacta a la aplicación con una notificación del número de versión. La aplicación puede hacer cualquier cosa al momento de recibir la notificación, incluso ignorarla.</span></p> - -<p>El Simple Push API extiende <code>Window.navigator</code> con una propiedad <code>push</code> que es un objeto {{domxref("PushManager")}}, e incluye algunos eventos nuevos que usted puede recibir para monitorear el estado del empuje.</p> - -<h2 id="Ejemplo_mostrando_los_conceptos_básicos">Ejemplo mostrando los conceptos básicos</h2> - -<p>Existen varias formas de usar la Simple Push API. Este ejemplos cubren los conceptos básicos de como usarla. El ejemplo consta de los siguientes pasos generales. Consulte las siguientes secciones para obtener información completa sobre cada paso.</p> - -<ol> - <li><a href="#Add_push_to_manifest">Añadir configuración push al manifiesto de la aplicación</a></li> - <li><a href="#2._Call_PushManager.register()_to_request_an_endpoint">LLamar a <code>PushManager.register</code> para solicitar un endpoint</a></li> - <li><a href="#3._Send_the_endpoint_to_your_server">Enviar un endpoint a su servidor</a></li> - <li><a href="#4._Add_a_message_handler_for_push_notifications_to_your_app">Agregar a su aplicación controladores de mensajes para notificaciones push</a></li> - <li><a href="#5._Send_a_notification_from_your_server_using_the_endpoint">Enviar una notificación desde su servidor utilizando el endpoint</a></li> -</ol> - -<h2 id="1._Añadir_configuración_push_al_manifiesto_de_la_aplicación"><a name="Add_push_to_manifest"></a>1. Añadir configuración push al manifiesto de la aplicación</h2> - -<p>Usted necesita cambiar dos cosas en el manifiesto de la aplicación para poder utilizar Simple Push:</p> - -<ol> - <li><a href="/docs/Web/Apps/Manifest#messages" title="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest?redirectlocale=en-US&redirectslug=Apps%2FManifest#messages">Campo <code>messages</code></a> - Añadir <code>push</code> y <code>push-register</code> a <code>messages</code>.<br> - Esto le hace saber a la página de aplicación que recibirá cada uno de estos eventos (<code>push</code> y <code>push-register</code>). En este ejemplo, ambos van a la misma página: "/index.html", pero también pueden usar otras páginas. Observe a continuación para mayor información sobre cada uno de estos eventos.</li> - <li><a href="/docs/Web/Apps/Manifest#permissions" title="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest?redirectlocale=en-US&redirectslug=Apps%2FManifest#permissions">Campo <code>permissions</code></a> - Añadir que su aplicación quiere recibir notificaciones push.<br> - Es una buena idea proveer una descripción clara en este campo para que el usuario final entienda por qué usted necesita permisos de empuje ("push").</li> -</ol> - -<pre><span class="s2">"messages"</span><span class="o">:</span> <span class="cp">[</span> - <span class="p">{</span> <span class="s2">"push"</span><span class="p">:</span> <span class="s2">"/index.html"</span><span class="p">},</span> - <span class="p">{</span> <span class="s2">"push-register"</span><span class="p">:</span> <span class="s2">"/index.html"</span><span class="p">}</span> -<span class="cp">]</span><span class="o">,</span> -<span class="s2">"permissions"</span><span class="o">:</span> <span class="p">{</span> - <span class="s2">"push"</span><span class="o">:</span> <span class="err">{ - </span>"description": "Required for being updated with new goals in soccer matches"<span class="err"> -</span><span class="p"> }</span> -<span class="err">}</span></pre> - -<h2 id="2._LLamar_a_PushManager.register()_para_solicitar_un_endpoint">2. LLamar a <code>PushManager.register()</code> para solicitar un endpoint</h2> - -<p>La aplicación necesita solicitar un endpoint llamando {{domxref("PushManager.register")}}. Usted debe decidir cuando este debe ser llamado. Usted podría llamarlo cuando el usuario ha iniciado sesión en el servicio, o cuando el usuario decide comenzar a ver un partido de fútbol, o en cualquier otro momento. El código a continuación es una forma de hacerlo.</p> - -<pre class="brush: js"><span class="k">if</span> <span class="p">(</span><span class="nx">navigator</span><span class="p">.</span><span class="nx">push</span><span class="p">)</span> <span class="p">{ - // Solicitar el endpoint. Esto usa PushManager.register().</span> - <span class="kd">var</span> <span class="nx">req</span> <span class="o">=</span> <span class="nx">navigator</span><span class="p">.</span><span class="nx">push</span><span class="p">.</span><span class="nx">register</span><span class="p">();</span> - - <span class="nx">req</span><span class="p">.</span><span class="brush: js">onsuccess</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">endpoint</span> <span class="o">=</span> <span class="nx">req</span><span class="p">.</span><span class="nx">result</span><span class="p">;</span> - console.log<span class="p">(</span><span class="s2">"New endpoint: "</span> <span class="o">+</span> <span class="nx">endpoint</span> <span class="p">); - // En este punto, usted deberá usar algunos llamados para enviar el - // endpoint a su servidor. Por ejemplo: - /* - var post = XMLHTTPRequest(); - post.open("POST", "https://your.server.here/registerEndpoint"); - post.setRequestHeader("Content-Type", "</span>application/x-www-form-urlencoded"); - post.send("endpoint=" + encodeURIComponents( endpoint ) ); - */ - // Obviamente usted querrá añadir controladores .onload y .onerror, - // añadir información de id del usuario, y cualquier otra cosa que podría - // necesitar para asocial el endpoint con el usuario. - <span class="p">}</span> - - <span class="nx">req</span><span class="p">.</span><span class="nx">onerror</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span> - console.error<span class="p">(</span><span class="s2">"Error getting a new endpoint: "</span> <span class="o">+</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">e</span><span class="p">));</span> - <span class="p">}</span> -<span class="p">}</span> <span class="k">else</span> <span class="p">{</span> - <span class="c1">// push no se encuentra disponible en el DOM, así que haga algo diferente.</span> -<span class="p">}</span></pre> - -<h2 id="3._Enviar_un_endpoint_a_su_servidor">3. Enviar un endpoint a su servidor</h2> - -<p>Una vez que la aplicación ha recibido un endpoint, esta necesita enviarla a su servidor de aplicación. Hay más de una forma de hacer esto. Por ejemplo usted puede enviarla por email, o enviarla a través de <code>POST</code>, <code>PUT</code>, o incluso <code>GET</code>. Nosotros recomendamos que almacene el endpoint con algunos datos de usuario desde la aplicación, tales como una cookie, un username, o lo que sea que usted utilice para identificar su par enpoint-user.</p> - -<p>Pero si usted está enviando a su servidor, nosotros recomendamos que siga estas buenas prácticas:</p> - -<ul> - <li>Enviarla a tráves de XMLHttpRequest.</li> - <li>Siempre usar HTTPS. De otro modo, si alguien intercepta su endpoint, este puede comenzar a enviar notificaciones a su aplicación.</li> - <li>Usar algo para emparejar al usuario (o la instalación de la aplicación) con el endpoint, como una cookie por ejemplo.</li> - <li>Mantener el endpoint a salvo! Cualquier sistema con acceso a su endpoint puede hacer que su aplicación drene la batería del usuario o amarre innecesariamente su servidor, entre otras molestias. Usted siempre puede hacer que el cliente obtenga un nuevo endpoint y descartar el antiguo, pero siempre asegurese de que su servidor reconozca el cambio.</li> -</ul> - -<h2 id="4._Agregar_a_su_aplicación_controladores_de_mensajes_para_notificaciones_push">4. Agregar a su aplicación controladores de mensajes para notificaciones push</h2> - -<p>Una vez haya configurado su endpoint siguiendo los pasos anteriores, usted está listo para hacer que su aplicación comience a escuchar mensajes <code>push</code> y <code>push-register</code> utilizando los controladores de mensajes.</p> - -<h3 id="Añadir_un_controlador_de_mensajes_push">Añadir un controlador de mensajes <code>push</code></h3> - -<p>El controlador de mensajes push puede encontrarse en su archivo <code>index.html</code> o en su script <code>main.js</code>, o incluso en un archivo específico <code>push-message.html</code> que contiene solamente el controlador de mensajes. Esto puede ser útil si un mensaje <code>push</code> es enviado y su aplicación se encuentra cerrada, porque cargará solamente una pequeña porción del código HTML/JavaScript, y usted puede decidir si la aplicación necesita estar completamente abierta o puede hacer algo en segundo plano. Donde sea que usted decida ubicar el controlador de mensajes <code>push</code>, asegurese de que el manifiesto apunte a la ubicación correcta (ver el primer paso anterior), de otro modo su aplicación podría no obtener actualizaciones. Aquí hay un ejemplo de un controlador de mensajes <code>push</code>:</p> - -<pre class="brush: js"><span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">navigator</span><span class="p">.</span><span class="nx">mozSetMessageHandler</span><span class="p">)</span> <span class="p">{</span> - <span class="nb">window</span><span class="p">.</span><span class="nx">navigator</span><span class="p">.</span><span class="nx">mozSetMessageHandler</span><span class="p">(</span><span class="s1">'push'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span> - console.log<span class="p">(</span><span class="s1">'My endpoint is '</span> <span class="o">+</span> <span class="nx">e</span><span class="p">.</span><span class="nx">pushEndpoint</span><span class="p">);</span> - console.log<span class="p">(</span><span class="s1">'My new version is '</span> <span class="o">+</span> <span class="nx">e</span><span class="p">.</span><span class="nx">version</span><span class="p">);</span> - <span class="c1">// Recuerde que usted puede controlar aquí si tiene más de</span> - <span class="c1">// un pushEndpoint</span> - <span class="k">if</span> <span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">pushEndpoint</span> <span class="o">===</span> <span class="nx">emailEndpoint</span><span class="p">)</span> <span class="p">{</span> - <span class="nx">emailHandler</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">version</span><span class="p">);</span> - <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">pushEndpoint</span> <span class="o">===</span> <span class="nx">imEndpoint</span><span class="p">)</span> <span class="p">{</span> - <span class="nx">imHandler</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">version</span><span class="p">);</span> - <span class="p">}</span> - <span class="p">});</span> -<span class="p">}</span> <span class="k">else</span> <span class="p">{</span> - <span class="c1">// Controlador No message</span> -<span class="p">}</span></pre> - -<h3 id="Añadir_un_controlador_de_mensajes_push-register">Añadir un controlador de mensajes <code>push-register</code></h3> - -<div class="note"> -<p><strong>Nota:</strong> Asegurese de añadir este controlador y verificar que funciona. Si ustedes no registra de nuevo sus endpoints cuando este mensaje es recibido por su aplicación, la aplicación <strong>NO SERÁ CAPAZ</strong> de recibir nuevas notificaciones push.</p> -</div> - -<p>Un mensaje push-register será enviado a todas las aplicaciones cuando el dispositivo cambie su identificador interno (llamado el UAID o User Agent Identifier). Esto puede deberse a que el servidor push ha cambiado, o se ha caido y necesita recuperarse, o cualquier otra circunstancia. Si cualquiera de estas cosas llegara a ocurrir, ustedes <strong>DEBE</strong> registrar de nuevo todos sus endpoints, porque sus previos endpoints ya no serán válidos. Por lo tanto su aplicación necesita implementar un controlador de mensajes <code>push-register</code>. Observe el siguiente código de ejemplo.</p> - -<pre class="brush: js"><span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">navigator</span><span class="p">.</span><span class="nx">mozSetMessageHandler</span><span class="p">)</span> <span class="p">{</span> - <span class="nb">window</span><span class="p">.</span><span class="nx">navigator</span><span class="p">.</span><span class="nx">mozSetMessageHandler</span><span class="p">(</span><span class="s1">'push-register'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span> - console.log<span class="p">(</span><span class="s1">'push-register received, I need to register my endpoint(s) again!'</span><span class="p">);</span> - -<span class="c1"> <span class="kd">var</span> <span class="nx">req</span> <span class="o">=</span> <span class="nx">navigator</span><span class="p">.</span><span class="nx">push</span><span class="p">.</span><span class="nx">register</span><span class="p">();</span> - <span class="nx"> req</span><span class="p">.</span><span class="brush: js">onsuccess</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span> - <span class="kd"> var</span> <span class="nx">endpoint</span> <span class="o">=</span> <span class="nx">req</span><span class="p">.</span><span class="nx">result</span><span class="p">;</span> - console.log<span class="p">(</span><span class="s2">"New endpoint: "</span> <span class="o">+</span> <span class="nx">endpoint</span> <span class="p">); - localStorage.endpoint = endpoint;</span> - <span class="p">}</span> - - <span class="nx"> req</span><span class="p">.</span><span class="nx">onerror</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span> - console.error<span class="p">(</span><span class="s2">"Error getting a new endpoint: "</span> <span class="o">+</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">e</span><span class="p">));</span> - <span class="p"> }</span></span> - <span class="p">});</span> -<span class="p">}</span> <span class="k">else</span> <span class="p">{</span> - <span class="c1">// Controlador No message</span> -<span class="p">}</span></pre> - -<h2 id="5._Enviar_una_notificación_desde_su_servidor_utilizando_el_endpoint">5. Enviar una notificación desde su servidor utilizando el endpoint</h2> - -<p>Una vez usted tiene el endpoint en su servidor, usted puede enviar una notificación simplemente enviando una petición HTTP PUT al endpoint con el cuerpo <code>version=<version></code>. Por ejemplo, imagine un endpoint con la siguiente URL:</p> - -<pre><code>https://updates.push.services.mozilla.com/update/abcdef01234567890abcdefabcdef01234567890abcdef</code></pre> - -<p>y con la version 5:</p> - -<pre><code>version=5</code></pre> - -<p>Así es como la notificación se verá utilizando curl:</p> - -<pre><code>curl -X PUT -d "version=5" https://updates.push.services.mozilla.com/update/abcdef01234567890abcdefabcdef01234567890abcdef</code></pre> - -<p>Si el servidor push esta corriendo correctamente, usted recibirá una respuesta con un <code>200 Status (OK)</code> y un <code>{}</code> como cuerpo. También podría recibir un <code>200 Status</code> indicando que el mensaje fue aceptado, pero que pudo haber sido controlado por un sistema alternativo. Si no, una respuesta <code>error</code> HTTP valida con un JSON explicando el error será retornada.</p> - -<div class="note"> -<p><strong>Por favor recuerde:</strong> Solo porque Simple Push ha aceptado el mensaje, esto no garantiza que el mensaje será entregado exitosamente a la aplicación. Muchos factores, desde un dispositivo desconectado a varios fallos de transmisión de datos, pueden ocacionar que no se entregue exitosamente una notificación. Nosotros hacemos nuestro mejor esfuerzo, pero a veces el universo tiene otros planes.</p> -</div> - -<p>Recuerde que el valor de version debe ser números enteros, e incrementales. Las aplicaciones <em>no recibirán</em> nuevas notificaciones si la versión en menor a aquella almacenada en el servidor y/o dispositivo. Las versiones pueden ser útiles para que la aplicación indique si existen eventos "perdidos" que realmente debería verificar. Usted también podriá simplemente usar el UTC (el número de segundos desde la media noche del 1 de enero de 1970, GMT) actual si el valor de la versión no es muy importante para usted.</p> - -<h3 id="Anular_el_registro_de_un_endpoint">Anular el registro de un endpoint</h3> - -<p>Una vez haya terminado de utilizar el endpoint y no desee recibir más notificaciones, le rogamos anular el registro del antiguo endpoint mediante {{domxref("PushManager.unregister")}}. Esto limpiará la cantidad de datos que el dispositivo envía al servidor push, y además disminuirá el consumo de batería al no enviar notificaciones de las aplicaciones que no las usen.</p> - -<h2 id="Especificaciones">Especificaciones</h2> - -<p>{{page("/en-US/docs/Web/API/PushManager","Specifications")}}</p> - -<h2 id="Conpatibilidad_con_navegadores">Conpatibilidad con navegadores</h2> - -<p>{{CompatibilityTable}}</p> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatNo}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Ver_también">Ver también</h2> - -<ul> - <li>{{domxref("PushManager")}}</li> - <li><a href="/en-US/docs/Web/API/Navigator.push">Window.navigator.push</a></li> - <li><a href="https://github.com/frsela/pushJSlibrary" title="https://github.com/frsela/pushJSlibrary">pushJSLibrary, a push shim for browsers that do not implement the API</a></li> - <li><a href="https://wiki.mozilla.org/WebAPI/SimplePush">SimplePush original design and discussion page</a></li> -</ul> diff --git a/files/es/web/api/using_the_browser_api/index.html b/files/es/web/api/using_the_browser_api/index.html deleted file mode 100644 index 31fb24d2fb..0000000000 --- a/files/es/web/api/using_the_browser_api/index.html +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: Using the browser API -slug: Web/API/Using_the_Browser_API -translation_of: Mozilla/Gecko/Chrome/API/Browser_API/Using ---- -<p>{{ non-standard_header() }}</p> -<p>{{ B2GOnlyHeader2('privileged') }}</p> -<h2 id="Summary">Summary</h2> -<p>The HTML Browser API is an extension of the HTML {{HTMLElement("iframe")}} element that allows web apps to implement browsers or browser-like applications. This entails two major aspects:</p> -<ul> - <li>Make the <code>iframe</code> appear like a top-level browser window to the embedded content. This means that <span id="summary_alias_container"><span id="short_desc_nonedit_display"><a href="/en-US/docs/DOM/window.top" title="/en-US/docs/DOM/window.top"><code>window.top</code></a>, <a href="/en-US/docs/DOM/window.parent" title="/en-US/docs/DOM/window.parent"><code>window.parent</code></a>, <a href="/en-US/docs/DOM/window.frameElement" title="/en-US/docs/DOM/window.frameElement"><code>window.frameElement</code></a>, etc. should <em>not</em> reflect the frame hierarchy.</span></span> Optionally, the notion that the embedded is an Open Web App can be expressed as well.</li> - <li>An API to manipulate and listen for changes to the embedded content's state.</li> -</ul> -<p>In addition to that, it's also possible to express the notion that the embedded content is an <a href="/en-US/docs/Apps" title="/en-US/docs/Apps">Open Web App</a>. In that case the content is loaded within the appropriate app context (such as permissions).</p> -<h2 id="Usage">Usage</h2> -<p>An {{HTMLElement("iframe")}} is turned into a browser frame by setting the {{htmlattrxref("mozbrowser","iframe")}} attribute:</p> -<pre class="brush: html"><iframe src="http://hostname.tld" mozbrowser></pre> -<p>In order to embed an Open Web App, the {{htmlattrxref("mozapp","iframe")}} attribute must also be supplied, with the path to the app's manifest:</p> -<pre><iframe src="http://hostname.tld" mozapp='http://path/to/manifest.webapp' mozbrowser></pre> -<p>At last the content of the {{HTMLElement("iframe")}} can be loaded in its own child process, separate to the page embedding this frame by using the {{htmlattrxref("remote","iframe")}} attribute.</p> -<pre><iframe src="http://hostname.tld" mozbrowser remote></pre> -<div class="warning"> - <p><strong>Warning:</strong> That last attribute is necessary for security reasons if you plan to load content from an untrusted/unknown origin. If you don't use it, you take the risk of your application being compromised by a malicious web site.</p> -</div> -<h2 id="Permissions">Permissions</h2> -<p>Any application that wants to embed a browser frame must have the <code>browser</code> permission within its <a href="/en-US/docs/Web/Apps/Manifest" title="/en-US/docs/Web/Apps/Manifest">app manifest</a>.</p> -<pre class="brush: json">{ - "permissions": { - "browser": {} - } -}</pre> -<p>Additionally, to embed an Open Web App, the app must have the <code>embed-apps</code> permission.</p> -<pre class="brush: json">{ - "permissions": { - "browser": {}, - "embed-apps": {} - } -}</pre> -<h2 id="Extra_methods">Extra methods</h2> -<p>To support the requirement of a browser {{HTMLElement("iframe")}}, Firefox OS extends the {{domxref("HTMLIFrameElement")}} DOM interface. Those new methods gives the {{HTMLElement("iframe")}} some super powers:</p> -<h3 id="Navigation_methods">Navigation methods</h3> -<p>Those methods allow navigating through the browsing history of the {{HTMLElement("iframe")}}. They are necessary to be able to implement back, forward, stop, and reload buttons.</p> -<ul> - <li>{{domxref("HTMLIFrameElement.reload","reload()")}}: Allows reloading the content of the {{HTMLElement("iframe")}}.</li> - <li>{{domxref("HTMLIFrameElement.stop","stop()")}}: Allows stopping the loading of the {{HTMLElement("iframe")}}'s content.</li> - <li>{{domxref("HTMLIFrameElement.getCanGoBack","getCanGoBack()")}}: Allows knowing if it's possible to navigate backward.</li> - <li>{{domxref("HTMLIFrameElement.goBack","goBack()")}}: Changes the location of the {{HTMLElement("iframe")}} for the previous location in its browsing history.</li> - <li>{{domxref("HTMLIFrameElement.getCanGoForward","getCanGoForward()")}}: Allows knowing if it's possible to navigate forward.</li> - <li>{{domxref("HTMLIFrameElement.goForward","goForward()")}}: Changes the location of the {{HTMLElement("iframe")}} for the next location in its browsing history.</li> -</ul> -<h3 id="Performance_methods">Performance methods</h3> -<p>Those methods are used to manage the resources used by a browser {{HTMLElement("iframe")}}. This is especially useful for implementing tabbed browser application.</p> -<ul> - <li>{{domxref("HTMLIFrameElement.setVisible","setVisible()")}}: Changes the visibility state of a browser {{HTMLElement("iframe")}}. This can influence resources allocation and some function usage such as {{domxref("window.requestAnimationFrame","requestAnimationFrame")}}.</li> - <li>{{domxref("HTMLIFrameElement.getVisible","getVisible()")}}: Allows knowing the current visibility state of the browser {{HTMLElement("iframe")}}.</li> - <li>{{domxref("HTMLIFrameElement.purgeHistory","purgeHistory()")}}: Allows clearing all the resources (cookies, localStorage, cache, etc.) associated with the browser {{HTMLElement("iframe")}}.</li> -</ul> -<h3 id="Event_methods">Event methods</h3> -<p>In order to manage the browser {{HTMLElement("iframe")}}'s content, many new events were added (see below). The following methods are used to deal with those events:</p> -<ul> - <li>The {{HTMLElement("iframe")}} gains support for the methods of the {{domxref("EventTarget")}} interface: {{domxref("EventTarget.addEventListener","addEventListener()")}}, {{domxref("EventTarget.removeEventListener","removeEventListener()")}}, and {{domxref("EventTarget.dispatchEvent","dispatchEvent()")}}.</li> - <li>{{domxref("HTMLIFrameElement.sendMouseEvent","sendMouseEvent()")}}: Allows sending a {{domxref("MouseEvent")}} to the {{HTMLElement("iframe")}}'s content.</li> - <li>{{domxref("HTMLIFrameElement.sendTouchEvent","sendTouchEvent()")}}: Allows sending a {{domxref("TouchEvent")}} to the {{HTMLElement("iframe")}}'s content. Note that this method is available for touch enabled devices only.</li> - <li>{{domxref("HTMLIFrameElement.addNextPaintListener","addNextPaintListener()")}}: Allows defining a handler to listen for the next {{event("MozAfterPaint")}} event in the browser {{HTMLElement("iframe")}}.</li> - <li>{{domxref("HTMLIFrameElement.removeNextPaintListener","removeNextPaintListener()")}}: Allows removing a handler previously set with {{domxref("HTMLIFrameElement.addNextPaintListener","addNextPaintListener()")}}.</li> -</ul> -<h3 id="Miscellaneous_methods">Miscellaneous methods</h3> -<p>Those methods are utilities, useful for apps that host a browser {{HTMLElement("iframe")}}.</p> -<ul> - <li>{{domxref("HTMLIFrameElement.getScreenshot","getScreenshot()")}}: Allows taking a screenshot of the browser {{HTMLElement("iframe")}}'s content. This is particularly useful to get thumbnails of tabs in a tabbed browser app.</li> - <li>{{domxref("HTMLIFrameElement.zoom","zoom()")}}: Change the zoom factor of the browser {{HTMLElement("iframe")}}'s content. This is particularly useful to perform zoom in/out on non-touch-enabled devices.</li> -</ul> -<h2 id="Events">Events</h2> -<p>In order to allow an application to manage the browser {{HTMLElement("iframe")}}, the application can listen for new events about what's happening within the browser {{HTMLElement("iframe")}}. The following new events can be listened for:</p> -<ul> - <li>{{event("mozbrowserasyncscroll")}}: Sent when the scroll position within a browser {{HTMLElement("iframe")}} changes.</li> - <li>{{event("mozbrowserclose")}}: Sent when {{domxref("window.close()")}} is called within a browser {{HTMLElement("iframe")}}.</li> - <li>{{event("mozbrowsercontextmenu")}}: Sent when a browser {{HTMLElement("iframe")}} tries to open a context menu. This allows handling {{HTMLElement("menuitem")}} element available within the browser {{HTMLElement("iframe")}}'s content.</li> - <li>{{event("mozbrowsererror")}}: Sent when an error occurred while trying to load content within a browser {{HTMLElement("iframe")}}.</li> - <li>{{event("mozbrowsericonchange")}}: Sent when the favicon of a browser {{HTMLElement("iframe")}} changes.</li> - <li>{{event("mozbrowserloadend")}}: Sent when the browser {{HTMLElement("iframe")}} has finished loading all its assets.</li> - <li>{{event("mozbrowserloadstart")}}: Sent when the browser {{HTMLElement("iframe")}} starts to load a new page.</li> - <li>{{event("mozbrowserlocationchange")}}: Sent when a browser {{HTMLElement("iframe")}}'s location changes.</li> - <li>{{event("mozbrowseropenwindow")}}: Sent when {{domxref("window.open()")}} is called within a browser {{HTMLElement("iframe")}}.</li> - <li>{{event("mozbrowsersecuritychange")}}: Sent when the SSL state changes within a browser {{HTMLElement("iframe")}}.</li> - <li>{{event("mozbrowsershowmodalprompt")}}: Sent when {{domxref("window.alert","alert()")}}, {{domxref("window.confirm","confirm()")}}, or {{domxref("window.prompt","prompt()")}} is called within a browser {{HTMLElement("iframe")}}.</li> - <li>{{event("mozbrowsertitlechange")}}: Sent when the document.title changes within a browser {{HTMLElement("iframe")}}.</li> - <li>{{event("mozbrowserusernameandpasswordrequired")}}: Sent when an HTTP authentification is requested.</li> - <li>{{event("mozbrowseropensearch")}}: Sent when a link to a search engine is found.</li> -</ul> -<h2 id="Example">Example</h2> -<p>In this example we'll see how to implement a very basic browser app.</p> -<h3 id="HTML">HTML</h3> -<p>In the HTML we just add a URL bar, a "Go" and "Stop" button, and a browser {{HTMLElement("iframe")}}.</p> -<pre class="brush: html"><header> - <input id="url"> - <button id="go">Go</button> - <button id="stop">Stop</button> -</header> - -<iframe src="about:blank" mozbrowser remote></iframe> -</pre> -<h3 id="CSS">CSS</h3> -<p>We switch between the go and stop button with a little css trick.</p> -<pre class="brush: css">button:disabled { - display: none; -}</pre> -<h3 id="JavaScript">JavaScript</h3> -<p>Now we can add the required functionalities:</p> -<pre class="brush: js">document.addEventListener("DOMContentLoaded", function () { - var url = document.getElementById("url"); - var go = document.getElementById("go"); - var stop = document.getElementById("stop"); - - var browser = document.getElementsByTagName("iframe")[0]; - - // This function is used to switch the Go and Stop button - // If the browser is loading content, "Go" is disabled and "Stop" is enabled - // Otherwise, "Go" is enabled and "Stop" is disabled - function uiLoading(isLoading) { - go.disabled = isLoading; - stop.disabled = !isLoading; - } - - go.addEventListener("touchend", function () { - browser.setAttribute("src", url.value); - }); - - stop.addEventListener("touchend", function () { - browser.stop(); - }); - - // When the browser starts loading content, we switch the "Go" and "Stop" buttons - browser.addEventListener('mozbrowserloadstart', function () { - uiLoading(true); - }); - - // When the browser finishes loading content, we switch back the "Go" and "Stop" buttons - browser.addEventListener('mozbrowserloadend', function () { - uiLoading(false); - }); - - // In case of error, we also switch back the "Go" and "Stop" buttons - browser.addEventListener('mozbrowsererror', function (event) { - uiLoading(false); - alert("Loading error: " + event.detail); - }); - - // When a user follows a link, we make sure the new location is displayed in the address bar - browser.addEventListener('mozbrowserlocationchange', function (event) { - url.value = event.detail; - }); -});</pre> -<h2 id="See_also">See also</h2> -<ul> - <li>{{HTMLElement("iframe")}}</li> - <li>{{domxref("HTMLIFrameElement")}}</li> - <li>Stat of <a href="https://wiki.mozilla.org/WebAPI/BrowserAPI" title="https://wiki.mozilla.org/WebAPI/BrowserAPI">implementation on WikiMo</a></li> -</ul> |