Scissored от quirksmode (РЕДАКТИРОВАТЬ: добавил немного контекста, как предложил Диодей):
Теоретически
opener.close()
должен быть код из всплывающего окна: закройте окно, открывшее это всплывающее окно.
Однако в некоторых браузерах нельзя автоматически закрывать окна, которые не были открыты JavaScript. Вышеприведенная строка отлично работает в Explorer на Mac, Mozilla, Opera и OmniWeb, но не в Explorer на Windows, Netscape 4 и ниже и iCab. В этих браузерах пользователю предлагается подтвердить закрытие окна. Что касается Safari, он абсолютно ничего не делает.
Скорее, к моему удивлению, обойти это поле подтверждения в Explorer 5.5 и 6 в Windows очень легко. Explorer просто смотрит, есть ли у страницы открывашка. Если это не так, окно было открыто пользователем и не может быть закрыто без подтверждения. Итак, нам нужно заставить Обозревателя думать, что у открывающей страницы есть открыватель:
opener.opener = top; // or whatever, as long as opener.opener has a value;
opener.close()
Этот прием не работает в Netscape 4 и ниже и в iCab, у этих браузеров есть более изощренные способы определения, было ли окно открыто JavaScript.