Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Js работает, Jquery ошибка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Flash_PR
Отправлено: 08 Мая, 2015 - 17:33:35
Post Id



Посетитель


Покинул форум
Сообщений всего: 328
Дата рег-ции: Окт. 2013  
Откуда: Санкт-Петербург


Помог: 6 раз(а)




Задача определить город использую яндекс апи.

В таком варианте работает
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. window.onload = function () {
  4.   alert(ymaps.geolocation.city);
  5.  };
  6. </script>


а в таком выдает ошибку: Uncaught TypeError: Cannot read property 'city' of undefined

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. $(document).ready(function(){
  4.   alert(ymaps.geolocation.city);
  5.  });
  6. </script>


В чем соль?


ЗЫ: jquery и яндекс апи подключены


ЗЫЫ: Забавно, использовал $(window).load(function(), которая выполняется позднее чем $(document).ready(function() и стало работать.......но все равно не понятно почему при ready не работает..


Для справки:
document ready событие выполняется, когда HTML документ загружен, даже если еще не загружена вся графика. Если вам нужно выполнить код до полной загрузки, но уже с загруженой DOM моделью документа.

window load событие выполняется немного пожже: когда вся страница, включая графику, фреймы, обьекты, загружена в окно браузера. Поэтому, если выполнение логики ваших скриптов зависит от размеров изображений, используйте $(window).load


К

(Отредактировано автором: 08 Мая, 2015 - 18:04:34)



-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
Ts.Saltan
Отправлено: 08 Мая, 2015 - 18:29:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




Flash_PR пишет:
document ready событие выполняется, когда HTML документ загружен, даже если еще не загружена вся графика. Если вам нужно выполнить код до полной загрузки, но уже с загруженой DOM моделью документа.

Ну так правильно, структура документа загрузилась, а скрипты не подтянулись, хрен его знает, откуда ymaps взялось (а оно возьмётся потом, когда ресурсы догрузятся).

и лучше использовать собственный коллбэк карт, который вызовется после полной загрузки ресурсов
CODE (javascript):
скопировать код в буфер обмена
  1. ymaps.ready(function(){
  2. //....
  3. });
 
 Top
Flash_PR
Отправлено: 08 Мая, 2015 - 21:34:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 328
Дата рег-ции: Окт. 2013  
Откуда: Санкт-Петербург


Помог: 6 раз(а)




Ts.Saltan пишет:
Ну так правильно, структура документа загрузилась, а скрипты не подтянулись, хрен его знает, откуда ymaps взялось (а оно возьмётся потом, когда ресурсы догрузятся).


Спасибо за разьяснение. Я честно говоря думал что при ready уже все подгрузилось, и скрипты тоже. Хотя есть вопрос jquery тоже скрип......и он может не подгрузится.....нет ли тут противоречия?


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
Ts.Saltan
Отправлено: 08 Мая, 2015 - 21:51:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




Flash_PR пишет:
Спасибо за разьяснение. Я честно говоря думал что при ready уже все подгрузилось, и скрипты тоже. Хотя есть вопрос jquery тоже скрип......и он может не подгрузится.....нет ли тут противоречия?

Значит jquery загрузился раньше карт
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB