我需要一些帮助,将iFrame中的模态添加到它的父体。我已经听说过jQuery插件SimpleModal,甚至尝试过,但都失败了。
所以我有一个带有iFrame的页面,在这个iFrame中有一个按钮,可以在父窗口中打开一个模态窗口。问题是我没有权限将代码放入父窗口。我只能访问iFrame。
对于任何形式的帮助,我都非常感谢!
答案 0 :(得分:3)
没有任何示例代码,根据您的确切布局很难向您展示,但我可以举例说明我是如何实现这一目标的。请记住,一切都必须在同一个域上,我认为它是。
我必须为我开发的CRM做到这一点,这是我如何做到的一个例子:
<body>
<div id="myModal">stuff</div>
<script>
$(function() {
$('#myModal').someDialogPlug({ some: options });
})
</script>
<button id="btnPopModal">click me</button>
<script>
$(function() {
$('#btnPopModal').on('click', function(e) {
// here's the fun part, pay attention!
var $body = $(window.frameElement).parents('body'),
dlg = $body.find('#myModal');
dlg.someDialogPlugin('open');
});
})
</script>
答案 1 :(得分:2)
让我用我的代码解释这个场景,
父HTML
<div id="CatModal" class="modal fade" role="dialog">
<div class="modal-dialog ">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-body">
</div>
</div>
</div>
iframe HTML
<button id="btnPopModal">click me</button>
iframe JS
window.parent.$('#CatModal').modal('show');
通过
更改modal-body
的内容
window.parent.$('.modal-body').html('content stuff');
{{3}}
答案 2 :(得分:0)
window.parent.show_messageNew(标题,内容);
function show_messageNew(title, content)
{
$('#myModal_Title').html(title);
$('#myModal_Content').html(content);
$('#myModal_Message').modal().css(
{
'margin-top': function () {
//var offss = $(this).height() - window.parent.scrollY;
var offss = window.parent.scrollY;
console.log(offss);
return offss;
}
});
//debugger;
$('#myModal_Message', window.parent).modal();
}