2014-11-07 3 views
0

В настоящее время я работаю на веб-сайте, который содержит несколько очень больших файлов Javascript. Эти файлы приводят к тому, что время загрузки страницы становится очень медленным.Можно ли указать конкретный файл javascript на клик?

Выходные файлы javascript изначально скрыты для пользователя за несколькими вкладками jquery. Мне было интересно, можно ли загружать файлы только тогда, когда пользователь нажимает на эти специальные вкладки, чтобы начальное время загрузки веб-сайта не было медленным?

ответ

3

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

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

В jQuery вы можете использовать $.getScript().

Пример:

$.getScript("test.js", function() { 
    // script is loaded now 
    // code that uses this script can go here 
}); 

FYI, есть и другие методы для улучшения времени загрузки вашего сайта. Например, вы можете поместить все несущественные сценарии (которые не участвуют в начальном отображении вашей страницы) в самом конце <body>, прямо перед тегом </body>. Это позволит вашей странице отображать без, ожидая загрузки этих сценариев.

Сценарии также могут быть помечены async и defer, так что другие аспекты загрузки страницы НЕ будут ждать их загрузки.

Другие полезные ссылки по этой теме:

Script Tag - async & defer

Deferred scripts and DOM

load and execute order of scripts

improving website performance by dynamically loading javascript?

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