window.close в Mozille

Leonid

PHP? нет, не слышал...
window.close в Mozille

Столкнулся с такой трудностью:
У меня в админке, при нажатии ссылки "Выбрать раздел" открывается окошко со списком разделов сайта. Т.е. сначала java script формирует маленькое окошко, а потом туда направляется скрипт:

<a href="select.php" target = "selectwin" onclick "window.open (.......);">Выбрать раздел</a>

В самом select.php формируется древовидный список разделов, например для каждого

....
<li>
<a href=".....?id=12" target = "Frame1 (родительское окно)" onclick = "window.close();">
Название раздела
</a>
</li>
....

т.е. по идее, при клике на ссылку, окно закрывается и происходит переход к родительскому окну (точнеее фрейму) с указанием id раздела. В IE все ок, а в Mozille Firefox - окошко просто закрывается, а переход не происходит.... Если убрать onclick = "window.close();" то, переход происходит, а окно не закрывается. Порочный круг.

Т.е. видимо Mozilla сначала закрывает окно, а обработать переход по ссылке в уже несуществующем окне не может... Как бы это обойти?
 

Leonid

PHP? нет, не слышал...
Добавил, теперь в обоих браузерах окно закрывается, переход не происходит...
 

denver

?>Скриптер
Ой, я имел в виду в главном окне onclick.
А по поводу дочернего. Onclick выполняется ДО загрузки href (мало того эту загрузку можно отменить сделав return false как видишь). Навскидку при онклике нужно
setTimeout'ом вызывать другую функцию которая уже будет делать window.close().
Возможно есть более простое решение.

-~{}~ 08.02.07 12:37:

Вот еще. Можно при онклик вызывать некую функцию родительского окна, которая будет закрывать дочернее окнот и скролить на нужное место.
 

Leonid

PHP? нет, не слышал...
Вот так работает... спасибо за подсказку

....
<li>
<a href=".....?id=12" target = "Frame1 (родительское окно)" onclick = "winclose();">
Название раздела
</a>
</li>
....


<script language="JavaScript">
function winclose()
{
window.setTimeout(window.close, 10);
}

</script>
 
Сверху