Клуб API Карт

Как избавиться от document.write в загрузчике карт (Internal.useDocumentWrite = 1)?

xuyandx
26 мая 2015, 17:03

Здравствуйте,

 

при добавлении api Яндекс карт на веб страницу с помощью подключения скрипта вида https://api-maps.yandex.ru/1.1/index.xml?key=... этот самый скрипт подключает 2 других скрипта и css файл с помощью document.write. Если это апи подключается из rich internet application уже после завершения обработки html-разметки, то document.write не срабатывает, естественно. При этом в самом коде загрузчика карт есть такой код:

 

Internal.useDocumentWrite = 1;

YMaps.load('core');

delete Internal.useDocumentWrite;

 

причем если Internal.useDocumentWrite не true, то ресурсы добавляются не через document.write, а нормально, через DOM апи. Вопрос: как избавиться от этого document.write? 

Спасибо in advance, как говорят :-)

2 комментария
Подписаться на комментарии к посту
Неплохо бы уже и отказаться от устаревшей на два мажорных релиза сборки 1.1
Вообще же ваша проблема решается указанием loadByRequire=true
https://tech.yandex.ru/maps/doc/jsapi/1.x/dg/tasks/api-loading-docpage/#how-to-load-api-on-demand

Спасибо за быстрый ответ)

На новое апи надо перейти, конечно, только тут у нас большое легаси приложение, которое по частям переводится в  rich internet application, заменить одномоментно сложно.