关于jQuery.noConflict与I.E.的问题浏览器

时间:2011-09-13 10:29:39

标签: internet-explorer browser jquery

我对I.E.的jQuery.noConflict有一个问题。浏览器版本7,版本8和版本9兼容性视图。

在其他浏览器中这个脚本在流程中工作但完全相反的浏览器执行脚本。我试过以下例子。你请检查我告诉我在I.E.的所有浏览器上运行我的脚本的解决方案。如果可能请分享想法。以下是我的计划:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {
 // Handler for .ready() called.
alert("First");
});
</script>
<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
<script type="text/javascript">
var $j = jQuery.noConflict();
    $j(document).ready(function () {
                    alert("Second");
    });
</script>

如上所示,当我在mozilla,chrome,safari或IE9中运行此脚本时,它会提示我First和Then Second。但是在IE7,IE8和IE9的紧凑视图中它会提示我第二个然后是第一个。 请帮我解决。

由于

2 个答案:

答案 0 :(得分:0)

您正在加载两个不同版本的jQuery;他们完全独立工作。 .ready()回调执行的顺序在它们之间是任意的。 (显然是可靠的,但是随意的。)你不能依赖它作为任何命令,而且它似乎在某些浏览器中工作今天并不意味着它明天会在那里工作。< / p>

最好的办法是让整个页面使用一个版本的jQuery。如果你不能,请尝试至少在一个版本的jQuery下获取所有ready()处理程序。

答案 1 :(得分:0)

问题已解决。我已将setTimeout方法用于Ready函数。