PDA

Просмотр полной версии : Помогите доработать скрипт!


DesignerMix
16.04.2007, 22:27
<!-- HEAD START HERE -->

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
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;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (2 < argc) ? argv[2] : null;
var path = (3 < argc) ? argv[3] : null;
var domain = (4 < argc) ? argv[4] : null;
var secure = (5 < argc) ? 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 DisplayInfo() {
var expdate = new Date();
var visit;
expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365));
if(!(visit = GetCookie("visit")))
visit = 0;
visit++;
SetCookie("visit", visit, expdate, "/", null, false);
var message;
if(visit == 1)
message="Сообщение для первого визита!";
if(visit== 2)
message="Сообщение для второго визита";
if(visit == 3)
message="Сообщение для третьего визита";
if(visit == 4)
message="Сообщение для четвертого визита";
if(visit == 5)
message="Сообщение для пятого визита";
if(visit == 6)
message="Сообщение для шестого визита";
if(visit == 7)
message="Сообщение для седьмого визита";
if(visit == 8)
message="Сообщение для восьмого визита";
if(visit == 9)
message="Сообщение для девятого визита";
if(visit >= 10)
message="Последнее постоянное сообщение!";
alert("\n"+"Вы загружали эту страницу \n"
+" "+visit+"\n"
+" раз(а)."+"\n"+"\n"
+message);
}
function ResetCounts() {
var expdate = new Date();
expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365));
visit = 0;
SetCookie("visit", visit, expdate , "/", null, false);
history.go(0);
}
// End -->
</Script>

<!-- HEAD END HERE -->


</head>
<body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0" onload="DisplayInfo()">
<center>

<!-- BODY START HERE -->

<FORM>
<CENTER>
<INPUT NAME="update" TYPE="BUTTON" VALUE="Обновить" OnClick="history.go(0)">
<INPUT NAME="reset" TYPE="BUTTON" VALUE="Очистить" OnClick="ResetCounts()">
</CENTER>
</FORM>


<!-- BODY END HERE -->


<!-- HEAD START HERE -->

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
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;
}
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 DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

var favorite = GetCookie('animal');

if (favorite != null) {
switch (favorite) {
case 'cat' : url = 'http://scripts.woweb.ru'; // смените адреса
break;
case 'dog' : url = 'http://articles.woweb.ru';
break;
case 'gerbil' : url = 'http://graphics.woweb.ru';
break;
case 'gopher' : url = 'http://catalog.woweb.ru';
break;
}
window.location.href = url;
}
// End -->
</script>

<!-- HEAD END HERE -->


<!-- BODY START HERE -->

<form>
<table><tr><td>
Куда делать переадресацию при следующем посещенни этой страницы?:<br>
<input type=checkbox name="cat" onClick="SetCookie('animal', this.name, exp);">Скрипты<br>
<input type=checkbox name="dog" onClick="SetCookie('animal', this.name, exp);">Статьи<br>
<input type=checkbox name="gerbil" onClick="SetCookie('animal', this.name, exp);">Графика<br>
<input type=checkbox name="gopher" onClick="SetCookie('animal', this.name, exp);">Каталог ссылок<br>
</td></tr>
</table>
</form>

<!-- BODY END HERE -->

Очень нужно доработать эти два скрипта до того чтобы при загрузке странички первый раз отображалосб нужное мне содержимое, а при обновлении, т.е. второй загрузке меня швыряло на другую страницу. В принципе тут не особо трудно, но я не особо рублю, смог только найти скрипты нужные. Спасибо всем!

censored!
16.04.2007, 23:45
index.html
<html>
<head>
</head>
<body>
<script language="JavaScript" src="script.js"></script>
Тут твой контент
</body>
</html>

script.js
function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

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;
}

var view = GetCookie('view');
if (view == "one")
document.location.href="http://www.antichat.ru";
else
{counter();}

function counter()
{
var view = 'one';
pathname = location.pathname;
myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var largeExpDate = new Date ();
largeExpDate.setTime(largeExpDate.getTime() + (7 * 24 * 3600 * 1000));
SetCookie('view',view,largeExpDate,myDomain);
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" : ""); }
}

DesignerMix
17.04.2007, 11:12
Всё работает, но только в FireFox'е, а в других браузерах, мне например нужен IE, почему-то не пашет... И к стати ещё вопрос: Как сделать чтобы жизнь куков была 45 минут, а то у меня получается только на несколько лет :eek: .

censored! огромное спасибо +).

DRON-ANARCHY
17.04.2007, 14:02
Как сделать чтобы жизнь куков была 45 минут, а то у меня получается только на несколько леттак параметр должен быть. отвечающий за их жизнеспособность вроде...

blaga
17.04.2007, 14:14
largeExpDate.setTime(largeExpDate.getTime() + (7 * 24 * 3600 * 1000));
Мне кажеться что это та строчка которая нужна... Скорее всего ее и нужно подправлять.

DesignerMix
17.04.2007, 19:04
Ага, эта строчка... буду мучать, пока не добьюсь :)