FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

JS - Window.onMessage

Règles du forum : Entraide concernant le webmastering (administration de sites). Pour se faire aider à choisir un hébergeur, le service le mieux adapté selon ses objectifs, se faire aider à la création d'un site (problèmes de programmation, d'organisation, résolution de bugs...).
Merci de lire et de respecter la charte générale du forum.

Répondre

Afin d’empêcher la création automatisée de comptes, nous vous demandons de réussir le défi ci-contre.
Smileys
:D :) :-) ;) :| :( :cry: :cheers: :hourra: :mv: :lol: :mdr: :bonjour: :hello: :jap: :siffle: :bisou: :P :o :x :roll: :good: :bad: :super: :reflexion: :suspect: :? :oops: :peur: :zen: :boude: :bug:

Revue du sujet : JS - Window.onMessage Étendre la vue

Re: JS - Window.onMessage

par Invité » sam. 6 juin 2015 14:17
Bonjour,

Beaucoup plus simple : regarder si l'iframe a un parent.
Pour ceux que ça intéresse, je vous mets le code :
Code : Tout sélectionner
window.onload = function() {
	var isInIFrame = (window.location != window.parent.location);
	if(isInIFrame==true){
		alert('oui');
	}
	else {
		alert('non');
	}
}

Merci quand même.

JS - Window.onMessage

par TsuShine » sam. 6 juin 2015 00:38
Bonjour,

J'ai un site structuré de cette façon : http://img15.hostingpics.net/pics/653001Sanstitre.png.
J'aimerais que l'utilisateur soit obliger d'aller sur le fichier index.php pour pourvoir voir le contenue du fichier accueil.php (qui se trouve dans l'iframe). Malheureusement, si l'utilisateur connait le nom du fichier "accueil.php", il pourra y accéder via l'URL sans passer par l'index.php

Donc j'ai réussi à faire communiquer mon index.php avec mon iframe en Javascript.
Index.php (Celui-ci envoie) :
Code : Tout sélectionner
document.getElementById("iframe").contentWindow.postMessage("test", "http://localhost");
Accueil .php (Celui-ci reçoit) :
Code : Tout sélectionner
window.onmessage = function(event) {
	if(event.origin !== "http://localhost") { return; }
	alert(event.data);
};
Si mon index.php envoie le message, mon iframe le reçoit et j'ai l'alert qui s'affiche. Donc je sais que l’utilisateur est bien passé par l'index.php pour voir l'iframe (jusqu’à la, normal).
Sauf j'aimerais que si l'utilisateur ne passe pas par index.php (donc aucun message reçu et donc aucune alert), l'iframe le sait quand même et redirige l'utilisateur sur index.php.

La function window.onmessage s'exécute n'importe quand donc je ne peux pas l'exécuter moi même.

Cordialement,

Hello everybody. Lately I have been very unlucky[…]

Having a coupon code is so convenient and helps a […]

Long-distance relationship

Hello everyone! Lately I have been thinking abou[…]

I appreciate you sharing this knowledge. I adore y[…]