Savoir si on est en iframe

Patzer -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   - 25 nov. 2015 à 14:10
Bonjour,

J'ai un site qui peut être affiché entièrement sur un navigateur ou intégrer dans un autre site sous la forme iframe.

Afin d'avoir un affichage plus simple quand on est en iframe (suppression d'un menu, simplification de l'entête, etc...) j'aurais besoin de déterminer en php si je sui en iframe ou pas. Est-ce possible et si oui comment ?

Merci pour vos réponses
A voir également:

2 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
Salut,

Grâce à $_SERVER['HTTP_REFERER'] : http://php.net/manual/fr/reserved.variables.server.php

A+

Zep3k!GnO
On est des rangers mec, des rangers...
0
Patzer
 
Merci. Mais ça je l'avais essayé avant même de poster ma question ici et ça ne marche pas parce que ça contient l'adresse de la page qui a ouvert la page courante. Donc ça contient la page contenant l'iframe quand on charge l'iframe pour la première fois mais si ensuite on change de page dans l'iframe ça contient la page précédemment affichée dans l'iframe.
J'ai également essayé en utilisant un cookie pour stocker l'information comme quoi on est en iframe la première fois qu'on charge l'iframe mais là encore ça part en sucette si on ouvre la page entière dans un autre onglet par exemple. Là ça s'affiche comme si c'était en iframe alors qu'on ne l'est pas :(
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
Salut,

Une solution possible :
function inIframe () {
    try {
        return window.self !== window.top;
    } catch (e) {
        return true;
    }
}


Source : https://stackoverflow.com/questions/326069/how-to-identify-if-a-webpage-is-being-loaded-inside-an-iframe-or-directly-into-t

Bonne journée
0