奇妙な問題に遭遇しました。iframe を呼び出している jsp があります。iframe には Java からのデータがロードされます。
iframe をレンダリングするために、カスタマイズされ た control-modal.jsを使用しています。
今、私の iframe は次のように li タグの後にコード化されています:
<li>
<a id="modalLink" href="#myModal">Set up my Modal</a>
</li>
<div id="myModal" >
<div class="modalsubcol">
<p class="close"><a href="#"><img src="/.../close-button.gif" alt="Close"/></a></p>
<iframe id="modal-frame"style="display:none;" height="430"
width="675" src="<%= getTheModal()%>"></iframe>
</div>
</div>
そして、私は次のように私のjspのヘッド部分でモーダルを呼び出します:
<script type="text/javascript">
window.onload=function modalOverride(){
var myModal;
$('modal-frame').style.display ='block';
myModal = new Control.Modal($('modalLink'), {
afterOpen : function(){$$('.close a').invoke('observe','click',function(e){Control.Modal.close(); Event.stop(e);});},
opacity: 0.3,
width: 675,
fade: true,
fadeDuration: 0.1,
autoOpenIfLinked: false
});
}
</script>
リンク :私のモーダルの設定は、多くのリンクを含むページの一部です。そのページを表示すると、モーダルからデータをレンダリングする Java クラスも呼び出されます。ただし、これは、[モーダルのセットアップ]リンクをクリックした場合にのみ発生する必要があります。
誰かが私に言う前に、この問題は原因ではありません
window.onload
そうしないと、前述のリンクをクリックしてもモーダルが読み込まれません。window.onloadイベントも削除してみました。私がそれを行うと、Javaクラスはまだロードされ、iframeはロードされません。火災バグでもエラーは発生しません。