web-dev-qa-db-fra.com

Vérifier si la page est intégrée

J'essaie de faire en sorte que les vérifications si la page est intégrée à iFrame, mais toutes les méthodes que je connais ne fonctionneront pas. J'incorpore la page du produit unique Woocommerce sur un modèle personnalisé dans lequel seuls les scripts et les styles nécessaires sont chargés (le modèle est chargé en fonction de la requête de chaîne).

Le problème est que, je souhaite modifier le message "ajouter au panier" uniquement lorsque la chaîne de requête définie existe. if(isset($_GET['embed_act'])) {} ne fonctionne pas et get_permalink() renvoie une chaîne vide.

Est-ce que quelqu'un sait comment vérifier l'existence d'une chaîne de requête ou au moins si la page est chargée dans iframe?

1
Rafal

Le serveur ne sait pas ce que le client fait avec la sortie et, en tant que tel, vos possibilités sont limitées. Vous pouvez ou non avoir des paramètres envoyés dans la requête, référant, uri actuel et en-têtes.

  • $_REQUEST['embed_act']
  • $_SERVER['HTTP_REFERER']
  • $_SERVER['REQUEST_URI']
  • get_headers()

Du côté JS, cela pourrait être possible .

if(self==top)
{
    //...
}

if( parent==top )
{
    //...
}
2
jgraup