有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何关闭外部iframe src

如何通过单击事件关闭带iframe的am iframe src? 假设我有一个父html

<body>
<script>
document.write("<iframe src='default.html' id="myFrame" width='100%'></iframe>");


function closeIframe(){
   $('#myFrame').remove();
}
</script>
</body>

我有一个iframe默认值。带代码的html:

<input type="checkbox" name="iframe" value="" onchange="parent.closeIframe()">

我希望能够在单击复选框时关闭iframe。以上代码不适用于我。我需要帮助


共 (1) 个答案

  1. # 1 楼答案

    这需要外部和内部站点之间的协作+两个站点上的一段Javascript

    在外部,要求侦听器对发布的消息作出反应:

    window.addEventListener('message', function(event) {
    
      if (event.origin !== 'https://inner.example.com') return;
      if (typeof event.data != 'string') return;
      
      // do your stuff...
      if (message == 'hello_world') {
        // react on the message
      }
    });
    

    “URL”https://inner.example.com“是指iframe内的站点。 从那里,一个命令发布到外部站点,如下所示。对消息来源的检查是拒绝来自其他(未知)站点的消息

    parent.postMessage('hello_world', 'https://outer.example.com');
    

    “URL”https://outer.example.com“指包含iframe的站点

    消息可以是任意的,但是在本例中,只接受字符串。字符串的内容可以是任何内容

    您应该注意,如果外部和内部来自不同的域,浏览器可能会阻止此消息发送(安全策略)