Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как подгрузить код JS динамически? (https://javascript.ru/forum/misc/53383-kak-podgruzit-kod-js-dinamicheski.html)

zhurchik 02.02.2015 10:59

ksa,
Так ведь для этого и был придуман eval, не так ли?
Почему вы бы отдали предпочтение именно способу на который скинули ссылку, а не eval'у?

ksa 02.02.2015 11:08

Цитата:

Сообщение от zhurchik
Так ведь для этого и был придуман eval, не так ли?

Я не создатель JS... Почем мне знать для чего он придуман. :D
Цитата:

Сообщение от zhurchik
Почему вы бы отдали предпочтение именно способу на который скинули ссылку, а не eval'у?

За пример с eval'ом мне тут заминусовали карму... С тех пор я его нигде не показываю. :lol:

zhurchik 02.02.2015 11:23

Пример один из миллиона:
Пользователь вошел на сайт прочитать почту, но при загрузки страницы грузится весь код JS, плеер, галерея и прочий прочий, тот, то-есть, грузятся те функции которые пользователю не нужны. Вопрос? Зачем? Зачем грузить лишние данные. Как по мне, целесообразнее по мере необходимого загружать те или иные данные.

zhurchik 02.02.2015 11:24

ksa,
Я бы тоже вас заминусовал, если бы вы в eval помещали пользовательские данные, но ведь речь идет о системных данных.

ksa 02.02.2015 11:38

Цитата:

Сообщение от zhurchik
Я бы тоже вас заминусовал

Да утопись ты в луже... :lol:

melky 02.02.2015 12:05

zhurchik, по теме - вкратце - eval и не парься. остальные способы так или иначе выполняют строку кода (а это всё равно eval)

единственное - выполнять код нужно в глобальной области видимости

Цитата:

Сообщение от zhurchik (Сообщение 354555)
Почему вы бы отдали предпочтение именно способу на который скинули ссылку, а не eval'у?

если я не ошибаюсь, то тогда будет легче найти код в отладчике

Цитата:

Сообщение от zhurchik (Сообщение 354563)
Пользователь вошел на сайт прочитать почту, но при загрузки страницы грузится весь код JS, плеер, галерея и прочий прочий, тот, то-есть, грузятся те функции которые пользователю не нужны. Вопрос? Зачем? Зачем грузить лишние данные. Как по мне, целесообразнее по мере необходимого загружать те или иные данные.

хм. есть принцип - YAGNI. мне кажется, что вы зря пытаетесь сэкономить трафик на скриптах и для этого специально сидите и ломаете голову.

скрипты разве столько весят?

если не затруднит, запустите анализ на паре страниц сайта https://www.site24x7.com/web-page-analyzer.html меня интересует конкретно эта диаграммка

zhurchik 02.02.2015 12:16

melky,
Проблема не только в трафике, а в запросах к серверу. То ли браузер осуществит один запрос для получения JS кода, то ли 3-4, а это формирование заголовков, ответ от сервера и т.д. Конечно можно все пихнуть в один файл, но тогда тонны кода будут в одном файле, а это не удобно, ко всему этому, какая то часть кода будет внедрена в моб. версию и эту часть кода в любом случае нужно держать в отдельном файле, а не в скопе.

И еще, браузер при получении кода JS осуществлять лексический анализ.... А это опять же нагрузка на клиентский ПК.

Я хочу написать проект, который будет ближе к идеалу)))

zhurchik 02.02.2015 12:18

melky,
То бишь, я могу легко подключить код (строковой код) через createElement("script") и это в рамках приемлемого и будет везде работать?

melky 02.02.2015 12:34

Цитата:

Сообщение от zhurchik (Сообщение 354577)
Проблема не только в трафике, а в запросах к серверу. То ли браузер осуществит один запрос для получения JS кода, то ли 3-4, а это формирование заголовков, ответ от сервера и т.д. Конечно можно все пихнуть в один файл

в HTTP/2.0 можно будет грузить 3-4 файла и к тормозам это не приведет. ну да ладно. но сейчас - да, нужно соединять в один файл... и сжимать через минификатор и GZIP

Цитата:

Сообщение от zhurchik (Сообщение 354577)
но тогда тонны кода будут в одном файле, а это не удобно, ко всему этому, какая то часть кода будет внедрена в моб. версию и эту часть кода в любом случае нужно держать в отдельном файле, а не в скопе.

есть прямая потребность в мобильной версии? обычно все решается отзывчивой версткой

Цитата:

Сообщение от zhurchik (Сообщение 354577)
И еще, браузер при получении кода JS осуществлять лексический анализ.... А это опять же нагрузка на клиентский ПК.

мой скрипт весит 3 мб (несжатый, версия для разработки) и выполняется 344.160 ms
javascript довольно быстрая штука.

Цитата:

Сообщение от zhurchik (Сообщение 354577)
Я хочу написать проект, который будет ближе к идеалу)))

кто же так не хочет)

Цитата:

Сообщение от zhurchik (Сообщение 354578)
melky,
То бишь, я могу легко подключить код (строковой код) через createElement("script") и это в рамках приемлемого и будет везде работать?

угу

ты придумал с нуля модули (ака завелосипедил), а они примерно так и работают

если интересно побольше узнать про модули - советую почитать про AMD и RequireJS

zhurchik 02.02.2015 12:58

Цитата:

Сообщение от melky (Сообщение 354580)
есть прямая потребность в мобильной версии? обычно все решается отзывчивой версткой

адаптивная верстка будет, но это от ПК до планшета, а для мобильных будет другая верстка и кода меньше, в общем, будет урезанный функционал.


Часовой пояс GMT +3, время: 10:51.