【问题标题】:jquery load method after loading the window in IE在IE中加载窗口后的jquery加载方法
【发布时间】:2013-06-28 10:51:52
【问题描述】:

jQuery(window).load() 在 IE 中无法正常工作,尤其是在 IE 8 及更低版本中。我需要在完全加载窗口后调用一种方法。

但在 IE 中,窗口也会在执行 jQuery(window).load() 中给出的函数后显示。

.
.
.
.
</body>
<script language="javascript">
jQuery(window).load(function(){
    renderEditNView();
});
</script>
</html>

即使在加载方法中的警报也会在窗口加载之前显示。我将如何解决它?

【问题讨论】:

  • document.ready 不适合你?
  • 尝试使用$(document).ready 代替jQuery(window).load 看看是否有帮助
  • @Cherniv:这无济于事。它出现在页面加载之前。我检查了警报。
  • 使用的 jQuery 版本是什么?
  • 如果您尝试过 $(document).ready(function(){ /* code */}); 并且您可以从页面中的 /*code*/ 调用任何 dom 元素,那么它可以正常工作,但您可能对您的功能有不同的期望请注意,它不是在加载内容数据之后,而是在文档的元素,或者它自己的窗口,如果它显示在$(window).ready..

标签: jquery internet-explorer load


【解决方案1】:

试试这个我希望它也适用于你的浏览器

$(window)[0].onload = (function(){alert('done');});

javascript:

window.onload = (function(){alert('done');});

注意:即使您的代码也在 chrome 和 jQuery 1.9.1 上运行!

【讨论】:

    【解决方案2】:

    见文档http://api.jquery.com/load-event/

    一般情况下,无需等待所有图像完全加载。如果可以更早地执行代码,通常最好将其放在发送到 .ready() 方法的处理程序中。

    【讨论】:

      【解决方案3】:

      使用 $(function() 内的任何方法调用:

      <script type="text/javascript">
          $(function(){
             alert('Alert box after page Completely Ready');
             renderEditNView();
          });
      
          function renderEditNView(){
               alert('Render Edit and View after Page Competely ready');
          }
      </script>
      

      【讨论】:

        【解决方案4】:

        尝试将script 代码放在body 标记内(例如在末尾)。如果renderEditNView 正在更改 DOM,IE 可能会遇到一些问题......

        查看question了解更多信息

        【讨论】:

          【解决方案5】:

          我测试了所有提供的响应,但它们都不起作用,我试图在页面加载后使用 $("#element").outerHewight(); 获取 outerHeight,并且总是返回 0,因为我需要知道填充后的高度数据。我测试的是:

          <script type="text/javascript">
             // it is no working
             window.onload = (function(){alert($("#myelement").outerHeight());});
          
             // It is no workking
             $(window)[0].onload = (function(){alert($("#myelement").outerHeight());});
          
          </script>
          

          如果我没记错的话,$("#myelement").outerHeight(),应该在页面加载后返回一些值,为什么返回0?

          出于这个原因,我认为两个 pruposed 选项都不正确。

          我不能使用插件。

          我正在使用 Internet Explorer 8。(我无法更改导航器)

          我写这个问题是因为它与我们正在寻找的非常相似。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-01-22
            • 2018-06-12
            • 2011-04-11
            • 1970-01-01
            • 2014-02-02
            • 2012-05-17
            • 1970-01-01
            相关资源
            最近更新 更多