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

Entraide concernant le webmastering (administration de sites).
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.
  • Avatar du membre
  • Avatar du membre
Avatar du membre
par TsuShine
#164519
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,
Modifié en dernier par TsuShine le sam. 6 juin 2015 14:20, modifié 1 fois.
Avatar du membre
par Invité
#164541
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.

Elevate your online presence with our expert wiki […]

Message d'erreur

Bonjour, Je viens de reconditionner un PC portable[…]

C'est formidable que l'édition gratuite de […]

La pharmacie en ligne Panda.Healthcare semble simp[…]