Jquery div来自iframe内的文件加载

时间:2017-04-16 18:42:13

标签: javascript jquery iframe

我有一个div,里面有一个iframeiframe从一个URL加载一个文件,在这个文件中我显示了一些内容。我的问题是;是否可以从iframe本身的文件中关闭div。

<div id="container">
    <iframe src="mydomain.com/index.php"></iframe>
</div>

我知道最简单的方法是使用jQuery关闭div,但由于某种原因我需要关闭iframe内的文件加载,因为当会话在iframe重定向内部结束时需要关闭名为.container的div。

我的问题是,是否可以从mydomain.com/index.php插入一些代码来关闭或隐藏名为.container的div。

2 个答案:

答案 0 :(得分:1)

由于它们位于同一个域中,因此您可以使用tinymce.init({ ... plugins: [ ... 'advlist', ...], ... });

访问父窗口

然后执行以下操作:

window.parent

DEMO

答案 1 :(得分:0)

您可以使用window.postMessage在子(iframe)和父窗口之间进行通信。

在iframe中,您可以使用以下功能;

function closeDivOfParent() {
    parent.postMessage("close-div","*");
}

在父页面中,您可以收听这些消息;

// Create IE + others compatible event handler
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

// Listen to message from child window
eventer(messageEvent, function(e) {

    var key = e.message ? "message" : "data";
    var message = e[key];

    if(message === "close-div") {
        $('div').hide();
    }

}, false);

代码和解释的道具; https://davidwalsh.name/window-iframe