Escribí códigos javascript.
Al hacer clic en el botón, la ventana secundaria aparece y muestra un texto enviado desde la ventana principal mediante una función posterior al mensaje.
Mi código podría enviar un texto a la ventana secundaria, pero no se muestra ningún texto. El texto se muestra solo cuando sigo haciendo clic en el botón. No quiero que el texto desaparezca.
Creo que mi código está anulado por un script en blanco o algo así, aunque no escribo ningún otro código excepto el siguiente.
¿Tienes alguna solución para esto?
la ventana principal html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Parent Window</title> </head> <body> <input type="button" value="TEST_BUTTON" id="testButton"> <script> var testButton = document.getElementById('testButton'); testButton.addEventListener('click', function(event) { event.preventDefault(); var newWindow = window.open('./child_window.html', 'popupWindow', 'width=400,height=300'); newWindow.postMessage('this is a content from the parent window.', '*'); return false; },false); </script> </body> </html>
la ventana del niño html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Pop Up Window</title> </head> <body> <h1 id="mainText"></h1> <script type="text/javascript"> var mainText = document.getElementById('mainText'); window.addEventListener('message', function(event) { console.log(event.data); this.mainText.innerText = event.data; }, false) </script> </body> </html>
Terminé esto usando localStorage en su lugar.