У меня следующий вопрос: мой сайт http://win-design.narod.ru
Он сделан как несколько отдельных html-документов со сходным дизайном и ссылками друг на друга. таким образом, пользовалель часто попадает на сайт не через главную страницу, а и через другие.
Я хочу чтобы при входе на сайт пользователю показывалась некоторая информация (либо всплывающее окно, либо alert). Но только 1 раз.. иначе ето будет его сильно раздражать.. Т.е. наверно при переходе по ссылке от одного документа к другому надо как-то передавать информацию о том, что пользователь уже видел popup/alert... и потом через js смотреть, надо или нет показывать окошко..
Соответственно вопрос: как енто сделать?
1. Neo - 29 Марта, 2004 - 03:13:56 - перейти к сообщению
2. ETC - 29 Марта, 2004 - 04:59:52 - перейти к сообщению
Neo
Не очень я понял, зачем что-то выдавать пользователю. Можно создать файл sc.js, в нём напишем:
И подключить его как любой другой скрипт ко всем страницам...
И тогда после захода на страницу юзверь получить твоё сообщение и потом не будет видеть его в течение 24 часов. Если он, конечно, не сотрёт Cookie...
Не очень я понял, зачем что-то выдавать пользователю. Можно создать файл sc.js, в нём напишем:
CODE:
function readCookie(name) {
var cookieValue = "";
var search = name + "=";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
cookieValue = unescape(document.cookie.substring(offset, end))
}
}
return cookieValue;
}
function writeCookie(name, value, hours) {
var expire = "";
if(hours != null) {
expire = new Date((new Date()).getTime() + hours * 3600000);
expire = "; expires=" + expire.toGMTString();
}
document.cookie = name + "=" + escape(value) + expire;
}
function alMsg() {
var msg = "Твоё сообщение";
if (readCookie('alerted')=="") {
alert(msg);
writeCookie('alerted','1',24);
}
}
function readCookie(name) {
var cookieValue = "";
var search = name + "=";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
cookieValue = unescape(document.cookie.substring(offset, end))
}
}
return cookieValue;
}
function writeCookie(name, value, hours) {
var expire = "";
if(hours != null) {
expire = new Date((new Date()).getTime() + hours * 3600000);
expire = "; expires=" + expire.toGMTString();
}
document.cookie = name + "=" + escape(value) + expire;
}
function alMsg() {
var msg = "Твоё сообщение";
if (readCookie('alerted')=="") {
alert(msg);
writeCookie('alerted','1',24);
}
}
И подключить его как любой другой скрипт ко всем страницам...
И тогда после захода на страницу юзверь получить твоё сообщение и потом не будет видеть его в течение 24 часов. Если он, конечно, не сотрёт Cookie...
3. гиссар - 20 Августа, 2004 - 23:09:28 - перейти к сообщению
А передавать параметр, тем не менее, - это довольно интересно. Это можно делать либо через тот же cookie (одна страница html пишет, а другая - читает), либо через свойство location.search: если ты сошлешься на страницу my.html как my.html?param=znachen¶m2=znachen2, то потом из страницы my.html строка param=znachen¶m2=znachen2 будет доступна под именем location.search. Потом нужно написать функцию типа readCookie (см. ответ ETC'а), только поменять ";" на "&" и document.cookie на location.search и ты сможешь читать значения параметров в этой строке.