Метод переопределения различных событий jQuery, если глобальная переменная не установлена - PullRequest
0 голосов
/ 29 марта 2011

У меня есть различные jQuery-клики и отправка событий на моем сайте, но некоторые из них я хочу активировать, только если пользователь вошел в систему (да, у меня есть все необходимые проверки на стороне сервера), если они не зарегистрированы, яхотите, чтобы всплывал диалог пользовательского интерфейса jQuery.

Если пользователь вошел на страницу, будет установлена ​​переменная javascript: var uk = 'randomkey';

Какой метод лучше всего подходит для этого?Сверху головы - какая-то глобальная функция, которая проверяет пользовательское значение, запускает диалог и возвращает false?Или есть более аккуратный / оптимизированный способ сделать это.

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Поскольку вы говорите, что уже выполняете проверку на стороне сервера, я бы посоветовал убрать все поведение JS, которое вы хотите для вошедших в систему пользователей, и поведение для не вошедших в систему пользователей, в два отдельных JS.файлы и загрузите соответствующий файл на страницу, прежде чем ваш сервер даже сбросит HTML обратно в браузер.

0 голосов
/ 29 марта 2011

Было бы лучше, если бы вы фильтровали элементы во время загрузки страницы, чтобы избежать несанкционированного доступа.Постарайтесь избежать как можно большей сложности.

Но если вам действительно нужно это сделать, вы можете отправить ajax-запрос, чтобы определить, вошел ли пользователь в систему (полагаться на браузер клиента, задав имя класса, плохоидея, это может быть легко подделано).

Просто пример

$.post(
    "apage.php",
    { action: 'checklogged' },
    function(data) {
        //if the response come as `no` and `yes`
        if(data=='no') {
            //dialogbox code
        }
        else {
           var uk = 'randomkey';
        }
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...