복붙노트

[JQUERY] 다른 iFrame을에서 iframe이 내용을 삭제하는 방법

JQUERY

다른 iFrame을에서 iframe이 내용을 삭제하는 방법

해결법


  1. 1.채널 메시징을 사용해보십시오

    채널 메시징을 사용해보십시오

    wrapperPage.html

    <body>
    <div class=non-floater>
        <iframe class="header" src="header.html"></iframe>
        <iframe class="pageBody" src="pageBody.html" /> 
    </div>
    <script>
      var channel = new MessageChannel();
      var header = $(".header")[0].contentWindow;
      var pageBody = $(".pageBody")[0].contentWindow;
      header.onload = function() {
        this.postMessage("","*", [channel.port2])
      };
    
      channel.port1.onmessage = function(e) {
        if (e.data === "clicked") {
          $(pageBody.document.body).html("")
        }
      }
    </script>
    </body>
    

    HEADER.html 현재

    <body>
    <a class="clearLink" href="#">Navigation Button</a>
    <script>
      var port;
    
      onmessage = function(e) {
        port = e.ports[0];
      }
    
      $(".clearLink").on("click", function(e) {
          port.postMessage("clicked");
      });
    </script>
    </body>
    

  2. 2.당신은 다음과 같은 iFrame에에서 메인 윈도우의 참조를 얻을 수 있습니다 : Window.Parent 참조

    당신은 다음과 같은 iFrame에에서 메인 윈도우의 참조를 얻을 수 있습니다 : Window.Parent 참조

    그런 다음 트리거하거나 관리 할 수있는 메인 창에서 함수를 (또는 단지 다른 iframe에) 잡을 수있는 이벤트를 할당 할 수 있습니다.

    예를 들면 :

    나는 당신을 도울 희망.

  3. from https://stackoverflow.com/questions/33645685/how-to-clear-the-contents-of-an-iframe-from-another-iframe by cc-by-sa and MIT license