За последние 24 часа нас посетили 34674 программиста и 1695 роботов. Сейчас ищут 903 программиста ...

Улучшить скорость загрузки сайта, проблема в .js

Тема в разделе "PHP для новичков", создана пользователем Frai, 12 окт 2015.

  1. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Приветствую! Имеется на сайте .js для поиска, ссылка на него находится в head сайта, как его загружать в конце загрузки всего содержимого страницы c кешированием, в общем чтобы вместе с тем работал корректно?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    внизу?
     
  3. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Если я размещу подгружаемый .js в нижней части страницы, будет ли это допустимо с точки зрения сайтостроения и не возникнет ли каких-либо неожиданных проблем?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а ты попробуй
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    в общем-то так и делается. если разместить стили внизу то страница будет моргать так как сначала бразуер применит дефолтные правила а потом натянет на них указанные каскады стилей. поэтому стили размещают вверху. а вот скрипты обычно размещают внизу так как скрипт имеет право менять дерево документа и следовательно браузер обязан встретив скрипт остановить рендер, загрузить файл скрипта, выполнить его в текущем (обрезанном окружении) и только потом продолжить. поэтому скрипты, тем более увесистые, размещают ниже. частный случай - если сайт полностью построен на js-интерактиве то показывается некоторая заглушка в стиле "загружаем, обожди..." и когда все скрипты загружены - они перерисовывают страницу. и соответственно обратная совместимость - если у человека не работает js или не загрузились по каким-то причинам скрипты то он всё равно должен иметь возможность работать с сайтом в менее интерактивном режиме.
     
  6. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Спасибо за информацию! У меня все проще, это скрипт поиска, наверное придется скрывать окошко поиска до загрузки скрипта.

    Добавлено спустя 7 минут 20 секунд:
    +После переноса вниз. Создается впечатление, что хоть скрипт и внизу, но фоновые изображения грузятся все равно позже него.
     
  7. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    скрипт надеюсь статикой лежит? веб-сервер надеюсь его отдает без запуска всяких лишних интерпретаторов? веб-сервер надеюсь сопровождает его заголовками кэширования и кондишнл-гета?
     
  8. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Скрипт лежит у хостера, я сам не занимаюсь сервером. Вот только заметил что стоит <content="no-cache"> - это имелось ввиду?
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    конкретнее где и как именно это написано? данная директива запрещает кэширование того документа в котором она указана, но по идее не распространяется на ресурсы которые он использует.
     
  10. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Это в head страниц сайта, сейчас думаю, нужно разрешить кеширование. Выглядит так:

    <meta http-equiv="content-type" content="text/html; charset=windows-1251">
    <meta http-equiv="Pragma" content="no-cache">

    Добавлено спустя 4 минуты 2 секунды:
    в .htaccess строчку php_value output_handler ob_gzhandler добавлял, о как то без особых убыстрений загрузки
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    js-скрипт же не через пхп загружается? сжатие потока тут не решит проблему если например процессорного времени на сжатие будет тратиться больше чем на простую отправку файла.
     
  12. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Нет, вставлено вне php кода как <script src="source/name.js"></script>
    Фоновые картинки и swf файлы грузятся после скрипта, хотя опускать его ниже некуда
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    хронологию утилизации сети сможете показать? в хроме F12 или Ctrl+Shift+J, закладка Networking, обновить страницу, сделать скриншот и так далее.
     
  14. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Направил личным сообщением
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ахахаха. там кажется проблема не в js. из 539 запросов для генерации страницы 529 запрашивают картинки-иконки. и на все это дело у браузера уходит секунды 4 в среднем. в общем графику в спрайты (это скорее всего ваш путь ибо вряд ли вы осилите спди или хттп2) и уже потом смотреть как работает сайт
     
  16. Frai

    Frai Активный пользователь

    С нами с:
    21 июл 2015
    Сообщения:
    102
    Симпатии:
    0
    Понятно