Remove iframe with javascript

前端 未结 4 798
逝去的感伤
逝去的感伤 2020-12-17 14:48

I am trying to remove iFrame tags in my documents. This is the function. But it don\'t seem to work. Here is my sample code



        
相关标签:
4条回答
  • 2020-12-17 15:25

    Pure Javascript code:

    document.querySelectorAll('iframe').forEach(
      function(elem){
        elem.parentNode.removeChild(elem);
    });
    
    0 讨论(0)
  • 2020-12-17 15:36

    You didn't mention why you need to remove iframes in the document.

    I do it in order to prevent Clickjacking attack. But it will work in any cases.

    You need this:

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

    and then

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

    You can find more information here:

    • https://www.owasp.org/index.php/Clickjacking
    • http://en.wikipedia.org/wiki/Clickjacking
    0 讨论(0)
  • 2020-12-17 15:41

    Here's a script you can run that will remove all the iframes from your document. Here's an example of this working: http://jsfiddle.net/5hh9H/

    var iframes = document.querySelectorAll('iframe');
    for (var i = 0; i < iframes.length; i++) {
        iframes[i].parentNode.removeChild(iframes[i]);
    }
    
    0 讨论(0)
  • 2020-12-17 15:44

    You should put the iframe inside of a div element.

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

    Then use jQuery to remove the iframe.

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

    This is a possible solution.

    0 讨论(0)
提交回复
热议问题