См. это демо от Filament Group с использованием их Прогрессивного улучшения Enhance.js Библиотека
Изменение, чтобы дать: -
<script type="text/javascript" src="../_shared/EnhanceJS/enhance.js"></script>
<script type="text/javascript">
// Run capabilities test
enhance({
loadScripts: [
{src: 'js/excanvas.js', iecondition: 'all'},
'../_shared/jquery.min.js',
'js/visualize.jQuery.js',
'js/example.js'
],
loadStyles: [
'css/visualize.css',
'css/visualize-dark.css'
]
});
alert($);
</script>
Iполучить "$ is undefined error" в предупреждении, предположительно, потому что jQuery еще не загружен.
Примечание - предупреждение ($) только для отладки - я пытаюсь что-то сделать с этим, например, $('some-selector') - и никакие $ (обработчик) или $ (документ) .ready и т. д. тоже не работают - jquery не загружен, $ не определен.
добавление onScriptLoaded выглядит так, как будто он должен работать, но если я добавлю
onScriptsLoaded:[runMyCode()]
и более поздние
function runMyCode()
{
alert("runMyCode was called");
alert($);
}
Первое предупреждение сработает, но $ все еще не определено.
Если я вызываю runMyCode для события нажатия кнопки, оно работает.
Поэтому возникает вопрос - как запустить код после завершения загрузки всех сценариев с помощью extension.js?
PS Та же проблема проверена в IE8 / FF3 / Chrome7