Учитывая следующий поток:
1) Пользователь нажимает на ссылку, открывает всплывающее окно.
2) Пользователь делает некоторые вещи, нажимает на кнопку, чтобы сохранить изменения.
3) Используя AJAX, некоторые данные отправляются.
4) В обработчике ответов AJAX всплывающее окно закрывается, а главное окно обновляется.
Существует проблема в FireFox 2, где не удается закрыть всплывающее окно в обработчике ответа (до тех пор, пока в окне не будет выполнено какое-либо действие пользователя, например, перемещение мыши).
Sample code (popup window only):
function ajax_cb()
{
window.close();
}
// Send a POST request, ajax_cb will be called when readystate == 4.
function test_ajax_close()
{
Request.sendPOST("file:///test.html", "", ajax_cb);
}
В приведенном выше примере окно в конечном итоге закроется, но сначала требуется взаимодействие с пользователем. По этой ссылке :
Firefox становится несчастным, если он все еще имеет открытый сокет, выполняющий асинхронный AJAX-запрос, и вы пытаетесь сделать window.close ().