Подключению скриптов на JS с помощью самого JS

iCospi
На сайте с 27.09.2011
Offline
97
523

Наверное сумбурно назвал тему. Суть в том, что в зависимости от разрешения экрана хочу подключать, либо не подключать карту от Яндекса на сайте. Она выводится с помощью подключения скрипта.

Сам код выглядит вот так:

<script type="text/javascript">
var width = document.body.clientWidth;

if (width >= 800){

document.write ('<script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A91926b56c27596a89cfa162b9c573ab9ece050f2898692ed596464f47996bb25&amp;width=100%25&amp;height=400&amp;lang=ru_RU&amp;scroll=true"></script>'
); }
</script>

Тут проблема конечно не в самом скрипте от Яндекс Карт, никакие подобным способом подключить не могу… Наверно вывод document.write происходит уже после загрузки всей страницы и браузер не понимает, что этот скрипт надо подгружать...

Подскажите в каком направлении думать, чтобы реализовать такую возможность?

Удобная проверка позиций (http://allpositions.ru/redirect/8497) | Быстрая покупка уник контента (http://advego.ru/62bgjaNHEc)
Joker-jar
На сайте с 26.08.2010
Offline
154
#1

createElement("script") и так далее. Посмотрите на код Метрики.

CP
На сайте с 12.08.2009
Offline
101
#2

Лень проверять, но вероятней всего что проблема вашего кода в том что document.write пишет до построения DOM, поэтому условию на ширину и не правильно срабатывало, можно попробовать брать размеры самого вьюпорта.

Профессиональный frontend: JS, html,css, Single-Page App (/ru/forum/964386)
Мемори
На сайте с 11.11.2012
Offline
105
#3

если лень разбираться программированием JS то можно это дело через гугл тэг менеджер мышкой закликать, там есть тэк кастом html

(Joker-jar правильно сказал - надо програмить... ну там можно еще через jquery но если совсем без програминга то через тэг менеджер)

S
На сайте с 30.09.2016
Offline
469
#4

Всё там подключается. Только надо небольшой шахер-махер делать (тук-тук-тук, я от Бориса Сергеича (С))

document.write('<scr'+'ipt ........................ </scr'+'ipt>'); 
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий