2014-10-28 122 views
0

我需要一些幫助將模式從iFrame附加到它的父主體。我聽說過jQuery插件SimpleModal甚至嘗試過,但失敗了。打開從iFrame到父窗口的模態窗口

所以我有一個頁面與iFrame和裏面這個iFrame有一個按鈕,應該在父窗口中打開一個模式窗口。問題是我沒有權限將代碼放入父窗口。我只能訪問iFrame。

對於任何形式的幫助,我非常感謝!

+0

如果您無權訪問父窗口(跨域iframe ???),則無法創建。如果可以的話,這將是一個主要的安全問題,我可以想象得到。這就是說,你可以將服務器端代入父窗口,但我確信這不是你正在尋找的 – 2014-10-28 16:29:09

+0

@ A.Wolff *但*,如果他在同一個域上,就像我想象的那樣這樣的例子,他可以使用'window.frameElement'。如下所述,我不得不這樣做 – SpYk3HH 2014-10-28 17:03:33

回答

2

沒有任何示例代碼,它很難根據你的確切佈局顯示你,但我可以給你一個我如何實現這個目標的例子。請記住,每件事都必須在同一個領域,我會假設它是。

我必須爲我已經開發了一個CRM做到這一點,這裏有一個如何我做到了一個例子:

父HTML

<body> 
    <div id="myModal">stuff</div> 

父JS

<script> 
    $(function() { 
     $('#myModal').someDialogPlug({ some: options }); 
    }) 
</script> 

的iFrame HTML

<button id="btnPopModal">click me</button> 

iFrame的JS

<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> 
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'); 

Issue Discussion in GitHub

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(); 

} 
相關問題