从iframe打开模态窗口到父级

时间:2012-04-23 16:26:08

标签: jquery html iframe

我有一个带iframe的页面,在这个iframe中有一些链接应该在父窗口中打开一个模态窗口。问题是我没有权限将代码放入父窗口。我只能访问这个iframe。有没有办法可以用jquery做这种限制?

谢谢!

2 个答案:

答案 0 :(得分:6)

您可以使用JQuery插件SimpleModal

有一个叫做“appendTo”的选项,你可以告诉你把你的模态放在哪里。这种方法的唯一问题是模态的叠加层显示iframe的大小,因此您必须在打开它后给它所需的宽度和高度。

$('#div-modal').modal({
    appendTo: $(window.parent.document).find('body'),
    overlayCss: {backgroundColor:"#333"}, // Optional overlay style
    overlayClose:true, 
});
// Set overlay's width
$(window.parent.document).find('#simplemodal-overlay').css('width', '100%');

如果要作为模式打开的div位于父窗口中,则可以将$('#div-modal')替换为$(window.parent.document).find('#div-modal')

答案 1 :(得分:0)

花1天时间从iframe文档中打开模式窗口 首先,我做过一种情况:

parent.$("#you_modal_window_selector").css("visibility", "visible");

!!!关键字changin的问题是PARENT。 (以小写字母表示)

第二,我用脚本更改了iframe包含的文档中的所有按钮:

<script> 
 $(function() {
        $(".open-modal").on("click", function (e) {
            var $this = $(this),
            $href = $this.attr("href");
            e.preventDefault();
            parent.$($href).css("visibility", "visible");
            parent.$(".modal-window-dark").css("visibility", "visible");
        });
    });
</script>