Форум на Kuban.ru (http://forums.kuban.ru/)
-   Веб-дизайн и программирование (http://forums.kuban.ru/f1030/)
-   -   js загрузить скрипт - проблем (http://forums.kuban.ru/f1030/javascript_zagruzit-_skript_-_problem-3820131.html)

fanatnascar 05.03.2013 16:26

js загрузить скрипт - проблем
 
Вкратце - гружу скрипт через создание объекта script, запиливании ему src и аппенду как дитя к head. Все работает. Скрипт представляет собой функцию.

Внутри этой функции доступ к var map, которая гуглоапи создается. И вот эта функция не видит map.

Почему?

Стоит ее разместить напрямую в теле - видит. Загрузить отдельно - не видит.

Искусственный Интеллект1 05.03.2013 18:29

Раньше времени случайно не запускается функция? Когда еще map не определена?

vk 05.03.2013 19:46

А без "префикса" var видит?
И у гугла есть возможность запускать нужную функцию уже после своей загрузки (в API v3)
google.maps.event.addListenerOnce(map, 'idle', function()**
// do something only the first time the map is loaded
**);

fanatnascar 05.03.2013 19:51

1-Искусственный Интеллект1 >не, не в этом дело, я по кнопочкам разнес функции и контролировал выполнение. Да и сама карта появляется.

2-vk >ну, хотелось воткнуть, в чем тут трабл..

fanatnascar 05.03.2013 20:14

[quote=vk;29387570]А без "префикса" var видит?[/quote]
не пробовал, но они в разных функциях, по идее вар надо - глобализация
кстати, они в разных <script>, мож в этом дело?

vk 05.03.2013 20:23

попробуйте (насчет глобализации)
var i=1;
function f1()**
var i;
alert(i);
**
function f2()**
alert(i);
**
f1();
f2();

ars_2007 05.03.2013 21:30

как ведет себя, если без src, но с кодом внутри?

vk 05.03.2013 21:49

6-Гавайские субтитры >выполняется. Правда труднопредсказуемо, если в подгружаемый/создаваемый таким образом скрипт нужно передать данные.
Посему давно уже перешел на jQuery.getScript()

ars_2007 05.03.2013 22:09

а ну тогда значит оно просто грузиццо раньше чем гуглеапшная появляется или как там.
Знач надо делать if(map)...
а если не? Ну тогда мож через таймаут перезапускать, пока map не появиццо.

fanatnascar 06.03.2013 01:10

6-Гавайские субтитры >
не пробовал, но будучи просто засунута функцией в тот же script тег работает
8-Гавайские субтитры >нене, я по кнопочка разнес все, все с задержечкой нажимаю
5-vk >суть понял! попробую так завтра

fanatnascar 06.03.2013 01:10

5-vk >у меня var map создается внутри другой функции

ars_2007 06.03.2013 01:36

на днях, кстати, столкнулся с чудесами глобализации:
если в <script>var a='132.... а потом function foo()** alert(a) .... и если эту "a" потрогать в каком-то онклике на странице, то функцыя foo эту переменную уже не видит.

fanatnascar 06.03.2013 20:34

[quote=Гавайские субтитры;29391299] и если эту "a" потрогать в каком-то онклике на странице[/quote]
ну у меня создание a в онклике, пока для отладки)
пока не брался, другие приоритеты возникли [filolog]пля[/filolog](


Текущее время: 20:50. Часовой пояс GMT +3.