Сохранение логического или int и проверка / изменение его значения после загрузки страницы - PullRequest
0 голосов
/ 23 октября 2011

Я пытаюсь сохранить логическое значение или значение int где-нибудь, где я могу проверить его после загрузки страницы, чтобы я мог изменить логическое значение на false после загрузки страницы (по ссылке a).

Я знаю, что вы можете поместить это как скрытый текст или скрытые переключатели на странице, но это действительно ужасно ...

Я также думал об использовании клиентского хранилища HTML 5.

Пока у меня есть это:
Но очевидно, что это не работает, когда я проверяю stopOnMouseOut позже в скрипте, он всегда будет возвращать true ...

stopOnMouseOut = true;

    var stopSoundsVar = document.getElementById("stop_sounds");
    stopSoundsVar.onclick = function() {
        // toggle boolean
        if (stopOnMouseOut == true) {
            stopOnMouseOut = false;
        }else {
            stopOnMouseOut = true; 
        }
        //alert(stopOnMouseOut);
        return false;
     }

Есть ли лучшие практики для этого?

Ответы [ 2 ]

2 голосов
/ 23 октября 2011

Как вы указали в своем вопросе, вы можете использовать localStorage (постоянный при загрузке браузера) или sessionStorage (который только продлевает жизнь страницы - новые окна - это новые сеансы).

Использование localStrorage (или sessionStorage) так же просто, как:

localStorage.key = "value";

Вы можете хранить только строки в хранилище DOM, поэтому вам, возможно, придется сравнивать полученное логическое значение с "true" или "false", а не просто true или false. Кроме того, вы можете преобразовать данные в JSON и проанализировать JSON обратно.

Сохранение данных с помощью localStorage: http://hacks.mozilla.org/2009/06/localstorage/

Совместимость: http://dev -test.nemikor.com / веб-хранилище / support-test /

0 голосов
/ 23 октября 2011

Вы могли бы немного упростить условие:

var stopOnMouseOut = true,
    stopSoundsVar = document.getElementById("stop_sounds");

stopSoundsVar.onclick = function() {
    stopOnMouseOut = !stopOnMouseOut;
    return false;
 }

Демо: http://jsfiddle.net/bHmyj/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...