загрузка JavaScript, EnhanceJS - PullRequest
1 голос
/ 02 июля 2010

Можно ли загружать js-скрипты, подобные этой, с запятыми, разделяющими скрипты:

<script src="/js/enhance.js,enhance.config.js" type="text/javascript"></script>

Я использую библиотеку javascript с прогрессивным расширением групп филаментов 'EnhanceJS', и я пытаюсь учиться на их сайте www.filamentgroup.com, где этот метод используется с большим эффектом, другой пример:

<script src="/js/jquery.js,jquery.plugins.js,common.js" type="text/javascript"></script>

Когда я пытаюсь сделать то же самое и посмотреть в firebug, приведенный выше код есть, но при ближайшем рассмотрении я получаю сообщение об ошибке:запрошенный URL /js/jquery.js,jquery.plugins.js,common.js не найден на этом сервере.

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

РЕДАКТИРОВАТЬ:

В загружаемом файле JS у них есть файл конфигурации, который загружает остальные сценарии, как это:

/* Copyright Filamentgroup.com: EnhanceJS configuration for screen/mobile enhancements */
//common script dependencies
var baseScripts = '/js/jquery.js,jquery.plugins.js,common.js';

//check for mediaq support, base screen type on it
var screenMedia = enhance.query('screen and (max-device-width: 1024px)') ? 'screen and (device-min-width: 5000px)' : 'screen',
handheldMedia = 'screen and (max-device-width: 1024px)';

//call enhance() function, include relevant assets for capable browsers
enhance({
loadStyles: [
    {media: screenMedia, href: '/css/screen.css'},
    {media: handheldMedia, href: '/css/handheld.css'}
],
loadScripts: [
    'http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js',
    {media: screenMedia, src: baseScripts+',screen.js'},
    {media: handheldMedia, src: baseScripts+',handheld.js'}
],
forcePassText: 'Enhanced version',
forceFailText: 'Basic version'  
}); 

Ответы [ 2 ]

1 голос
/ 02 июля 2010

Я опубликовал это как комментарий ранее, но я опубликую его как ответ, так как он кажется подходящим.

Элемент HTML <script> не поддерживает включение нескольких скриптов в один элемент.Причина, по которой он работает на их веб-сайте, заключается в том, что у них есть файл JavaScript, который буквально называется enhance.js,enhance.config.js и похож на все остальные скрипты, которые они используют.Я предполагаю, что эти файлы генерируются на стороне сервера или создаются за кулисами с использованием какого-либо компилятора.

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

0 голосов
/ 02 июля 2010

Вероятно, это объединяет файлы на сервере по требованию, используя что-то вроде mod_concat .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...