Table des matières
1. Même restriction de domaine
2. méthode window.postMessage
Maison interface Web Tutoriel H5 Explication détaillée des nouvelles fonctionnalités de HTML5 : Transmission de messages entre documents

Explication détaillée des nouvelles fonctionnalités de HTML5 : Transmission de messages entre documents

Mar 30, 2017 am 11:55 AM

1. Même restriction de domaine

La soi-disant « même restriction de domaine » fait référence à Pour des raisons de sécurité, les navigateurs autorisent uniquement les scripts à communiquer avec des adresses du même protocole, du même nom de domaine et du même port.

2. méthode window.postMessage

Navigateur les restrictions sont différentes Communication entre les fenêtres (y compris les fenêtres iFrame), sauf si les deux fenêtres chargent des pages Web sous le même nom de domaine. La méthode window.postMessage est une API spécifique pour résoudre ce problème, qui peut autoriser des domaines différents. Les noms Windows communiquent entre eux. Le format de la méthode

postMessage est le suivant :

targetWindow.postMessage(message, targetURL[, transferObject]);
Copier après la connexion

La targetWindow dans le code ci-dessus est la variable pointant vers. la fenêtre cible, message est le message à envoyer, et targetURL C'est l'URL de la fenêtre cible spécifiée. Si elle ne correspond pas à l'URL, aucune information ne sera envoyée. TransferObject est l'objet Transferable. qui est envoyé avec les informations. On suppose qu'une nouvelle fenêtre apparaît sur la page Web actuelle

Écoutez ensuite le message

événement

sur la page Web actuelle. spécifie que la fonction de rappel
var popup = window.open(...popup details ...);
Copier après la connexion

de l'événement message est recevoirMessage. Lors de la réception d'informations provenant d'autres fenêtres, la fonction recevoirMessage sera appelée. La fonction recevoirMessage accepte un objet événement événement comme paramètre. dans le paramètre indique l'URL source de l'information. Si l'URL ne répond pas aux exigences, elle est renvoyée immédiatement. L'attribut event.data contient les informations réelles envoyées. En plus de l'origine et des données, l'objet événement a également. un attribut source, qui pointe vers l'objet window qui envoie les informations à la page Web actuelle. >Ensuite, utilisez la méthode postMessage pour envoyer les informations à la nouvelle fenêtre de la page Web actuelle

window.addEventListener('message', receiveMessage, false);
function receiveMessage(e) {    
if (e.origin != 'http://example.org') {        
return;
    }

    console.log(e.data);
}
Copier après la connexion
<.>Le premier paramètre de la méthode postMessage dans le code ci-dessus est l'information réelle envoyée, et le deuxième paramètre est celui spécifié. Le nom de domaine de l'objet expéditeur doit être http://example.org Si la fenêtre de l'autre partie. n'est pas ce nom de domaine, les informations ne seront pas envoyées.

Enfin, déployez le code suivant dans la fenêtre contextuelle Il y a plusieurs choses à noter dans le code ci-dessus. Premièrement, il n'y a pas de source. des informations filtrées dans la fonction recevoirMessage. Les informations envoyées depuis n'importe quelle URL seront traitées. Deuxièmement, l'URL de la fenêtre cible spécifiée dans la méthode postMessage est un astérisque, indiquant que ce message peut être envoyé à n'importe quelle URL. De manière générale, ces deux méthodes ne sont pas recommandées car elles ne sont pas suffisamment sûres et peuvent être filtrées par l'autre partie. Tous les navigateurs prennent en charge cette méthode, mais IE8 et IE9 autorisent uniquement la méthode postMessage à communiquer avec les fenêtres iFrame et non avec les nouvelles fenêtres. IE10 permet la communication avec de nouvelles fenêtres, mais uniquement en utilisant l'objet MessageChannel spécifique à IE

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bordure de tableau en HTML Bordure de tableau en HTML Sep 04, 2024 pm 04:49 PM

Guide de la bordure de tableau en HTML. Nous discutons ici de plusieurs façons de définir une bordure de tableau avec des exemples de bordure de tableau en HTML.

Tableau imbriqué en HTML Tableau imbriqué en HTML Sep 04, 2024 pm 04:49 PM

Ceci est un guide des tableaux imbriqués en HTML. Nous discutons ici de la façon de créer un tableau dans le tableau ainsi que des exemples respectifs.

Marge gauche HTML Marge gauche HTML Sep 04, 2024 pm 04:48 PM

Guide de la marge HTML gauche. Nous discutons ici d'un bref aperçu de la marge gauche HTML et de ses exemples ainsi que de son implémentation de code.

Disposition du tableau HTML Disposition du tableau HTML Sep 04, 2024 pm 04:54 PM

Guide de mise en page des tableaux HTML. Nous discutons ici des valeurs de la mise en page des tableaux HTML ainsi que des exemples et des résultats en détail.

Espace réservé d'entrée HTML Espace réservé d'entrée HTML Sep 04, 2024 pm 04:54 PM

Guide de l'espace réservé de saisie HTML. Nous discutons ici des exemples d'espace réservé d'entrée HTML ainsi que des codes et des sorties.

Déplacer du texte en HTML Déplacer du texte en HTML Sep 04, 2024 pm 04:45 PM

Guide pour déplacer du texte en HTML. Nous discutons ici d'une introduction, du fonctionnement des balises de sélection avec la syntaxe et des exemples à implémenter.

Liste ordonnée HTML Liste ordonnée HTML Sep 04, 2024 pm 04:43 PM

Guide de la liste ordonnée HTML. Ici, nous discutons également de l'introduction de la liste et des types HTML ordonnés ainsi que de leur exemple respectivement.

Bouton HTML onclick Bouton HTML onclick Sep 04, 2024 pm 04:49 PM

Guide du bouton HTML onclick. Nous discutons ici de leur introduction, de leur fonctionnement, des exemples et de l'événement onclick dans divers événements respectivement.

See all articles