我需要一些幫助將模式從iFrame附加到它的父主體。我聽說過jQuery插件SimpleModal甚至嘗試過,但失敗了。打開從iFrame到父窗口的模態窗口
所以我有一個頁面與iFrame和裏面這個iFrame有一個按鈕,應該在父窗口中打開一個模式窗口。問題是我沒有權限將代碼放入父窗口。我只能訪問iFrame。
對於任何形式的幫助,我非常感謝!
我需要一些幫助將模式從iFrame附加到它的父主體。我聽說過jQuery插件SimpleModal甚至嘗試過,但失敗了。打開從iFrame到父窗口的模態窗口
所以我有一個頁面與iFrame和裏面這個iFrame有一個按鈕,應該在父窗口中打開一個模式窗口。問題是我沒有權限將代碼放入父窗口。我只能訪問iFrame。
對於任何形式的幫助,我非常感謝!
沒有任何示例代碼,它很難根據你的確切佈局顯示你,但我可以給你一個我如何實現這個目標的例子。請記住,每件事都必須在同一個領域,我會假設它是。
我必須爲我已經開發了一個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>
讓我與我的這種情況下的代碼解釋,
父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');
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();
}
如果您無權訪問父窗口(跨域iframe ???),則無法創建。如果可以的話,這將是一個主要的安全問題,我可以想象得到。這就是說,你可以將服務器端代入父窗口,但我確信這不是你正在尋找的 – 2014-10-28 16:29:09
@ A.Wolff *但*,如果他在同一個域上,就像我想象的那樣這樣的例子,他可以使用'window.frameElement'。如下所述,我不得不這樣做 – SpYk3HH 2014-10-28 17:03:33