Загрузка скрипта по событию OnLoad

Тема в разделе "Как сделать...", создана пользователем Absolute, 28 мар 2011.

  1. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    340
    Симпатии:
    162
    К вопросу об оптимизации скорости загрузки пришла такая мысль. Идея в следующем:
    есть сайт, на нём стоит достаточно тяжелый скрипт Mootools объдиняемый с другими скриптами при помощи PHP Minifi для ускорения загрузки и уменьшения запросов к серверу.
    Вопрос в следующем, как можно заставить браузер сначала загружать саму страницу с css, а потом уже подгружать JavaScript? Нашел вот такой код:
    Код:
    	<script type="text/javascript">
    		var Script = document.createElement('script');
    		Script.src = "наш_скрипт.js";
    		Script.type = "text/javascript";
    		document.getElementsByTagName('head')[0].appendChild(Script);
    	</script>
    который способен внедрять в <head></head> наш подгружаемый скрипт, но Когда смотрю порядок загрузки DOM через Opera DragonFly, - показывает, что сначала грузится js-файл, а затем вся страница вместе с css, это при том что код выше распологаю в самом конце документа.

    Во время загрузки соответственно - нет нужды исполнения скриптов.
    Подскажите как реализовать подгрузку скрипта по событию onload?
     
  2. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Лучше уж тогда поставить на сайт WEBO Site SpeedUp
    там уже все эти моменты учтены, нуль можно найти.

    А сайт не на cms?
     
  3. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    340
    Симпатии:
    162
    Да - на Joomla. Благодарю за совет - обязательно гляну что за штуку вы порекомендовали.
     
  4. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Для Joomla кстати есть WEBO Site SpeedUp.

    По поводу Mootools - действительно тяжёлый скрипт, я его отключаю через плагин ki mootools control
    http://extensions.joomla.org/extensions/site-management/site-performance/7873
    здесь также писал по плагин оптимизации для joomla
    https://www.nulled.cc/showthread.php?p=1687671#post1687671
     
  5. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    340
    Симпатии:
    162
    В том то и дело что отключить нет возможности т.к. mootools используется. Задача загрузить его после загрузки всей страницы...
    Чтобы он отнимал время загрузки не до того как пользователь ещё ничего не видит, а после. Человек читает страницу, а в это время грузится скрипт, а не наоборот :)
     
  6. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    340
    Симпатии:
    162
    Проблему удалось решить с помощью
    extsrc.js
    теперь любой скрипт, который должен загружаться после загрузки страницы подключается вместо

    Код:
    <script src="script.js"></script>
    вот так:
    Код:
    <script extsrc="script.js"></script>
    подробнее читайте по ссылке в хайде.
    Всё корректно работает и с document.write

    в дереве DOM отображается загрузка скрипта в самом конце, что и требовалось доказать :)