我遇到了一个奇怪的问题。我有一个 jsp ,它正在调用 iframe 。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 没有被加载。火虫也没有错误出现。