Суть:
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);
Проблема решена.