На сайте в куку OTK
я записываю источник перехода на сайт:
Функция getCookie
возвращает cookie с именем name, если есть, если нет, то undefined
function getCookie(name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
Если OTK
еще не существует, то создадим ее и запишем туда источник перехода
if ( (getCookie("OTK") === undefined) )
{
document.cookie = "OTK=" + escape(document.referrer) +"; expires=" + expire.toUTCString() +";";
}
Все это работает криво. Например:
Переходим на сайт извне. OTK
создалась и там верное значение. Затем перейдем с главной вглубь сайта. На новой странице создается дублирующая кука OTK
. теперь их 2: в одной правильный реферер, во второй адрес главной страницы моего сайта.
Как переписать проверку куку OTK
на существование?
Если OTK
еще не существует или если у нее нулевое значение, то перезаписать туда данные. А если она существует и не пустая, то не трогать ее.
Советую для работы с куками использовать две функции
function getCookie(name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
function setCookie(name, value, options) {
options = options || {};
var expires = options.expires;
if (typeof expires == "number" && expires) {
var d = new Date();
d.setTime(d.getTime() + expires * 1000);
expires = options.expires = d;
}
if (expires && expires.toUTCString) {
options.expires = expires.toUTCString();
}
value = encodeURIComponent(value);
var updatedCookie = name + "=" + value;
for (var propName in options) {
updatedCookie += "; " + propName;
var propValue = options[propName];
if (propValue !== true) {
updatedCookie += "=" + propValue;
}
}
document.cookie = updatedCookie;
}
C помощью них ты гарантированно сможешь получить куку и установить ее, если она отсутствует.
только такие варианты подходят вида +2992924004
Мне нужно создать приложение на NWJS + SQLite
Есть кнопка, как сделать, чтобы при клике, по центру экрана высвечивался блок div и при этом фон позади блока становился затемненным?
Запускаю две странички на разных экранахСтранички с одного домена, в обеих могу дописать все что понадобиться