aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/api/history/pushstate
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:45 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:45 -0500
commit1109132f09d75da9a28b649c7677bb6ce07c40c0 (patch)
tree0dd8b084480983cf9f9680e8aedb92782a921b13 /files/es/web/api/history/pushstate
parent4b1a9203c547c019fc5398082ae19a3f3d4c3efe (diff)
downloadtranslated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.tar.gz
translated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.tar.bz2
translated-content-1109132f09d75da9a28b649c7677bb6ce07c40c0.zip
initial commit
Diffstat (limited to 'files/es/web/api/history/pushstate')
-rw-r--r--files/es/web/api/history/pushstate/index.html96
1 files changed, 96 insertions, 0 deletions
diff --git a/files/es/web/api/history/pushstate/index.html b/files/es/web/api/history/pushstate/index.html
new file mode 100644
index 0000000000..29de4cf521
--- /dev/null
+++ b/files/es/web/api/history/pushstate/index.html
@@ -0,0 +1,96 @@
+---
+title: History.pushState()
+slug: Web/API/History/pushState
+tags:
+ - API
+ - DOM HTML
+ - Historial de navegación
+ - History
+ - History API
+ - Navegador
+ - Sesion
+ - URL
+ - Web
+ - historial
+ - pushState
+translation_of: Web/API/History/pushState
+---
+<div>{{APIRef("History API")}}</div>
+
+<p>En un documento <a href="/en-US/docs/Web/HTML">HTML</a>, el método <strong><code>history.pushState()</code></strong> anexa un registro en la sesión de historial del navegador.</p>
+
+<h2 id="Sintaxis">Sintaxis</h2>
+
+<pre class="syntaxbox notranslate">history.pushState(<var>state</var>, <var>title<span style="font-style: normal;">, [</span></var><var>url</var>])</pre>
+
+<h3 id="Parámetros">Parámetros</h3>
+
+<dl>
+ <dt><code>state</code></dt>
+ <dd>El objeto <code>state</code> es un objeto de JavaScript asociado al nuevo registro en el historial creado por <code>pushState()</code>. Cuando el usuario navega al nuevo registro, un evento {{event("popstate")}} es accionado, y la propiedad <code>state</code> del evento contiene una copia del objeto <code>state</code> del registro en el historial.</dd>
+ <dd>El objeto <code>state</code> puede ser cualquier cosa que pueda ser serializada. Porque Firefox guarda los objetos  <code>state</code> en el disco del usuario para que así puedan ser restaurados luego de que el usuario reinicia el navegador, se impone un límite de 640k caracteres en la representación serializada de un objeto <code>state</code>. Si pasas un objeto <code>state</code> con una representación serializada más grande que lo mencionado, a <code>pushState()</code>, el método arrojará una excepción. Si necesitas más espacio que el mencionado, es recomendable que uses {{domxref("Window.sessionStorage", "sessionStorage")}} y/o {{domxref("Window.localStorage", "localStorage")}}.</dd>
+ <dt><code>title</code></dt>
+ <dd><a href="https://github.com/whatwg/html/issues/2174">La mayoría de los navegadores ignoran este parámetro</a>, sin embargo, podrían usarlo en el futuro. Pasar una cadena de texto vacía aquí, debería ser seguro contra futuros cambios en el método. Alternativamente, podrías pasar un título corto por el estado al cual te estás moviendo. Si necesitas que el título sea modificado, puedes usar {{domxref("Document.title", "document.title")}}.</dd>
+ <dt><code>url</code> {{optional_inline}}</dt>
+ <dd>La URL del nuevo registro en el historial, se define en este parámetro. Es importante destacar que el navegador no intentará cargar esta URL luego de una llamada a <code>pushState()</code>, pero podría intentar cargar esta URL luego, por ejemplo, luego de que el usuario reinicie el navegador. La nueva URL no necesita ser absoluta; puede ser relativa a la URL actual. La nueva URL debe tener el mismo {{glossary("origin")}} que la URL actual; de otra manera, <code>pushState()</code> arrojará una excepción. Si este parámetro no es especificado, por defecto se usa la URL del documento actual.</dd>
+</dl>
+
+<h2 id="Descripción">Descripción</h2>
+
+<p>En cierto sentido, llamar a <code>pushState()</code> es similar a <code>window.location = "#foo"</code>, ambos crearán y activarán un nuevo registro en el historial asociado al documento actual. Pero <code>pushState()</code> tiene unas ventajas adicionales:</p>
+
+<ul>
+ <li>La nueva URL pueded ser cualquier URL con el mismo origen que la URL actual. En contraste, usar {{domxref("window.location")}} te mantiene en el mismo documento únicamente si modificas el <em>hash</em>.</li>
+ <li>No tienes que cambiar la URL si no quieres. En contraste, usar <code>window.location = "#foo";</code> sólo crea un nuevo registro en el historial si el <em>hash</em> actual no es <code>#foo</code>.</li>
+ <li>Puedes asociar datos arbitrarios a tu nuevo registro en el historial. Con el truco del <em>hash</em>, necesitas codificar todos los datos relevantes en una corta cadena de texto.</li>
+</ul>
+
+<p>Cabe destacar que <code>pushState()</code> nunca hace que el evento {{event("hashchange")}} sea accionado, incluso si la nueva URL difiere de la URL antigua sólo en su <em>hash</em>.</p>
+
+<p>En otros documentos, crea u nelemento con una URI <code>null</code>.</p>
+
+<h2 id="Ejemplos">Ejemplos</h2>
+
+<p>Esto crea un nuevo registro en el historial del navegador, estableciendo <code><em>state</em></code>, <code><em>title</em></code>, y <code><em>url</em></code>.</p>
+
+<h3 id="JavaScript">JavaScript</h3>
+
+<pre class="brush: js notranslate">const state = { 'page_id': 1, 'user_id': 5 }
+const title = ''
+const url = 'hello-world.html'
+
+history.pushState(state, title, url)</pre>
+
+<h2 id="Especificaciones">Especificaciones</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Especificación</th>
+ <th scope="col">Estado</th>
+ <th scope="col">Comentario</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML WHATWG', "history.html#dom-history-pushstate", "History.pushState()")}}</td>
+ <td>{{Spec2('HTML WHATWG')}}</td>
+ <td>Ningún cambio desde {{SpecName("HTML5 W3C")}}.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML5 W3C', "history.html#dom-history-pushstate", "History.pushState()")}}</td>
+ <td>{{Spec2('HTML5 W3C')}}</td>
+ <td>Definición Inicial.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilidad_en_Navegadores">Compatibilidad en Navegadores</h2>
+
+<div class="hidden">La tabla de compatibilidad en esta páginas es generada desde datos estructurados. Si te gustaría contribuir a los datos, por favor revisa <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> y envíanos una <em>pull request</em>.</div>
+
+<p>{{Compat("api.History.pushState")}}</p>
+
+<h2 id="Mira_también">Mira también</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/API/History_API/Working_with_the_History_API">Trabajando con la API History</a></li>
+</ul>