Проблема. Работа с фремами. При 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, время: 03:45. |