我想删除我的文档iframe代码。 这是函数。 但它似乎并不管用。 下面是我的示例代码
<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>
这里是你可以运行从文档中删除所有的I帧的脚本。 下面是这个工作的一个例子: http://jsfiddle.net/5hh9H/
var iframes = document.querySelectorAll('iframe');
for (var i = 0; i < iframes.length; i++) {
iframes[i].parentNode.removeChild(iframes[i]);
}
你没有提到为什么你需要删除的文件iframe中。
我这样做是为了防止点击劫持攻击。 但它会在任何情况下工作。
你需要这个:
<style id="defendClickjack" type="text/css">body{display:none;}</style>
然后
<script type="text/javascript">
if (self === top) {
var defendClickjack = document.getElementById("defendClickjack");
antiClickjack.parentNode.removeChild(defendClickjack);
}
else {
top.location = self.location;
}
</script>
您可以在这里找到更多信息:
- https://www.owasp.org/index.php/Clickjacking
- http://en.wikipedia.org/wiki/Clickjacking
纯JavaScript代码:
document.querySelectorAll('iframe').forEach(
function(elem){
elem.parentNode.removeChild(elem);
});
你应该把iframe的div元素里面。
<div id="kk">
//your iframe
</div>
然后使用jQuery删除iframe中。
$('#kk').click(function(){
$(this).html("");
});
这是一个可能的解决方案。