J'essaie de supprimer les balises iFrame de 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 et qui supprimera 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 indiqué pourquoi vous devez supprimer les iframes dans le document.
Je le fais pour éviter les attaques 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:
Code Javascript pur:
document.querySelectorAll('iframe').forEach(
function(elem){
elem.parentNode.removeChild(elem);
});
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.