Bootstrap 模態框 + iframe > 打開子頁面 > 數據傳輸/關閉模態框
父頁面bootstrap模態框:
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" > <div class="modal-dialog modal-lg"> <div class="modal-content"> <iframe style="zoom: 0.8;" height="700px" src="" frameBorder="0" width="99.6%"></iframe> </div><!-- /.modal-content --> </div><!-- /.modal --> </div>
父頁面js代碼 :增加message監聽器
1 2 3 4 5 6 7 8 9 10 11 | function openModal(){ $('iframe').attr("src","http://localhost:8080/test/corsPage.html"); $('#myModal').modal({backdrop:false});//false:表示單擊模態框以外區域不關閉模態框 } window.addEventListener('message', receiveMessage, false); function receiveMessage(evt) { var taskData = $.parseJSON(evt.data); if(taskData.opt=="C"){ $("#myModal").modal("hide"); } } |
子頁面corsPage.html,跨域/單獨的頁面(iframe打開,跟父頁面無關),
如何關閉模態框/傳值給父頁面, JS代碼:
1 2 | var data_ = {"opt":"C"};//Close/Hide modal window.parent.postMessage(JSON.stringify(data_), '*'); |