Нужен скрипт "окошка", который срабатывает при попытки закрыть страничку сайта.
Вот пример:
Цитата:
<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 тоже лишняя...
Товарищи программеры, хелп ми.