1

我必须使用代码在页面中包含 jQuery:

if (typeof window.jQuery === "undefined") {
    document.write('<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"><\/script>');
    if (typeof Prototype !== "undefined") {
        document.write('<script>jQuery.noConflict();<\/script>');
    }
}

但是,如果我尝试使用 jQuery,Firebug 会记录“jQuery undefined”。

jQuery(document).ready(function() {
    //
});

但 jquery 已正确加载

jQuery

4

3 回答 3

3

我建议不要使用 document.write,使用 dom 操作。

if (typeof window.jQuery === "undefined") {
    var script = document.createElement('script');
    script.onload = function(){
        if (typeof Prototype !== "undefined") {
            jQuery.noConflict();
        }
    }
    script.src = 'http://code.jquery.com/jquery-latest.min.js';
    document.getElementsByTagName('head')[0].appendChild(script);   
}

http://jsfiddle.net/ALCDr/

于 2012-09-01T20:11:59.357 回答
1
window.onload = function() {
  jQuery(document).ready(function() {
    alert('!');
  });
}

做的伎俩。

于 2012-09-01T20:17:35.117 回答
1

HTML5 样板的方式是最有效的方式。

<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.0.min.js"><\/script>')</script>

这将检查是否已定义 jQuery(即已加载),或者(如果没有)它将加载将脚本写入页面:)。

于 2012-09-01T23:59:21.297 回答