2012-02-14 4 views
3
   $("#register").click(function() 
       { 
        yepnope({ 
          load: ['js/join.js', 'css/join.css', 'css/join_form.css'], 
        }); 

        $('#midcol').load('join.htm');    
       }); 

При нажатии на ссылку регистрации yepnope загружает файлы, перечисленные как ожидалось. Когда связь регистра щелкнул второй, третий, четвертый и т.д. ... время yepnope выдает следующее сообщение об ошибке:
Не удалось преобразовать JavaScript аргумент Arg 0 [nsIDOMHTMLHeadElement.insertBefore] Js/yepnope/yepnope.js линии 248jquery yepnope вызывает ошибку при загрузке одного и того же файла дважды

У меня создалось впечатление, что yepnope загрузит файл только в том случае, если он не существует? Должен ли я запускать проверку на каждый файл, который я хочу загрузить с помощью yepnope? Это будет немного сложнее, если это так.

Не удалось найти решение проблемы при поиске в Интернете для ЧАСОВ. Однако я столкнулся с CURL.js. Он имеет меньшую площадь. Я смог загрузить свои зависимости без каких-либо проблем. Ниже приведен пример кода для загрузки зависимостей.

var cnf = { 
    baseUrl: 'scripts', 
    pluginPath: 'curl/plugin', 
    paths: { 
      curl: 'curl/src/curl', 
    }, 
}; 

curl(cnf, ['js!join.js!order', 'domReady!'], function() { 
    $("#register").click(function(){ 
      $("#midcol").load("join.htm");  
    }); 
}); 

ответ

1

По моему опыту, да, вам нужно запустить проверку, если есть возможность загрузки сценария дважды. Это кажется довольно редким случаем для меня.

На сайте, над которым я работаю, в настоящий момент я столкнулся с такой ситуацией, когда пользователь переключается между двумя разделами, загружаемыми через AJAX, и каждый из них имеет свой собственный набор сценариев. Пользователь может сначала загрузить любой раздел.

У меня есть мои скрипты созданы как модули, так что это довольно легко сделать это:

// Section A loaded 
yepnope([{ 
    test: window.One, 
    nope: 'js/One.js' 
},{ 
    test: window.Two, 
    nope: 'js/Two.js' 
}]); 

// Section B loaded 
yepnope([{ 
    test: window.One, 
    nope: 'js/One.js' 
},{ 
    test: window.Three, 
    nope: 'js/Three.js' 
}]); 

Вы определенно правы, что с нагрузкой справиться с этим автоматически будет гораздо удобнее.

Смежные вопросы