Cet article présente principalement les méthodes d'utilisation de base de l'API de communication dans HTML5. L'article comprend deux modules importants pour construire une communication en temps réel et en intervalle transversal: la communication de messages inter-documents et le niveau 2 XMLHTTPREQUEST .
La communication de messages inter-documents peut garantir que la communication inter-originaux est en toute sécurité entre les iframes, les onglets et les fenêtres. Il définit l'API PostMessage comme le moyen standard d'envoyer des messages. Il est très simple d'utiliser le postMessage pour envoyer des messages, le code est le suivant:
chatframe.contextwindow.posessage ('Hello, World', 'http: //www.example.com');
Lorsque vous recevez des messages, il vous suffit d'ajouter une fonction de gestion d'événements à la page. Lorsqu'un message arrive, il est déterminé de traiter le message en vérifiant la source du message.
Un événement de message est un événement DOM avec des données et des attributs d'origine. L'attribut de données est le message réel passé par l'expéditeur, tandis que l'attribut d'origine est la source d'envoi.
L'API postmessage est non seulement capable de communiquer entre les documents homologues, mais est également utile lorsque le navigateur n'autorise pas la communication non homologue. Compte tenu de sa cohérence et de sa facilité d'utilisation, le post-message est également recommandé lors de la communication entre les documents homologues. L'API PostMessage doit toujours être utilisée dans les communications dans des environnements JavaScript, comme lors de l'utilisation des communications de travailleurs Web HTML5.
1.1 Comprendre la sécurité de la sourceLe concept de Source d'introduction de gloire HTML5 (ORIGNE) a clarifié et amélioré la sécurité du domaine. La source est un sous-ensemble d'adresses utilisées pour établir des relations de confiance sur le réseau. La source se compose d'une règle, d'un hôte et d'un port.
Le concept de source ne considère pas les chemins.
HTML5 définit la sérialisation de la source. Les sources apparaissent sous forme de cordes dans les API et les protocoles.
Les règles de sécurité pour le postmessage garantissent que les messages ne sont pas livrés aux pages source inattendues. Lors de l'envoi d'un message, l'expéditeur définit la source du récepteur. Si la fenêtre envoyée pour appeler PostMessage n'a pas de source spécifique (par exemple, l'utilisateur saute sur un autre site), le navigateur n'enverra pas de messages.
De même, lors de la réception d'un message, la source de l'expéditeur est également utilisée dans le cadre du message. Pour éviter la contrefaçon, la source de message est fournie par le navigateur. Le récepteur peut décider quels messages traiter et quels messages ignorer. Nous pouvons garder une liste blanche qui indique au navigateur de traiter les messages uniquement à partir de sources de confiance.
Il est préférable de ne pas évaluer les chaînes de tiers. De plus, évitez d'utiliser la méthode EVAL pour traiter les chaînes internes de l'application. Vous pouvez utiliser JSON via Window.json ou JSON, .org Parser.
1.2 Prise en charge du navigateur pour la communication de messages inter-documentsUne pratique courante consiste à détecter si la propriété WithCredentials existe dans l'objet XMLHTTPRequest:
JavaScript Code Copier le contenu dans le presse-papiers