javascript html5 javascriptmvc

javascript - Error al ejecutar ''pushState'' en el error ''Historial'' al usar la función window.history.pushState



html5 javascriptmvc (1)

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

"El objeto de estado puede ser cualquier cosa que se pueda serializar. Debido a que Firefox guarda los objetos de estado en el disco del usuario para que puedan restaurarse después de que el usuario reinicie el navegador, imponemos un límite de tamaño de 640k caracteres en la representación serializada de un objeto de estado. "Si pasa un objeto de estado cuya representación serializada es más grande que esto para pushState (), el método lanzará una excepción. Si necesita más espacio que este, le recomendamos que use sessionStorage y / o localStorage".

Parece que la respuesta simple es que es posible que el estado que está pasando se esté serializando a más de 640k. Acabo de encontrarme con este error y estoy casi seguro de que esa es la causa.

Estoy usando window.history en la aplicación JavascriptMVC para habilitar la funcionalidad de retroceso / avance / actualización para cada controlador. Cada vez que cargo un nuevo controlador, estoy usando window.history.pushState para agregar un nuevo estado al historial. Y luego en la parte posterior / actualizar, estoy usando el estado guardado y reutilizo los datos para volver a generar el controlador.

Toda la idea funciona bien, excepto por un problema en un escenario específico. Estoy recibiendo el siguiente error:

Error al ejecutar ''pushState'' en ''Historial'': no ​​se pudo clonar un objeto.

Los mismos datos se agregan sin problema en otro escenario. ¿Qué puede causar este error? Gracias por la ayuda.