Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Индивидуальные настройки в LocalStorage (https://javascript.ru/forum/dom-window/60837-individualnye-nastrojjki-v-localstorage.html)

ureech 22.01.2016 15:33

Индивидуальные настройки в LocalStorage
 
Здравствуйте. В продолжении этой http://javascript.ru/forum/dom-windo...s-po-load.html темы.
Сейчас имею скрипт, который меняет оформление страницы профиля.
$(function() {
    $('.ok-a').on('click', function(event) {
        $('.prof').addClass('hide');
        $('.load').removeClass('hide');
        $('.load').load(line)
    });

    var url = localStorage.url;
    url && ($('.ok').addClass('ok2').css('background-image', url), $('body').css({
        'background-image': url,
        'background-size': 'cover'
    }));

    $('.load').on('click', '.photo_ok img', function(event) {
        event.preventDefault();
        var url = this.getAttribute('src');
        var url = 'url('+url+')';
        $('.ok').addClass('ok2').css('background-image', url);
        $('body').css({
            'background-image': url,
            'background-size': 'cover'
        });
        $('.btn').removeClass('hide');
		
        $('#btn').on('click', function() {
            localStorage.url = url;
            if (localStorage.url) {
                location.reload()
            }
        })
    });
    $('.load').on('click', '.back', function() {
        url = '';
        location.reload()
    })
});

Но если юзер1 открывает профиль юзера2, то отображается стиль страницы юзера1.
Оформление задаётся переменной url и затем сохраняется здесь
var url = localStorage.url;
    url && ($('.ok').addClass('ok2').css('background-image', url), $('body').css({
        'background-image': url,
        'background-size': 'cover'
    }));

Посоветуйте как сохранить url своё для каждого юзера.

ureech 22.01.2016 16:02

Решил использовать куки.Написал
document.cookie = (url;'expires=15/02/2017 00:00:00');
	var url = document.cookie;

Будет ли так работать? Пока не работает.:)

laimas 22.01.2016 16:10

Цитата:

Сообщение от ureech
Но если юзер1 открывает профиль юзера2

Каким образом?

ureech 22.01.2016 16:12

Цитата:

Сообщение от laimas
Каким образом?

В смысле просматривает страницу профиля, если она открыта для просмотра,как в соц.сетях.

ureech 22.01.2016 16:19

Сделал так
var url = 'url('+url+')';
		document.cookie = url;

и заменил все url на document.cookie
Но alert(document.cookie ) выводит
url=undefined; url(/images/users/ok/1.jpg);Почему так?
и естественно не работает.

laimas 22.01.2016 16:20

Ну если открыта, тогда еще может быть. А вот параметры профиля никак не должны определяться url, url, это уже результат обработки этих параметров, которые собственно можно хранить и на сервере, не обязательно на клиенте. На клиенте выгодно держать параметры конфигурации того, к чему имеется коллективный доступ, и каждый может иметь конфигурацию под себя.

ureech 22.01.2016 16:35

Это понятно, но в данном случае это пока не важно.
Почистил куки и алерт выдёт правильный адрес,поменял где надо url на document.cookie, но картинки не выводятся.И подскажите как правильно написать
document.cookie = url;expires=15/02/2017 00:00:00; в смысле синтаксиса.

laimas 22.01.2016 16:45

Цитата:

Сообщение от ureech
Это понятно, но в данном случае это пока не важно.

Вот если вашу конфигурацию будет определять переход по url, то и будет бог весь что...
Если профиль может смотреть кто угодно, то изменять его может только владелец, и ситуации "Но если юзер1 открывает профиль юзера2, то отображается стиль страницы юзера1." не будет.

ureech 22.01.2016 16:55

Посмотрю, что можно сделать в этом направлении.

laimas 22.01.2016 17:01

А другого направления и не должно быть.

PS. Причина ошибки, это хранение в локальном хранилище (или куках), оно же недоступно другим, это хранение только для себя. Параметры хранить на сервере.


Часовой пояс GMT +3, время: 00:01.