Supprimer iframe avec javascript

J'essaie de supprimer les tags iFrame dans mes documents. C'est la fonction. Mais cela ne semble pas fonctionner. Voici mon exemple de code

<script> function removeiframe() { alert("Hello Lovely World"); var markup = document.body.innerHTML; var filtered=markup.replace(/(<iframe.*?>.*?<\/iframe>)/g,""); alert("he: " + markup); //markup = Regex.Replace(markup, @"<script.*?/script>", "", RegexOptions.IgnoreCase); //markup = Regex.Replace(markup, @"<iframe.*?/iframe>", "", RegexOptions.IgnoreCase); markup = filtered; document.body.innerHTML = markup + "<hr><hr>HELLO"; } </script> <body onload="removeiframe()"> <iframe marginheight="0" src="http://www.metalgearrisingguide.com" marginwidth="0" frameborder="0" height="180" scrolling="no" width="210"></iframe><br> </body> 

Voici un script que vous pouvez exécuter qui supprime tous les iframes de votre document. Voici un exemple de ce travail: http://jsfiddle.net/5hh9H/

 var iframes = document.querySelectorAll('iframe'); for (var i = 0; i < iframes.length; i++) { iframes[i].parentNode.removeChild(iframes[i]); } 

Vous n'avez pas mentionné pourquoi vous devez supprimer des iframes dans le document.

Je le fais pour éviter l'attaque de Clickjacking. Mais cela fonctionnera dans tous les cas.

Tu en as besoin:

 <style id="defendClickjack" type="text/css">body{display:none;}</style> 

et alors

 <script type="text/javascript"> if (self === top) { var defendClickjack = document.getElementById("defendClickjack"); antiClickjack.parentNode.removeChild(defendClickjack); } else { top.location = self.location; } </script> 

Vous pouvez trouver plus d'informations ici:

Vous devriez mettre l'iframe à l'intérieur d'un élément div.

 <div id="kk"> //your iframe </div> 

Ensuite, utilisez jQuery pour supprimer l'iframe.

 $('#kk').click(function(){ $(this).html(""); }); 

C'est une solution possible.