加载iframe.src运行JSP中的所有javascript

时间:2014-11-05 19:05:41

标签: javascript-events

我的应用在包装页面中的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源的重新加载。有没有人见过这个?我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:1)

在解决各种可能的解决方案时,我得到了这个问题的答案。问题与 adminLink 有关。 href 值为空,似乎已指示浏览器重新加载当前页面(包装器)。当我在 href 中放入 javascript:return false; 时,我的问题已解决。

<a id="adminLink" href="">Administration</a>

VS

<a id="adminLink" href="javascript:return false;">Administration</a>