La función $("body").load("myUrl") en jQuery permite que el contenido html de un archivo se cargue en el cuerpo, en cuyo caso todos los scripts en el archivo html en el cuerpo se cargan y ejecutan correctamente. Cómo proporcionar contenido html desde una variable al cuerpo en lugar de cargarlo desde un archivo. Por ejemplo, considere que:
en index.html :
<script> window.keeper = null; function callForm2() { window.keeper = window.document.body; $("body").load( "Form2.html" ); } function closeForm2() { window.document.body = window.keeper; } </script>en callForm2 Antes de llamar al contenido del cuerpo desde un archivo, el contenido del cuerpo actual se almacena en una variable window.keeper.
en closeForm2() , quiero tomar el contenido de la variable window.keeper (contenido del cuerpo anterior) y configurarlo en el cuerpo actual, en cuyo caso el contenido de la variable no es igual al guardado previamente, y no puedo regresar el contenido original de la variable.
Entonces, ¿cómo guardo el contenido del cuerpo actual de una variable para la próxima llamada? ¿Cuál es la forma correcta de guardar y llamar en este caso?
aquí está mi código: (también puedes ver https://github.com/yarandish/Challenge2 )
Resolví tu problema y puse una demostración aquí. Su solución está aquí: https://github.com/Master2V/FormCallSolution.git
En index.html pon este script en head:
<script> window.keeper = null; function callForm2() { var $body_page = $('body #Page'); window.keeper = $body_page; $body_page.detach(); $.ajax({ type: "GET", url: "Form2.html", data: "", dataType: "html", success: function (response) { $("body").html(response); } }); } function closeForm2() { var $body_page = $('body #Page'); $body_page.detach(); var $body = $('body'); $body.append(window.keeper); } </script>Y debe tener una etiqueta div con id="Page" en index.html y cualquier otra forma a la que desee llamar.