Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2009, 17:40   #1
valyan-t
Новичок
Джуниор
 
Регистрация: 30.09.2009
Сообщений: 1
Радость Скрипт срабатывающий при выходе со странички.

Нужен скрипт "окошка", который срабатывает при попытки закрыть страничку сайта.
Вот пример:
Цитата:
<SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
<!--
function unloadMess(){
mess = ""
return mess;
}

function setBunload(on){
window.onbeforeunload = (on) ? unloadMess : null;
}

setBunload(true);
//-->
</SCRIPT>
Нужно чтоб при нажатии кнопки ОК закрывался сайт и открывался URL партнерки. А при нажатии ОТМЕНА ничего не происходило.

Вот есть похожий скрипт но там наоборот все, да и много лишних функций на мой взгляд. Зачем определение браузеров Опера и т.п, если он в них все равно не работает...
Скрипт (.js):
Цитата:
var mybr=" "; // браузер
var isXPSP2=false; // признак XP SP2 (для IE)
var clk=3; // c какого клика . clk==0 означает запрет в данной сессии
var cookpop=false; // признак установленного действующего кукиса
var timcook=1000; // время жизни кукиса в мс.
var urlpop="http://site.com/"; // адрес партнерки
var urlpop2="http://site2.ru"; // адрес второй и послед.партнерок независимо от куки
var poptext=''; // техт onbeforeunload окна

// функции для работы с кукисами
function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring( offset, endstr));
}
function SetCookie (name, value)
{
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" +
expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i<clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
// установка cookpop
function setpopcook()
{
var ExpDate = new Date ();
ExpDate.setTime(ExpDate.getTime() + timcook);
SetCookie("cookpop",1,ExpDate, "/");
}

// определяем браузер
document.write(' <ma'+'p id="browser" /\'\'name="firefox" /""name="sleipnir_gecko" "name="safari" ""name="konqueror" /name="ie" name="opera" name="lynx" > </m'+'ap> ');
if(document.getElementById('browser ').getAttribute ('name')=='ie')
{
if ((navigator.userAgent.indexOf ("MSIE 6") != -1)&&(navigator.userAgent.indexOf ("MSIE 7") == -1)) mybr="ie6";
if ((navigator.userAgent.indexOf ("MSIE 7") != -1)&&(navigator.userAgent.indexOf ("MSIE 8") == -1)) mybr="ie7";
isXPSP2 = (window.navigator.userAgent.indexOf ("SV1") != -1);
}
else if(document.getElementById('browser ').getAttribute ('name')=='firefox') { mybr='firefox'; clk=2; }
else if(document.getElementById('browser ').getAttribute ('name')=='opera') { mybr='opera'; clk=1; }

// Функция добавления события на страницу.
function addEvent(elm,evType,fn,useCapture){ if(elm.addEvent Listener){elm.addEventListener(evTy pe,fn,useCaptur e);return true;}else if(elm.attachEvent){var r=elm.attachEvent('on'+evType,fn);r eturn r;}else elm['on'+evType]=fn;}


if (GetCookie("cookpop")==1) cookpop=true;

function mousepop()
{
if((clk==1)&&(!cookpop)) { clk=0;setpopcook(); window.open(urlpop,"_blank"); }
else if( (clk==1)&&(cookpop) ) { clk=0; window.open(urlpop2,"_blank"); }
else if(clk>0) clk=clk-1;
}
addEvent(document,'mouseup',mousepo p,false);

function winpopopen(event)
{
if((clk>0)&&(!cookpop)) { event.returnValue = poptext; setTimeout(function(){ clk=0;setpopcook(); document.location.href = urlpop;},100); }
else if((clk>0)&&(cookpop)) { event.returnValue = poptext; setTimeout(function(){ clk=0; document.location.href = urlpop2;},100); }
}
addEvent(window,'beforeunload',winp opopen,false);



exit=true;
if (GetCookie("popups")<1) exit=false;
function ExitPopUp()
{
if (exit) open('http://site.com/','BestPopUp','location=1,menubar=1 ,scrollbars=1,r esizable=1,top=10');
}
Думаю function ExitPopUp тоже лишняя...
Товарищи программеры, хелп ми.
valyan-t вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS скрипт смены картинок при наведении на ссылку Андрей79 JavaScript, Ajax 1 20.08.2009 15:41
в браузере при выходе в интернет в правом углу появляется порнушная реклама, Как избавиться? Студент3000 Свободное общение 20 02.05.2009 00:54
при выходе в интернет с компьютера вылетает синий экран смерти (практически сразу). Meister Свободное общение 6 25.03.2009 16:27
Ошибка при выходе из ждущего режима. С.М.С Компьютерное железо 2 08.03.2009 02:38