Показать сообщение отдельно
  #1 (permalink)  
Старый 25.01.2014, 15:51
Новичок на форуме
Отправить личное сообщение для escap2 Посмотреть профиль Найти все сообщения от escap2
 
Регистрация: 25.01.2014
Сообщений: 1

Проблема. Работа с фремами. При 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);

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

Последний раз редактировалось escap2, 25.01.2014 в 18:34.
Ответить с цитированием