Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Аномальное поведение JS (https://javascript.ru/forum/misc/21565-anomalnoe-povedenie-js.html)

pharrell 15.09.2011 14:31

Аномальное поведение JS
 
У меня сайт полностью на history API. При переходе на адрес site.ru/chat должна сработать функция
onready.chat()
Вот код функции
chat:function(){
		if(!loaded['chat']){
			load.all("chat");
			loaded['chat']=true;
		}
		chat.refresh();
		chat.setInterval();
	}

Функция load.all() подгружает файлы chat.js и chat.css. В файле chat.js объявлен объект chat={} в котором есть функции refresh() и setTimeout(). В функции выше по грузиться файлик chat.js и из этого файла должны выполниться 2 функции. Но JS сообщает такую ошибку.
Код:

Uncaught TypeError: Object http://chatster/chat has no method 'refresh'
И указывает строку в которой вызываеться функция chat.refresh().
Во второй раз, когда chat.js уже загружен, все работает как надо.
Я уже как только не извращался, не смог ничего сделать. Кто-нибудь может сказать мне что делать?)

nikita.mmf 15.09.2011 14:52

Это не Аномальное поведение JS - это нормальное поведение JS. перепишите метод load.all, чтобы туда можно было передавать колбэк фукцию. Например:
load.all("chart", function(  ){ chart.refresh();chat.setInterval();})

pharrell 15.09.2011 19:59

Я так уже пробовал. И кстати вызов выглядел именно так, как вы и написали. Но ошибка та-же.

saint_byte 16.09.2011 15:16

Так что у вас за load - небось просто выкачивание данных xmlhttprequest подобной штукой - надо делать интереснее типа добавлять в head =)


Часовой пояс GMT +3, время: 15:53.