Событие по закрытие вкладки.

MIKLFIRM
На сайте с 13.02.2010
Offline
166
13082

Господа программисты JS, помогите советом.

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

При нажатии ДА, переходить на страничку во вконтакте.

При нажатии нет - закрытие вкладки.

Вот погуглил, собрал такой скрипт:


<script language="JavaScript">
window.onbeforeunload = WindowCloseHanlder;
function WindowCloseHanlder()
{
var answer = confirm("Не хотите ли посетить нашу группу во вконтакте?")
if (answer){
window.location.href('http://vk.com');
}
}
</script>

Но такая конструкция(и другие, которые я пытался сделать), не работает в Opere, Chrome, Safari.

Есть что-нить кроссплатформенное?

Жизнь в стиле IT (http://www.mikl.su) Мои отзывы (http://about-hosting.ru/) о хостингах.
MIKLFIRM
На сайте с 13.02.2010
Offline
166
#1

Коллеги, нужна помощь =)

slaveofmoney
На сайте с 18.08.2008
Offline
131
#2

включите отладчик и посмотрите, а вообще это паскудство imho

пусто )
MIKLFIRM
На сайте с 13.02.2010
Offline
166
#3
slaveofmoney:
включите отладчик и посмотрите, а вообще это паскудство imho

согласен с паскудством, но решение нужно, не моя прихоть.

palladin_jedi
На сайте с 13.07.2010
Offline
71
#4

Попробуйте так:

window.onbeforeunload = function() {

var answer = confirm("Не хотите ли посетить нашу группу во вконтакте?")
if (answer){
window.location.href('http://vk.com');
}
}

Вот тут подробно описали, почему ваш код не работает.

Сайт о web-разработке и прочем (http://seazo.net)||Продвижение статьями под Google (http://short.seazo.net/ght4zf) Бесплатные консультации рефералам Sape (http://www.sape.ru/r.SWfwWOblBo.php) PHP и JS скрипты на заказ, создание сайтов с нуля и на CMS.
slaveofmoney
На сайте с 18.08.2008
Offline
131
#5

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

хотя вот попробуй http://jsfiddle.net/PQz5k/, только тогда при любом телодвижении это паскудство вылазит

ну и тут http://api.jquery.com/unload/ посмотри

MIKLFIRM
На сайте с 13.02.2010
Offline
166
#6
slaveofmoney:
короче ТС не выноси себе мозг...

С радостью, но начальство требует. Против начальства не попрешь.

Ладно поковыряюсь, может что и смогу реализовать)

palladin_jedi
На сайте с 13.07.2010
Offline
71
#7

Баста, карапузики.

onbeforeunload предназначается для уведомления пользователя о несохранённой информации, например.

В целях безопасности редирект при этом событии блокируется почти во всех браузерах, только в Firefox можно попытаться что-то сделать. Но это недокументированные возможности, которые граничат с нежелательными техниками при создании сайтов.

Изменить при этом событии можно только выводимый текст уведомления.

SS
На сайте с 28.05.2008
Offline
154
#8

На хабре вот что пишут на эту тему http://habrahabr.ru/qa/20533/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий