Question

Sur mon ordinateur, j'utilise un bloc publicitaire personnalisé basé sur la redirection HOSTS (pour pouvoir utiliser adblock dans Chrome). J'exécute IIS sur ma machine. J'ai donc une erreur 404 vierge personnalisée qui s'affiche lorsqu'une annonce iframe est affichée sur une page.

J'ai modifié mon erreur 404 pour qu'elle hérite de la couleur d'arrière-plan de sa couleur d'origine, de sorte que l'annonce ne semble pas désagréable sur les sites dont l'arrière-plan n'est pas blanc. Mon prochain défi consiste à utiliser ma page 404 pour réduire complètement le <iframe /> afin qu'il ne s'affiche pas du tout sur la page.

Est-il possible de modifier la balise <=> contenant à partir de l'iframe? Je veux juste changer la hauteur & Amp; attributs de largeur si cela est possible. Si oui, comment pourrais-je m'y prendre?

Était-ce utile?

La solution

Ne devrait pas être possible, car les sites au sein d'iframes peuvent être des sites externes. Leur permettre de manipuler l'environnement dans lequel ils sont affichés constituerait un risque pour la sécurité du navigateur.

Vous feriez mieux d'utiliser un proxy adblocking.

Autres conseils

Si je vous ai bien compris, vous dites que vous voulez que votre page 404 déclenche un effondrement de l'iframe lorsqu'il est chargé à l'intérieur. Pour ce faire, la méthode la plus simple consiste à créer une fonction dans la page parent, puis à l'appeler à partir de la 404 lors du chargement.

Par exemple, si votre iframe a l'identifiant & "; advertFrame &"; vous pouvez ajouter la fonction javascript suivante à la page parent:

function hideAdvertFrame() {
  var advertFrame = document.getElementById("advertFrame");
  advertFrame.style.height = 0;
  advertFrame.style.width = 0;
}

Ensuite, dans la page 404, vous pouvez appeler la fonction immédiatement après le chargement:

<body onload="window.parent.hideAdvertFrame();">

Cela dit, je pense que vous voudrez peut-être envisager d’autres options que le scripting entre images qui sont moins sujettes aux failles de sécurité. Peut-être que votre page parent peut utiliser AJAX pour vérifier si le bloc publicitaire aura une URL valide avant son chargement, puis l'ajouter de manière dynamique à la page une fois que vous êtes certain.

La page qui remplit l'iframe ne peut rien modifier à propos de la page contenant l'iframe. Si cela était possible, le risque serait énorme pour la sécurité. Pour être sûr, j'ai essayé ce que vous demandez en utilisant les deux domaines qui me sont donnés à l'école. En termes simples, cela n'a pas fonctionné; J'ai une erreur d'autorisation refusée dans Firebug.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top