【问题标题】:$(document).ready only firing once in IE but works in Firefox$(document).ready 只在 IE 中触发一次,但在 Firefox 中有效
【发布时间】:2013-02-16 22:29:22
【问题描述】:

这让我发疯。除了 IE -aaargh 之外,这只是另一个在所有方面都可以正常工作的问题。无论如何,我有一些脚本应该在每次加载页面时运行。在 Firefox 中运行良好,但在 IE 中它只在我第一次进入页面时执行。如果我离开页面然后返回,它将不会执行。

<script type="text/javascript">
$(document).ready(function () {
    jQuery.ajaxSetup({ async: false });
    var leftHeight = $('#Interface_Content').height();
    $('#Interface_Nav').css({ 'height': leftHeight });

    //This line calls the Controller and populates the corresponding MEssageDesc Drop down
    $.get('@Url.Action("GetCompanyName","Company")', {}, function (data) {
        $('#Interface_Header_CONAME').replaceWith(data);
    });


    $.get('@Url.Action("GetLoginStatus", "Company")', {}, function (data) {
        if (data == 'True') {
            $('#Nav_Links').show();
        }
        else {
            $('#Nav_Links').hide();
        }
    });

});
</script>

【问题讨论】:

  • 您能否更具体地说明“如果我离开页面然后返回它不会执行” - 再次打开页面/F5?离开并按下返回按钮?以及哪个版本的 IE?
  • 你在这里使用的是哪个版本的jQuery?
  • 刷新页面 F5 或离开页面并返回都不会触发它。 EI9 1.4.4 jQuery

标签: javascript jquery model-view-controller


【解决方案1】:

如果没有强制使用 JQuery-1.4.4,我建议你至少用 JQuery-1.8.2 替换它。使用 JQuery 1.8.2,我编写了一个示例应用程序并在 IE 8,9 上运行它,它运行良好。

P.S - 在您开始下载最新的 JQuery 1.9 之前,请注意他们已经进行了很多重大更改,例如将 $.browser 替换为功能检测等,如果您使用它可能会产生问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多