Webmaster Hub: Faire sauter les frames à l'affichage... - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Faire sauter les frames à l'affichage... ... sauf les siennes

#1 L'utilisateur est hors-ligne   Remi 

  • Groupe : Membre+
  • Messages : 931
  • Inscrit(e) : 28-juin 04
  • Genre:Homme
  • Société:Studio Amarante

Posté 19 février 2010 - 12:34

Bonjour,

Pour éviter qu'un site affiche notre site dans une de ses frames, le code classique est
if(top!= self) top.location.href = self.location.href;


Je cherchais à n'autoriser les frames que lorsqu'il s'agit de son propre domaine (sinon l'interface d'aministration de Wordpress par exemple devient inutilisable à cause de la preview affichée dans une frame).

Le problème est que l'on ne peut faire aucun test sur top.location.href (permission refusée en lecture) pour savoir quel est le nom du site sur le top.
Voilà donc ce que j'ai mis en place :

window.onerror=function(){top.location.href = self.location.href;}
if(top!= self && top.location.href.substring(7,26)!="www.mondomaine.com/") top.location.href = self.location.href;
window.onerror=function(){}


Je trouve cela moyen...
Auriez-vous trouvé quelque chose de plus élégant ?
Un lieu magique près d'Aix-en-Provence Château Grand Boise : location de prestige, domaine viticole, face à la Montagne Sainte Victoire. Et un beau site de Calvados et cidre...
0

#2 L'utilisateur est hors-ligne   Dudu 

  • Groupe : Admin
  • Messages : 3 797
  • Inscrit(e) : 09-avril 05

Posté 20 février 2010 - 07:53

Salut
top.location.href.substring(7,26)!="www.mondomaine.com/")
Pourquoi pas top.location.host ou top.location.hostname ?
0

#3 L'utilisateur est hors-ligne   Remi 

  • Groupe : Membre+
  • Messages : 931
  • Inscrit(e) : 28-juin 04
  • Genre:Homme
  • Société:Studio Amarante

Posté 20 février 2010 - 15:02

Merci pour ta réponse, mais c'est pareil avec host/hostname qu'avec href : "permission refusée".

En fait, le problème revient à :
Comment, en JS, connaitre le domaine de la frame Top ?

Ma solution ne me plaît pas trop à cause du substring (7,...) pour faire sauter le "http://" (s'il y a un navigateur qui renvoie la variable sans le http, ça va boucler...) mais je peux facilement résoudre cela avec un test supplémentaire ou une regex

Mais surtout, le "window.error=... " marche sous IE/FF mais (apparemment) pas sous Chrome ni sous Opera...
Un lieu magique près d'Aix-en-Provence Château Grand Boise : location de prestige, domaine viticole, face à la Montagne Sainte Victoire. Et un beau site de Calvados et cidre...
0

#4 L'utilisateur est hors-ligne   dotweb 

  • Groupe : Membre
  • Messages : 3
  • Inscrit(e) : 28-janvier 10

Posté 23 février 2010 - 14:49

Hello !

Tu devrais pouvoir faire ce que tu veux avec cela, sauf en cas de mauvaise compréhension ton problème.

<script type="text/javascript">
				
	if(top.document.location.host != document.location.host)
		top.document.location.href=document.location.href;
			
</script>


a+

Ce message a été modifié par dotweb - 23 février 2010 - 14:50.

0

#5 L'utilisateur est hors-ligne   Remi 

  • Groupe : Membre+
  • Messages : 931
  • Inscrit(e) : 28-juin 04
  • Genre:Homme
  • Société:Studio Amarante

Posté 23 février 2010 - 15:21

Merci,
mais mon problème est de faire sauter les frames *sauf* quand il s'agit de mon propre domaine (pb : le panel d'administration d'un blog Wordpress utilise des frames)...
... et top.document.location.host n'est pas, lui non plus, accessible en lecture... :blush:
Un lieu magique près d'Aix-en-Provence Château Grand Boise : location de prestige, domaine viticole, face à la Montagne Sainte Victoire. Et un beau site de Calvados et cidre...
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)