Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Помогите доработать скрипт! |

16.04.2007, 22:27
|
|
Познающий
Регистрация: 10.01.2007
Сообщений: 35
Провел на форуме: 62785
Репутация:
34
|
|
Помогите доработать скрипт!
PHP код:
<!-- 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 -->
Очень нужно доработать эти два скрипта до того чтобы при загрузке странички первый раз отображалосб нужное мне содержимое, а при обновлении, т.е. второй загрузке меня швыряло на другую страницу. В принципе тут не особо трудно, но я не особо рублю, смог только найти скрипты нужные. Спасибо всем!
|
|
|

16.04.2007, 23:45
|
|
Green member - Level 3
Регистрация: 02.11.2004
Сообщений: 1,337
Провел на форуме: 2398258
Репутация:
648
|
|
index.html
Код HTML:
<html>
<head>
</head>
<body>
<script language="JavaScript" src="script.js"></script>
Тут твой контент
</body>
</html>
script.js
Код HTML:
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" : ""); }
}
__________________
+ (это не крестик, это плюсик!)
__________________
•
•
•
|
|
|

17.04.2007, 11:12
|
|
Познающий
Регистрация: 10.01.2007
Сообщений: 35
Провел на форуме: 62785
Репутация:
34
|
|
Всё работает, но только в FireFox'е, а в других браузерах, мне например нужен IE, почему-то не пашет... И к стати ещё вопрос: Как сделать чтобы жизнь куков была 45 минут, а то у меня получается только на несколько лет  .
censored! огромное спасибо +).
|
|
|

17.04.2007, 14:02
|
|
Отец порядка
Регистрация: 04.03.2005
Сообщений: 1,007
Провел на форуме: 1204641
Репутация:
412
|
|
Как сделать чтобы жизнь куков была 45 минут, а то у меня получается только на несколько лет
так параметр должен быть. отвечающий за их жизнеспособность вроде...
|
|
|

17.04.2007, 14:14
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
largeExpDate.setTime(largeExpDate.getTime() + (7 * 24 * 3600 * 1000));
Мне кажеться что это та строчка которая нужна... Скорее всего ее и нужно подправлять.
|
|
|

17.04.2007, 19:04
|
|
Познающий
Регистрация: 10.01.2007
Сообщений: 35
Провел на форуме: 62785
Репутация:
34
|
|
Ага, эта строчка... буду мучать, пока не добьюсь 
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|