Este artículo presenta principalmente los métodos de uso básicos de la API de comunicación en HTML5. El artículo involucra dos módulos importantes para construir una comunicación en tiempo real y de dominio cruzado: comunicación de mensajes entre documentos y xmlhttprequest Nivel 2. Amigos que lo necesitan pueden consultar el siguiente 1. Comunicación de mensajes de documento cruzado
La comunicación de mensajes entre documentos puede garantizar que la comunicación de origen cruzado se realice de forma segura entre iframes, pestañas y ventanas. Define la API posterior alMessage como la forma estándar de enviar mensajes. Es muy simple usar postmessage para enviar mensajes, el código es el siguiente:
chatFrame.ContextWindow.PostMessage ('Hello, World', 'http: //www.example.com');
Al recibir mensajes, solo necesita agregar una función de manejo de eventos a la página. Cuando llega un mensaje, se determina si se debe procesar el mensaje verificando la fuente del mensaje.
Un evento de mensaje es un evento DOM con atributos de datos y origen. El atributo de datos es el mensaje real aprobado por el remitente, mientras que el atributo de origen es la fuente de envío.
La API posterior a la presentación no solo es capaz de comunicación entre documentos homólogos, sino que también es útil cuando el navegador no permite la comunicación no homóloga. Dada su consistencia y facilidad de uso, también se recomienda el postmessage al comunicarse entre documentos homólogos. La API posterior almessage siempre debe usarse en comunicaciones en entornos de JavaScript, como cuando se usa comunicaciones de trabajadores web HTML5.
1.1 Comprender la seguridad de la fuenteEl concepto de fuente de introducción de gloria HTML5 (origen) ha aclarado y mejorado la seguridad del dominio. La fuente es un subconjunto de direcciones utilizadas para establecer relaciones de confianza en la red. La fuente consiste en una regla, un host y un puerto.
El concepto de fuente no considera caminos.
HTML5 define la serialización de la fuente. Las fuentes aparecen como cadenas en API y protocolos.
Las reglas de seguridad para el postmessage aseguran que los mensajes no se entreguen a páginas fuente inesperadas. Al enviar un mensaje, el remitente define la fuente del receptor. Si la ventana enviada a la llamada postmessage no tiene una fuente específica (por ejemplo, el usuario salta a otro sitio), el navegador no enviará mensajes.
Del mismo modo, al recibir un mensaje, la fuente del remitente también se usa como parte del mensaje. Para evitar la falsificación, el navegador proporciona la fuente del mensaje. El receptor puede decidir qué mensajes procesar y qué mensajes ignorar. Podemos mantener una lista blanca que le indique al navegador que procese mensajes solo de fuentes de confianza.
Es mejor no evaluar las cuerdas de terceros. Además, evite usar el método EVAL para procesar las cadenas internas de la aplicación. Puede usar JSON a través de Window.json o JSON, .org analizadores.
1.2 Soporte del navegador para la comunicación de mensajes de documento cruzadoUna práctica común es detectar si la propiedad de los WithCredentials existe en el objeto xmlhttprequest:
Código JavaScript Copiar contenido al portapapeles