Чуток надо доработать скрипт имени.
Есть скрипт, при заходе на страницу спрашивает имя и запоминает куки, если нажал на отмену или крестик ставится определенное имя например unnamed,
но есть 2 проблемы... 1 проблемма - нужно как то сделать через ссылку, удаления имени чтобы при заходе на эту страницу его опять спросили имя. то есть удаления куков имени. и 2 проблемма - ели не ввести ничего и нажать ОК то будет пустое имя а не unnamed как хотелось бы... я сам в яве не шарю если и шарю поверхностно.. и так сам скрипт:
<a href="">Поменять ник</a>
<SCRIPT LANGUAGE="JavaScript">
var username = GetCookie('username');
if (username == null) {
username = prompt('Введите ваш ник на АНГЛИЙСКОМ!',"");
if (username == null) {
alert('Вы не ввели ваш ник, так что будет наш =) ');
username = 'unnamed';
} else {
// don't set the username cookie.... because the user refused to tell you.
// they will be prompted next time....
pathname = location.pathname;
myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
// set expiry date to 1 year from now.
var largeExpDate = new Date ();
largeExpDate.setTime(largeExpDate.getTime() + (30 * 24 * 3600 * 1000));
SetCookie('username',username,largeExpDate,myDomain);
}
}
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" : "");
}
var today = new Date ()
var hrs = today.getHours();
document.writeln("тест");
document.writeln("ник: "+ username +"");
</SCRIPT>
|
На седьмой строчке сравнение должно быть не с null , а с пустой строкой, то есть "", или вобще просто if (!username) ...
А по удалению гугли чета типа deleteCookie. |
Цитата:
|
function del_cookie
(name) { document.cookie = 'roundcube_sessauth' + '=; expires=Thu, 01- Jan-70 00:00:01 GMT;'; } |
<script type="text/javascript">
function setcookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+';path=/'+(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}
function deletecookie( name) {if ( getcookie( name ) ) document.cookie = name + '=1; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/';}
</script>
</script>
<script type="text/javascript">
setcookie("Test",22222);
alert(getcookie("Test"))
deletecookie("Test")
alert(getcookie("Test"))
</script>
|
Vampir3,
Я вставил вызываю <a href="" onclick="del_cookie(name)">Поменять ник</a> и <a href="" onclick="del_cookie()">Поменять ник</a> но не работает.. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
<a href="" onclick="del_cookie('name')">Поменять ник</a>
и
<a href="" onclick="del_cookie('')">Поменять ник</a>
и ничего не меняется |
Цитата:
А про кавычки ты подругому запоешь, когда разберешься с функцией и уберешь кавычки вновь. |
| Часовой пояс GMT +3, время: 22:57. |