2010-09-08 11 views
0

Мне нужен способ закрыть браузер (а не всплывать) с помощью Javascript. Является ли это возможным?Close Window in Javascript

+1

Зачем вам нужно, чтобы закрыть окно браузера? –

+0

related: http://www.gtalbot.org/BrowserBugsSection/MSIE6Bugs/ClosingWindowsNotOpenedByJS.html –

ответ

7

Если окно не открывается каким-либо кодом JavaScript из вашего собственного домена, вы не можете закрыть его с помощью crossbrowser, совместимого с использованием JavaScript. Только в MSIE вы можете использовать window.close(), но это приведет к предупреждению, которое, однако, является обходным путем, предварительно позвонив window.open('', '_self', '');. Тем не менее, это не будет работать в Firefox и других достойных браузерах. И с веской причиной. Вы не должны принудительно закрывать окна, которые открыл для себя конечный пользователь. Это плохой опыт работы с пользователями.

+0

«не будет работать на другом достойном браузере» ... мне нравится, что это означает: D – jrharshath

+0

Это не обязательно плохой опыт работы с пользователями: я запускаю исследование пользователя; пользователь выполняет задачу; в конце задачи я хочу, чтобы пользователь сделал что-то еще. Когда задача выполнена, пользователь должен нажать кнопку «done» и убрать окно. –

3

вы можете использовать это -

< a href="javascript:window.opener='x';window.close();">Close< /a> 

обычно при использовании window.close() в главном окне браузера, он показывает сообщение: «Страница пытается закрыть окно». Чтобы этого избежать, установите для параметра window.opener любое значение. Идея window.opener не должна быть пустой или пустой.

+1

Могу не всегда работать. Для ссылки ref: https://developer.mozilla.org/en/window.close – Rajat

+0

@ Rajat - Да, вы правы. он по-прежнему запрашивает приглашение закрыть окно –

+0

window.opener ожидает определенного типа. Установка его в строку или символ вызовет ошибку JavaScript. –

1

Полный браузер? Как правило, нет. Вы можете закрыть текущую вкладку с помощью window.close(), но она будет запрашивать пользователя перед закрытием браузера (если только он не был создан с помощью window.open()). Это функция безопасности; было бы неприятно, если бы произвольная веб-страница могла закрыть ваш браузер без предупреждения.

1

В общем, вы можете закрыть окно, которое вы сами создали, используя javascript.

Вы не можете закрыть ни одно другое окно, даже окно, в котором загружена ваша страница. Я помню, что в некоторых браузерах на самом деле спрашивают: «Эта веб-страница пытается закрыть окно. Разрешить?» или что-то в этом роде. Это не то, что вы хотите, чтобы ваш конечный пользователь увидел.

BTW, если вы укажете свой конкретный вариант использования, я мог бы предложить альтернативные решения.

1

попробовать это,

<a href="" OnClick="window.close()">[CLOSE]</a> 

Это закрою окно наверняка