yepnope.js - проблема со скриптами на той же странице - PullRequest
3 голосов
/ 10 апреля 2011

Я включил 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 Ответ

3 голосов
/ 10 апреля 2011

Если вы собираетесь использовать yepnope, вам нужно использовать функции обратного вызова.Вы не можете напрямую вызвать jQuery, поскольку он загружается асинхронно.Немного трудно разобрать документацию на yepnopejs.com , но в этом суть.

По сути, ни один из стандартных Yii AJAX и других помощников JS не будет работать с yenope, изчто я могу сказать.Или, если они работают, это будет потому, что Yii включил еще одну копию jQuery в дополнение к асинхронности yepnope, загруженной из Google.Вероятно, вам придется проделать кучу работы, изменяя способ загрузки сценариев Yii, чтобы он работал правильно с асинхронным загрузчиком, таким как yepnope.

Удачи!Асинхронные загрузчики отлично справляются с работой страниц, я постоянно пользуюсь Facebook.

...