Я хочу убрать js-код, используемый на моем php-сайте, для увеличения скорости загрузки. На данный момент я включаю в каждый сайт требуемый js-файл. Мой план состоит в том, чтобы объединить все js-файлы в один большой. Не каждая страница использует каждый js-код, поэтому я начал что-то, но не знаю, имеет ли это смысл.Объединить небольшие js-файлы в один крупный
Я уже прочитал статью One JS File for Multiple Pages, но метод Пола Ирландии - это способ усложнить для меня (на данный момент) как новичок.
Это мой подход: я создаю файл core.js и вызвать его на каждом сайте, как ..
<script src="js/core.js"></script>
В core.js я сначала получить имя соответствующей страницы.
var path = window.location.pathname;
var page = path.split("/").pop();
var page_name = page.slice(0, -4);
Затем я проверяю, какой сайт требует, какой js-скрипт (псевдокод).
if (page_name == 'xyz'){
execute this code which is only used on this site
}
if (page_name == 'abc' || 'xyz' || 'def'){
execute another code which is used on multiple sites
}
if (page_name == 'ghi' || 'jkl' || 'mno' || 'xyz'){
include jquery for multiple sites
}
...
...
Это означает, что много работы для меня, потому что у меня есть много JS, поэтому я хотел бы спросить первым, если это хорошее решение, чтобы привести в порядок.
К слову: код js, который я размещаю на своем веб-сайте, не меняется часто.
Спасибо
Миш
Мне нравится ваш подход, но я не уверен, правильно ли я получил его. Поэтому у меня есть, например, div с другим идентификатором для каждого сайта. в core.js я пишу, например, '($ ("# Идентификатор DIV"). длины)', чтобы проверить, если идентификатор существует и затем 'функция somefuction (длина) \t { \t \t некоторые JS-код } ' – Mischu
В этом случае это будет примерно так:' if ($ ('# idofdiv')) {somefunction ($ ('# idofdiv'). Length)} ' –
Но ваш подход должен работать, потому что если id не существует, '.length' этого div должен возвращать' undefined', что является ложным значением, а оператор if должен оцениваться как 'false' (и код внутри этого блока не запускается) –