Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2017, 17:46
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Ускорение загрузки скриптов, как прописать?
Добрый день, уважаемые. Я тут начитался умных статеек по ускорению загрузок скриптов http://frontender.info/script-loading/
решил тоже испробовать (поскольку PageSpeed рекомендует к использованию). Но почему-то пока что не работает. Подскажите, пожалуйста почему мои скрипты не подгружаются. где я допускаю ошибку?


<!-- Load Scripts -->
<script>var scr = {
    "scripts": [
        {"src": "lib/modernizr/modernizr.js", "async": false},
        {"src": "lib/jquery/jquery-3.1.1.min.js", "async": false},
        {"src": "lib/owl-carousel/owl.carousel.min.js", "async": false},
        {"src": "js/script_agency.js", "async": false}
    ]
};
!function (t, n, r) {
    "use strict";
    var c = function (t) {
        if ("[object Array]" !== Object.prototype.toString.call(t))return !1;
        for (var r = 0; r < t.length; r++) {
            var c = n.createElement("script"), e = t[r];
            c.src = e.src, c.async = e.async, n.body.appendChild(c)
        }
        return !0
    };
    t.addEventListener ? t.addEventListener("load", function () {
            c(r.scripts);
        }, !1) : t.attachEvent ? t.attachEvent("onload", function () {
                c(r.scripts)
            }) : t.onload = function () {
                c(r.scripts)
            }
}(window, document, scr);
</script>
Изображения:
Тип файла: jpg Screenshot_10.jpg (10.4 Кб, 6 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2017, 18:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Black_Star,
на картинке ничего не видно, почему вы решили что не работает?
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2017, 18:59
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Не понял в чём суть Вашего скрипта, если честно.

![
	{src: "lib/modernizr/modernizr.js", async: true},
	{src: "lib/jquery/jquery-3.1.1.min.js"},
	{src: "lib/owl-carousel/owl.carousel.min.js"},
	"js/script_agency.js"
]
.forEach(function(p) {
	if(typeof p === 'string') p = {src: p};
	var s = document.createElement('script');
	s.async = !!p.async;
	s.src = p.src;
	document.head.appendChild(s);
});
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2017, 20:35
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Сообщение от рони Посмотреть сообщение
на картинке ничего не видно, почему вы решили что не работает?
рони при запуске страницы, ни одна js не подключается, согласно "моего" данного примера.

Сообщение от Ruslan_xDD Посмотреть сообщение
Не понял в чём суть Вашего скрипта, если честно.

![
	{src: "lib/modernizr/modernizr.js", async: true},
	{src: "lib/jquery/jquery-3.1.1.min.js"},
	{src: "lib/owl-carousel/owl.carousel.min.js"},
	"js/script_agency.js"
]
.forEach(function(p) {
	if(typeof p === 'string') p = {src: p};
	var s = document.createElement('script');
	s.async = !!p.async;
	s.src = p.src;
	document.head.appendChild(s);
});
Ruslan_xDD ваш пример запустил страницу, но я пока не могу понять почему именно так правильно подключать. Можете описать что именно вы написали? К примеру почему именно modernizr.js подгружаем асинхронно? почему скажем не jQuery ? Да, и как этот код будет действовать в старых браузерах ( допустим IE<=9) ну или тех где асинхронность не поддерживается?
Ответить с цитированием
  #5 (permalink)  
Старый 17.03.2017, 16:36
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

http://requirejs.org/
Собственная поделка
https://jsfiddle.net/vlasenkofedor/5pDXf/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как загрузить и заставить работать скрипт после загрузки frame? Chifu Общие вопросы Javascript 3 13.04.2013 14:18
Как отобразить img только после загрузки всего изображения overdrive Общие вопросы Javascript 6 06.11.2012 20:02
Как дождаться ПОЛНОЙ загрузки страницы? arma Events/DOM/Window 7 04.11.2009 20:05
Поле загрузки файла. как опусташить? clgs Элементы интерфейса 1 26.06.2009 14:46
Как выдавать ошибку при сбросе загрузки страницы? AvaGet Общие вопросы Javascript 2 11.12.2008 19:04