Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011
Откуда: Одесса, Украина
Помог: 131 раз(а)
|
я когдато такую байду писал. тоже бекбон скрипты реквайра не было, и при загрузке все скрипты подгружал так, отслеживая синкронность и порядок вызова + в конце колбек для старта апликейшна
метод не совсем ровный в плане разработки, так как был первый проект на бекбоне
CODE ( javascript):
скопировать код в буфер обмена
/** * insert script into DOM and call callback function on complete load */ Helpers.GetScript = function(path, callback) { if(path) { var baseDir = 'js/'; var url = baseDir + path + '.js'; var script = document.createElement("script"); script.src = url; script.onload = script.onreadystatechange = function(){ script.onreadystatechange = script.onload = null; if(typeof callback == 'function') { callback(); } } var head = document.getElementsByTagName("head")[0]; (head || document.body).appendChild( script ); } };
использовалось в связке с этим
Спойлер (Отобразить)CODE ( javascript):
скопировать код в буфер обмена
/** * load scripts in strict order * and callback will be executed if given */ Helpers.LoadAllScripts = function(callback) { var scripts = [ //models 'models/Quest', 'models/Result',` 'models/Answer', 'models/QuestStatus', 'models/Step', 'models/Badge', 'models/Archive', //collections 'collections/Mycollection', 'collections/Results', 'collections/Quests', 'collections/Steps', 'collections/Answers', 'collections/QuestStatus', 'collections/Badges', 'collections/Archive', //views 'views/home/Home', 'views/404/Page404', 'views/help/Help', 'views/faq/Faq', 'views/quest/Quest', 'views/quest/QuestResults', 'views/quest/QuestResult', 'views/quest/QuestStatistic', 'views/quest/QuestSteps', 'views/quest/QuestStep', 'views/quest/QuestFinish', 'views/quest/WinnerPage', 'views/partials/partialStatistic', 'views/step/Step', 'views/step/StepFinish', 'views/step/StepAnswer', 'views/step/Steps', 'libs/infoBox', //router 'router', 'models/Debug' ]; if(App.Device.android) { scripts.push('libs/share'); } if(App.Device.iphone) { scripts.push('libs/childbrowser'); //scripts.push('libs/FBConnect.js'); } Helpers.RunQueueScripts(scripts, callback); } /** * recursively get script from scripts * and execute callback at finish */ Helpers.RunQueueScripts = function(scripts, callback) { if(scripts.length) { var script = scripts.shift(); Helpers.GetScript(script, function() { Helpers.RunQueueScripts(scripts, callback); }); } else { if(typeof callback == 'function') { callback(); } } }
этот способ нормально работал на телефоне. он впринципе был рассчитан для телефонов, но не как веб приложение, а через phonegap
но в случае цсс я бы посоветовал иметь всего один общий файл и грузить его сразу в index.html и на онлоад уже вызывать запуск бекбон приложения
|