window.close
Если закрываемое окно не было открыто при помощи window.open, то
при его закрытии выводится предупреждение. Посетитель может отклонить закрытие.
var openedWindow; function openWindow() < openedWindow = window.open('moreinfo.html') >function closeOpenedWindow()
А как закрыть окно если открылось не через javascript ?
А также Но будет вопрос посетителю, хочет ли он закрыть окно.
function exit() var thisWindow = window.open(«Listing3.html»,’_self’);
var exit = confirm(«Хотите закрыть страницу?»);
if(exit) thisWindow.close();
>
>
Как из родительского окна можно передать фокус окну, открытому следующей командой?
wid = window.open(‘1.htm’,’wname’,’width=300,height=300′);
wname.focus()
wid.focus()
window.wid.focus()
window.wname.focus()
self.wid.focus()
помогите плиз.
var newWin = window.open("http://javascript.ru", "JSSite", "width=420,height=230,resizable=yes,scrollbars=yes,status=yes" ) newWin.focus()
а у меня не получается закрыть окно, которое открыто не скриптом.
window.close.php
// Функция открытия браузера function winOpen() < window.open('./window.close.php'); >// Функция закрытия браузера function winClose()
Подскажите как закрыть страницу через javaScript
если вставить в страницу скрипт с window.close(); то ничего не происходит..
нежно что бы при открытии страницы она закрывалась скажем через 5 секунд.
Та же проблема. Не срабатывает window.close()
Для доступа к свойствам текущего окна используется self. Используйте self.close();
Почему-то window.close(), self.close(), this.close() работают только в Opera.
Если окно создано через фрейм на jquery. Много вопросов на форумах, как закрыть модальное окно из фрейма, обычно ответ один — никак. Но решение есть и оно аналогично плагину thickbox.
Просто навесить код на элемент находящийся внутри фрейма.
По работе стоит задача сделать кнопку закрытия окна браузера без вопроса «Действительно ли вы хотите закрыть. » Пробую сейчас для IE 8 — работает прекрасно. На IE 6 — нет. Где посмотреть какими версиями експлорера поддерживается эта функциональность и нет ли аналога для шестого?
Почему все так сложно?
Работать не возможно.
Почему нельзя все упростить?
Простые вещи через жопу делать надо. Невероятно. 21 век.
Дело в том, что все упирается в политику безопасности.
Если вы хотите сделать что-бы было просто, то будьте готовы, что у вас будут «самопроизвольно» (с помощью кода в баннере например) закрываться все вкладки.
Дело в том, что все упирается в политику безопасности.
Если вы хотите сделать что-бы было просто, то будьте готовы, что у вас будут «самопроизвольно» (с помощью кода в баннере например) закрываться все вкладки.
Всегда открывал окно примерно таким кодом:
function ShowWin(src, width, height) obj = window.open(«», «», «scrollbars=0,dialog=0,minimizable=1,modal=1,width=»+width+»,height=»+height+»,resizable=0″ ) ;
obj.document.write(«» ) ;
obj.document.write(«» ) ;
obj.document.write(«» ) ;
>
Потребовалось закрытие окна, при клике вне него. Нашел в и-нете такой код:
Добавил в свою функцию, последней строкой, т.е. получилось:
function ShowWin(src, width, height) obj = window.open(«», «», «scrollbars=0,dialog=0,minimizable=1,modal=1,width=»+width+»,height=»+height+»,resizable=0″ ) ;
obj.document.write(«» ) ;
obj.document.write(«» ) ;
obj.document.write(«» ) ;
this.onfocus=function()
>
Все работает, окно закрывается при клике «снаружи».
Не понимаю, почему ONFOCUS, а не ONBLUR?
Может, кто-нибудь пояснить? Помогите пожалуйста разобраться!
Окно закрывается при клике по родительскому окну. В вашем случае, вызов функции showWin происходит в «глобальном» контексте, и внутри функции this указывает на window. Соответственно в последней строчке вы задаете обработчик получения фокуса родительским окном, а внутри обработчика — закрываете дочернее окно (которое внутри обработчка представлено переменной obj)
это какая-то магия, но работает
вызванная без аргументов, функция закрывает текущее окно
function close_window(url) var newWindow = window.open(», ‘_self’, »); //open the current window
window.close(url);
>
А может ко сможет мне помочь? Мне нужно, чтоб по нажатию «ОК» в диалоговом окне alert закрывалась браузерная вкладка
Как сделать так что бы при нажатии на ОК посетитель переходил на другую страницу, а если отмена закрывалась вкладка?
Если кто мучался с закрытием модольного окна, открытого через jquery, (Например:
highslide), то вот таблетка:
играю в браузерную игру
минимальную информацию обо мне в игре можно узнать просто нажав на мой профиль
где откроется отдельное окно
но и этого я бы не хотел
там можно загрузить свою картинку (с любого сайта), вписать домашнюю страницу, оставить свою почту
вот в этих вариантах есть возможность закрытия окна с моим профилем?
что бы просто автоматически закрывалась открывшись
например когда обращается за картинкой на какой то ресурс а оттуда сразу команда закрыть окно
javascript:close() в ссылку и не парься
Есть ли способ закрыть текущую страницу в последнем chrome.
var newWindow = window.open(», ‘_self’, »); //open the current window
window.close();
Этот способ не работает.
В консоль падает warning Scripts may close only the windows that were opened by it.
Ребят, помогите.
Есть окно, из которого я открываю другое окно
var w = window.open(‘test2.html’, ‘MyWindow’);
во втором окне я делаю что надо, и жму кнопку закрыть
window.close();
как только эта страница закрывается через эту функцию, мне надо запустить скрипт на основной странице.
Как это отследить .
У меня работает только такой способ: self.close()
Доработал «читерский».
Пропишите следующего рода скрипт на закрываемую страницу.
И вызовите функцию DoCPExit();
Все успешно закрывается и без каких-либо подтверждений для пользователя.
Причем вызов функции можно настроить по времени истечения, например 5 секунд.
Как правильно отследить событие закрытия вкладки?
Здравствуйте. Мне нужно выполнить некоторую функцию при закрытии страницы. Как мне отследить событие? Пробовал так:
window.onUnload = function() < alert('hello'); return 'hello'; >window.onbeforeunload = function()
Оба способа не работают. Как исправить?
Смотря, что вы хотите сделать. В некоторых своих проектах, я использовал событие beforeunload для закрытия сессии и для этого отправлял ajax-запрос с определенной меткой. Это вполне возможно.
evg_ писал, что
а я, пожалуй, использую оставшиеся 0.001% )) Для теста, создайте html-документ, в который запишите следующий JS-код:
window.addEventListener('beforeunload', function (e) < var xhr = new XMLHttpRequest(); xhr.open('POST', 'handler.php', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send( 'key=' + encodeURIComponent('Hi') ); e.preventDefault(); var confirmationMessage = ""; (e || window.event).returnValue = confirmationMessage; return confirmationMessage; >, false);
Теперь откроем и закроем html-файл в любом браузере, кроме осла восьмой версии и ниже. Просто потому, что объект XMLHttpRequest в них не поддерживается, а кроссбраузерное решение нам для теста и не нужно. Результат можем наблюдать в создавшемся файле test.txt
Денис Хоть кто то воспользовался моих остатком процента)))
А можно поинтересоваться что произошло при выполнение сие кода? Просто php ваще не бум бум.
В общих чертах понял что отправляется запрос, бла бла, дальше в php проверяем если запрос «не пустой», ну что то в этом роде, то записываем в файл Hi. Вроде так, а может и не так, зх)))
И что это даст? не пойму просто как это поможет вызвать например какую нибудь функцию перед закрытием страницы?
И для чего вот эти строки?
e.preventDefault();
var confirmationMessage = «»;
(e || window.event).returnValue = confirmationMessage;
return confirmationMessage;
Какой в них смысл? Как я понял, эти строки отменяют обработку по умолчанию, а потом все равно возвращаем значение, при чем false.
Объясните пожалуйста ваш код, хочется понять что вы сделали и как что и для чего работает
evg_ как я заметил в начале ответа — «Смотря, что вы (в данном случае ТС) хотите сделать«. Да, далеко не всё, но некоторые вещи, однако, допустимы. Вот, в качестве одного из таких случаев, я и привел пример выше. Это к вопросу о том, чем это может помочь. Что хочет сделать ТС — пока остаётся загадкой. По поводу некоторых участков кода — не вижу смысла копипастиь, поэтому даю ссылочку на описание. Но если коротко, то это «рудимент», оставшийся со времён, когда можно было в диалоговое окно свой текст (сейчас только стандартное «вшитое» сообщение), но который и даёт пару миллисекунд, в течение которых можно выполнить те немногие действия перед закрытием окна/вкладки браузера.
действительно. На клиенте вполне можно отослать AJAX при закрытии, а мне это как раз и нужно было. Спасибо
Window: close() method
The Window.close() method closes the current window, or the window on which it was called.
This method can only be called on windows that were opened by a script using the Window.open() method, or on top-level windows that have a single history entry. If the window doesn’t match these requirements, an error similar to this one appears in the console: Scripts may not close windows that were not opened by script.
Note also that close() has no effect when called on Window objects returned by HTMLIFrameElement.contentWindow .
Syntax
Parameters
Return value
Examples
Closing a window opened with window.open()
This example shows a method which opens a window and a second one which closes the window; this demonstrates how to use Window.close() to close a window opened by calling window.open() .
//Global variable to store a reference to the opened window let openedWindow; function openWindow() openedWindow = window.open("moreinfo.htm"); > function closeOpenedWindow() openedWindow.close(); >
Specifications
Browser compatibility
BCD tables only load in the browser
Found a content problem with this page?
This page was last modified on Apr 8, 2023 by MDN contributors.
Your blueprint for a better internet.
Обработка закрытия вкладки
У меня уже несколько раз спрашивали, как можно обработать закрытие вкладки. Допустим, пользователь хочет закрыть Ваш сайт, а Вы делаете какое-нибудь всплывающее окно и спрашиваете: «А Вы уверены?«, или делаете редирект на другой сайт. Разумеется, эти методы очень сильно раздражают пользователей, поэтому рекомендую не использовать их. К счастью, браузеры это так же очень плохо обрабатывают, однако, кое-какие возможности по обработке закрытия вкладки всё-таки имеются.
Есть возможность спросить у пользователя: «Уверен ли он, что хочет закрыть страницу?«. Вот как можно реализовать такую обработку закрытия вкладки:
Вот такой код будет работать в Firefox, IE, Chrome, но не будет работать в Opera (этот браузер onbeforeunload вообще никак не обрабатывает). При этом сама функция обработки может только возвращать строку, то есть никаких редиректов там не сработает.
Возвращаемая строка будет выводиться в окне подтверждения в Chrome и IE. В Firefox эта строка никак себя не проявляет.
Вот таким образом можно обрабатывать закрытие вкладки, однако, возможности здесь очень сильно ограничены, что, на мой взгляд, очень и очень хорошо.
Создано 24.06.2013 04:26:32
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 8 ):
У вас тут ошибка «При этом сама функции»