Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрет закрытия окна 
:(
    Опции темы
GoodBoy
Дата 20.2.2004, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Братцы подскажите как на JS запретить закрытие окна при нажатии на крестик или Flt+F4. Ужо мочи нету... Босс требует...

Заранее зело благодарен!!!


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Alx
Дата 20.2.2004, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Код

<body onbeforeunload="return false;" onunload="return false;">


врядли сработает! ед. вариант, как мне кажется:
Код

<body onbeforeunload="func()" onunload="func()">

<script>
function func()
{window.open (document.location.href,"","")
}
</script>


Это сообщение отредактировал(а) Aliance - 2.11.2005, 04:12


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 20.2.2004, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Такой вариант неприемлем по двум причинам:

1. Это сработает и при релоаде страницы, а мне надо отловить именно закрытие.
2. На странице вводится текст и при обычной перезагрузке он просто потеряется...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Sardar
Дата 20.2.2004, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
Братцы подскажите как на JS запретить закрытие окна при нажатии на крестик или Flt+F4. Ужо мочи нету... Босс требует...

Зачем это могло понадобится...?

Однозначный ответ: этого сделать нельзя! Даже если ИЕ будет тупить и выполнять такой код, другие браузеры и оболочки по ИЕ пропускать такое не будут.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
GoodBoy
Дата 20.2.2004, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Сам знаю, что нельзя... Но надеялся, что может быть можно... :-(
Правда мне только для ИЕ и нужно было... А требовалось это для того, что-бы нельзя было случайно закрыть окно и потерять введенный текст...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Sardar
Дата 20.2.2004, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Тогда событие onbeforeunload должно помочь. Появится диалог "действительно закрыть эту страницу?".


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
GoodBoy
Дата 24.2.2004, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Цитата
Тогда событие onbeforeunload должно помочь

НЕТ!!!!!!! я об этом уже писал!!!
Цитата
Это сработает и при релоаде страницы, а мне надо отловить именно закрытие



--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Sardar
Дата 24.2.2004, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



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


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
GoodBoy
Дата 25.2.2004, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Sardar: Событие будет вызываться при закрытии окна, перезагрузке страницы и переходе на новую страницу!!! А мне нужно было ТОЛЬКО при закрытии!!!!

Тему можно считать закрытой...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Royan
Дата 1.3.2004, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



Объясни босу - это нарушает политику безопасности Microsoft Internet Explorer, поэтому такая возможность не предусмотрена разработчиками IE. На том точка.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
GoodBoy
Дата 2.3.2004, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Royan Босс уже проникся!!! :-))) Но с другой стороны - не удобно... В винде для своего приложения так сделать можно, а внутри ИЕ - низя...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Alx
Дата 2.3.2004, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



ты понимаешь, сколько вирусов и спама бы за это цеплялось! sad.gif


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 3.3.2004, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



ALEXANDRO Я тоconfused.gif Очень даже хорошо!!!!!!!!


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Alx
Дата 3.3.2004, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



GoodBoy
smile.gif


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 15.3.2004, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



И все-таки я это сделал!!! :-)))))))
Код
<script>
function doUnload() {
   return "ПРИ УХОДЕ СО СТРАНИЦЫ ВСЕ НЕСОХРАНЕННЫЕ ДАННЫЕ БУДУТ УТЕРЯНЫ!!!";
}

document.onkeydown = checkKey;

function checkKey() {
   if (event.ctrlKey && event.keyCode==82) {
       document.body.onbeforeunload = null;
   }
}
  ...
</script>

<body onBeforeUnload="return doUnload();" style="margin:0pt;padding:0pt;height:100%">
  ...

В таком варианте нажатие на крестик закрытия окна приводит к запросу на закрытие, а при нажатии Ctrl+R - запрос подавляется.


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Гость_Sardar
Дата 15.3.2004, 14:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я об этом говорил постами выше. Событие onbeforeunload специально созданно для "предотвращения" потери данных. По моему у меня не получилось остановить закрытие, лень было в MSDN'e посмотреть.
Кстати теперь по моему и Gecko(Mozilla, Netscape...) поддерживает это событие.
  Вверх
GoodBoy
Дата 15.3.2004, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



2 Гость?? Sardar Эт понятно!!! Я и сам про onbeforeunload знал, но нужно было его заставить работать ТОЛЬКО при крестике!! :-))))))))

ЗЫ. А почему ты - гость?? :-)))))))


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Alx
Дата 15.3.2004, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



GoodBoy
ну ты крут! smile.gif


--------------------
PM MAIL WWW ICQ   Вверх
Sardar
Дата 15.3.2004, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



GoodBoy
Цитата
но нужно было его заставить работать ТОЛЬКО при крестике!! :-))))))))

Ctrl+R это не выход...
Цитата
ЗЫ. А почему ты - гость?? :-)))))))

Жизнь такая smile.gif , не из дома был.

ALEXANDRO
Цитата
GoodBoy
ну ты крут!

Ну нравится же тебе флеймить!!! biggrin.gif Для этого приват есть.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alx
Дата 15.3.2004, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Sardar
я сам не люблю флейм, но я ж почучуть, никому не мешая! к тому же это не очень далеко от темы! smile.gif но я постараюсь сдерживаться! smile.gif adv/54.gif


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 17.3.2004, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



2 Sardar
Цитата
Ctrl+R это не выход...

Понятно, что не выход!! :-)))))))) Я решил подавить запрос при перезагрузке страницы.


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Иль
Дата 12.10.2005, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Елки, теперь понятно! Это сделано как встроенный стандартный компонент браузера типа confirm. Ну чтож, довольно деликатно и права пользователя не ущемлены и свой текст добавлять можно. Тем более приятно, что в Gecko это работает также.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Fal'K°
Дата 1.11.2005, 15:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня не работает хоть крестиком, хоть ноликом, хоть ALT+F4
закрывается без возмущений
smile
  Вверх
Sardar
Дата 2.11.2005, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Fal'K° однозначно либо JS отключен, либо руки не из того места. Код приведённый GoodBoy на предидущей странице должен работать.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Гость_12345
Дата 3.11.2005, 02:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Sardar: из-под GreenBrowser событие onBeforeUnload игнорируется
  Вверх
Aliance
Дата 3.11.2005, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Естественно, оно поддерживается только в ИЕ.
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 3.11.2005, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Он на своём особом движке? Точно не знаю, но ИЕ, Геко и Опера должны иметь onbeforeunload, KHTML и производные(Safari) не знаю...

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

Вывод: забей.
Вывод получше: пересмотри задачу, не могу представить себе ситуацию где бы это понадобилось. Фичи гугла, мол перед закрытием окна предупредить юзера, меня это больше раздражает, тем более что SessionSaver плагин для мозиллы оставляет формы заполненными при востановлении окна/сессии и никаких окон)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 3.11.2005, 02:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Разве Gecko тоже?
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 3.11.2005, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Проверил, onbeforeunload существует и работает как нужно, FireFox 1.0.7 smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1236 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.