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