Détecter la non présence d’une frame et faire une redirection

J’étrenne une nouvelle rubrique, mon aide mémoire en ligne.

Que voulez-vous, je me fais vieux, alors cette rubrique sera mon aide mémoire en ligne, un blog, ça sert à tout.

Donc aujourd’hui, un petit script tout bête dont j’avais besoin pour un projet client. Certaines pages de son site n’apparaissent que via des liens thickbox et il faut absolument qu’elles soient inaccessibles en direct autrement, enfin si, mais pas par l’utilisateur final.

La solution la plus simple était donc de détecter si la page n’est pas afichée dans une frame (ou iframe) et dans ce cas, de rediriger le visiteur automatiquement vers la page « parent ».

Voici le script :

<script type= »text/javascript »>
if (top.frames.length==’0′)
{
window.location.replace(« url-de-redirection »);

}
</script>

Parce que figurez vous que si ce script était très utilisé à l’époque de l’usage massif des frames, maintenant, c’est plus chaud à trouver quand on n’est pas un pro du javascript.

Cordialement,
Aymeric Jacquet

Tags :

Be Sociable, Share!

13 Commentaires pour Détecter la non présence d’une frame et faire une redirection

  • Delphine Dumont

    Les cadres, c’est le mal. Niveau accessibilité, imposer cadre + JS à un visiteur, tu ne trouves pas que c’est beaucoup ?

    Et je rejoins Arnaud, le permalien, pour bookmarquer ou pour faire tourner, on n’a pas trouvé mieux. :)

    Le 29 octobre 2008 à 17 h 30 min

  • Delphine Dumont

    Ronchon, tu fais un aide-mémoire pour toi, c’est bien. Mais ton script va être trouvé et utilisé par des gens qui ne comprendront peut-être pas la nuisance qu’ils imposent à leurs visiteurs. Il était de notre devoir de combattre de faire régner la lumière. La Vérité devait se faire jour.

    Tu es un homme trop intelligent pour ne pas comprendre cela. :)

    Le 29 octobre 2008 à 18 h 09 min

  • ça pas bien !
    Je connais un site qui fait ça et impossible de mettre les pages dans les favoris sans désactiver le javascript. C’est très désagréable.

    :)

    Le 29 octobre 2008 à 17 h 20 min

  • Mais le mal est parfois nécessaire a l’équilibre des forces de ce monde…

    Le 29 octobre 2008 à 17 h 50 min

  • Sérieusement, vous lisez parfois les articles ?
    J’en ai besoin pour un cas particulier, uniquement et pour des pages qui n’ont pas vocation à être bookmarkées.

    Et voilà, la révolte des commentateurs.

    Le 29 octobre 2008 à 17 h 51 min

  • Sur un blog rouge on ne peut que se révolter.

    Le 29 octobre 2008 à 18 h 11 min

  • Delphine Dumont

    Sympa, Posteet, je ne connaissais pas. On retrouve facilement ses petits ?

    Le 29 octobre 2008 à 20 h 39 min

  • Mais non, il est rose, c’est le blog des bisounours :D

    Moi, pour me souvenir de bouts de code de ce genre, j’utilise posteet.com, très pratique.

    Le 29 octobre 2008 à 19 h 46 min

  • Excellents les commentaires ;-)

    Je suis un peu stupide, mais pouvez-vous m’expliquer comment un tel script peut empêcher la création d’un bookmark ?

    Bon à ma décharge, bien qu’internaute depuis fort longtemps (octobre 1996 tiens, ça fait 12 ans ce mois-ci) je n’ai jamais utilisé de systèmes de bookmarks en ligne… C’est peut-être à cela que vous faites allusion !

    Pour le reste, j’ai étudié ce petit bout de script de mon côté pour éviter… le vol d’images depuis Google Images ! Pas encore mis en place car il faut que je détecte s’il y a « déframage » pour virer lors du second affichage les marqueurs de trafic (Xiti, Analytics…) histoire de ne pas fausser les stats ;-)

    Rien de plus pénible que de voir ses photos pompées joyeusement depuis Google Images !

    Le 29 octobre 2008 à 20 h 59 min

  • arnaud : il n’est pas rouge ce site, il est vieux rose. Rahlalalala ces boursicoteurs.

    JulienA : tu as de la chance, je ne suis pas là demain matin.

    Cédric : en fait, comme c’est à la base un script fait pour replacer une page normalement visible dans une frame justement dans ça frame, la redirection se fait automatiquement au chargement de la page, donc le temps que tu veuille bookmarquer, hop tu es rendu sur la page de Frame, et non plus sur la page exact que tu voulais bookmarquer.

    Le 29 octobre 2008 à 21 h 10 min

  • Ah oui pardon, j’avais compris l’inverse (j’avoue que je n’avais pas trop regardé le code) ;-)

    Et du coup je comprends beaucoup mieux certains commentaires !

    Le 30 octobre 2008 à 8 h 26 min

  • Oui Delphine, on retrouve facilement ses petits, il suffit de se connecter et de n’afficher que ses propres posteets.

    Le 30 octobre 2008 à 13 h 17 min

  • Oh un troll ! Anonyme forcément.

    Je connais une super histoire : Zap le troll, et le troll ne fut plus

    Zap le troll 2 le retour

    Le 3 novembre 2008 à 16 h 36 min