Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 4712|Respuesta: 2

[HTML/HTML5] Comunicación entre ventanas en HTML5 PostMessage

[Copiar enlace]
Publicado en 30/7/2022 22:07:04 | | | |
PostMessage es una nueva API de comunicación de origen cruzado introducida en html5 que permite comunicarte bidireccionalmente con la página principal y cualquier página de clase de marco o una página abierta mediante window.open. Su proceso general de funcionamiento es el siguiente:



JS determina si la página actual es un iframe o una ventana emergente
https://www.itsvse.com/thread-10342-1-1.html


El método postMessage(data,origin) acepta dos parámetros:

(1) datos: Los datos a pasar, la especificación HTML5 menciona que el parámetro puede ser cualquier tipo básico de JavaScript o un objeto reproducible, pero no todos los navegadores lo han hecho; algunos solo pueden manejar parámetros de cadena, por lo que necesitamos usar el método JSON.stringify() para serializar los parámetros del objeto al pasar los parámetros, y consultar json2.js en la versión inferior de IE para lograr efectos similares.

(2) origen: Parámetro de cadena, indica el origen de la ventana objetivo, protocolo + host + número de puerto [+URL], la URL será ignorada, por lo que no podrá escribirse, este parámetro es por razones de seguridad, el método postMessage() solo pasará el mensaje a la ventana especificada, por supuesto, si quieres, también puedes poner el parámetro en "*", para que pueda pasarse a cualquier ventana, si quieres especificar el mismo origen que la ventana actual, se establece en "/";


Envía y recibe mensajes tú mismo

El código es el siguiente:



La ventana padre envía un mensaje a la ventana hija, y la ventana hija recibe el mensaje

El código es el siguiente:




La ventana hija envía un mensaje a la ventana padre, y la ventana madre recibe el mensaje

El código es el siguiente:



Además, un modo simple de escuchador/cliente está conectado al cliente para la mensajería entre dominios en la siguiente dirección:El inicio de sesión del hipervínculo es visible.

(Fin)




Anterior:JS determina si la página actual es un iframe o una ventana emergente
Próximo:Docker modifica y restringe la CPU del contenedor, la memoria y otros recursos
Publicado en 30/7/2022 22:46:07 |
Aprende a aprender...
 Propietario| Publicado en 18/2/2023 21:25:31 |
Ejemplo posterior al robot de comunicación por ventana de navegador
https://www.itsvse.com/thread-10428-1-1.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com