我的应用在包装页面中的iframe内运行。加载包装页面时,iframe的源设置如下
<script type="text/javascript">
var frameSrc = 'myApp.jsp';
$(document).ready(function() {
loadFrame(frameSrc);
$("#iFrm").height($(window).height() - 175);
$(window).bind('resize', function(){
$("#iFrm").height($(window).height() - 175);
return false;
});
$("#adminLink").click(function(){
frameSrc = 'myAdmin.jsp';
loadFrame(frameSrc);
});
return false;
});
function loadFrame(src){
$("#iFrm").attr('src', src);
}
</script>
这加载并运行得很好,但是我在页面上有了管理链接,用于将不同的页面加载到iframe中,并且在document.ready函数中有一个事件处理程序。 / p>
我遇到的问题是myAdmin.jsp正在加载,然后包装页面中的原始document.ready脚本再次运行 - 完全使用原始frameSrc值。似乎通过更改iframe源,它会触发整个包装页面和原始iframe源的重新加载。有没有人见过这个?我错过了一些明显的东西吗?
答案 0 :(得分:1)
在解决各种可能的解决方案时,我得到了这个问题的答案。问题与 adminLink 有关。 href 值为空,似乎已指示浏览器重新加载当前页面(包装器)。当我在 href 中放入 javascript:return false; 时,我的问题已解决。
<a id="adminLink" href="">Administration</a>
VS
<a id="adminLink" href="javascript:return false;">Administration</a>