yepnope.js - 同一页面上的脚本问题

时间:2011-04-10 11:24:48

标签: jquery yii modernizr yepnope

我包括yepnope.js,然后是以下内容:

<script type="text/javascript"> 
/*<![CDATA[*/
    yepnope([{
      load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js',
      complete: function () {
        if (!window.jQuery) {
          yepnope('local/jquery.min.js');
        } ...

但是,当jquery从cdn加载时,页面末尾的以下脚本显示错误:

/*<![CDATA[*/
jQuery(function($) {
jQuery('#Project_projectDateStart').datepicker({'dateFormat...

错误 jQuery未定义

我别无选择,只能在最后加载脚本(在此实例中加载了Yii datepicker)。

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:3)

如果您要使用yepnope,则需要使用回调函数。你不能直接调用jQuery,因为它是异步加载的。解析yepnopejs.com上的文档有点困难,但这就是它的要点。

基本上,根据我所知,Yii的默认AJAX和其他JS助手都不会与yenope一起工作。或者如果它们确实有效,那将是因为除了从Google加载的yepnope async之外,Yii还包含了另一个jQuery副本。您可能需要做一些工作来修改Yii加载脚本的方式,以使其与异步加载器(如yepnope)一起正常工作。

祝你好运!异步加载器非常适合页面性能,我一直使用Facebook。