Клуб API Карт

Можно ли загрузить скрипты необходимые для создания карты динамически?

Пост в архиве.

Ситуация такая. Есть страница, достаточно тяжёлая сама по себе (много скриптов своих и внешних и данных).

Содержание страницы меняется через jquery.load() (закладками). Т.е. <header> не перегружается как и вся страница, а меняется только один блок с контентом.  И вот только на одной закладке используется карта. Можно ли  подгрузить скрипт <script src="http://api-maps.yandex.ru/2.0/............   в тот момент когда происходит load() именно нданного блока с картой?

 

Пробовал помещать подгрузку этого скрипта в это подгружаемое содержание - не инициализируется карта (

 

Заранее благодарен.

 

PS: поиском прошёлся - ничего не нашел. "Загрузка по требованию" - все равно требует изначальной подгрузки скрипта в хедере (

4 комментария

Забыл добавить. Для функционала карты нужны почти все основные пакаджи. Поэтому, уменьшать первоначальный вариант пакаджа — не вариант.

Проверял вес страницы на http://tools.pingdom.com

из документации к jQuery.load

Script Execution

When calling .load() using a URL without a suffixed selector expression, the content is passed to .html() prior to scripts being removed. This executes the script blocks before they are discarded. If .load() is called with a selector expression appended to the URL, however, the scripts are stripped out prior to the DOM being updated, and thus are not executed. An example of both cases can be seen below:

Here, any JavaScript loaded into #a as a part of the document will successfully execute.

$('#a').load('article.html');

However, in the following case, script blocks in the document being loaded into #b are stripped out and not executed:

$('#b').load('article.html #target');

ха-ха. вот как оказывается.

У меня все динамические блоки грузятся по одному типу 

$("#target").load("/script.php");

 

и в script.php голый контент. без . Т.е. если я в этом скритпе сделаю скрипты  то он их положит в голову основной текущей страницы и сделает " successfully execute" ? Я правильно понял?

нигде нет требования загружать API изначально.

Вы можете его загрузить когда будет нужен.