Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проблема. Работа с фремами. При return window возвращает undefined (https://javascript.ru/forum/events/44595-problema-rabota-s-fremami-pri-return-window-vozvrashhaet-undefined.html)

escap2 25.01.2014 15:51

Проблема. Работа с фремами. При return window возвращает undefined
 
Суть:
1)Есть код, который ищет самого верхнего родителя для текущего фрейма
function topFraime(cur_window,i){
	console.log(i);
	console.log(cur_window);
	// если текущее равно последующему, то success
	if (cur_window.self === cur_window.parent){
		return cur_window;
	//	в противном случае ищем дальше 
	}else{
		i++;
		if(i<10){
			topFraime(cur_window.parent, i);
		// ограничние на количество попыток	
		}else{
			return false;
		}
	}
}	
$(function(){	
	var topwindow = topFraime(window.self,1);
	console.log(topwindow);
});


2)Если фрейма на странице нету то мы получаем в firebug:
1
Window ?clear_cache=Y
Window ?clear_cache=Y

3)Если фрейм на странице есть, то мы получаем в firebug:
1
Window /personal/order/make/
2
Window ?clear_cache=Y
undefined (че за?)

Т.е. получается, что внутри функции ссылка на window есть, а после return нету.

Как мне получить ссылку на window?

Я понимаю, что в таком простом примере я могу просто использовать parent и self, но хочется решение для n количества вложенности фреймов.

P.S. Разобрался. У меня была неправильно сформирована рекурсия 11 сточка кода должна быть return topFraime(cur_window.parent, i);

Проблема решена.


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