Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2016, 17:57
Интересующийся
Отправить личное сообщение для TTATPuOT Посмотреть профиль Найти все сообщения от TTATPuOT
 
Регистрация: 26.03.2014
Сообщений: 14

localStorage в расширениях Chrome
Здрасте!
Решил попробовать себя в ролик разработчика приложений для Хрома и сразу же наткнулся на проблему. Специализированного форума по этому делу я как-то не нашёл и решил написать сюда, авось и кто знает

Есть код с использованием jQuery:
jQuery(document).ready(function($) {
	function readProperty(property, defValue){
		if(localStorage[property] == null){
			return defValue;
		}
		return localStorage[property];
	}
	$("#streams").prop('checked', readProperty("streams", true));

	$("#streams").change(function(){
		localStorage["streams"] = $(this).prop('checked');
	});
});

А в HTML есть чек-бокс с id "streams".
Проблема в том, что как-бы я не менял содержимое localStorage["streams"] - чек-бокс с id "streams" всегда отмечен. Т.е. localStorage["streams"] возвращает true. Но если попробовать проверить эту переменную через alert, например, то она будет false.
Как так получается, я даже не представляю. Возможно, у вас будут какие-то предложения?

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2016, 18:37
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

TTATPuOT,
через атрибут делайте.

$('#streams').attr('checked', 'checked');
$('#streams').removeAttr('checked');
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2016, 19:23
Интересующийся
Отправить личное сообщение для TTATPuOT Посмотреть профиль Найти все сообщения от TTATPuOT
 
Регистрация: 26.03.2014
Сообщений: 14

Нашёл проблему
Оказывается, переменная внутри хранитеся в String формате, а не в boolean. Но спасибо, что ответили.
Ответить с цитированием
  #4 (permalink)  
Старый 12.02.2016, 07:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от destus
через атрибут делайте.
$(selector).prop('checked', 1/0)
Ответить с цитированием
  #5 (permalink)  
Старый 12.02.2016, 09:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

localStorage and checkbox
TTATPuOT,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

  <script>
   jQuery(document).ready(function($) {
	function readProperty(property, defValue){
		if(localStorage[property] == null){
			return defValue;
		}
		return JSON.parse(localStorage[property]);
	}
	$("#streams").prop('checked', readProperty("streams", true));

	$("#streams").change(function(){
		localStorage["streams"] = JSON.stringify($(this).prop('checked'));
	});
});

  </script>
</head>

<body>
 <input id="streams" name="" type="checkbox">
</body>

</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение своих js скриптов в Chrome на любых сайтах avramch Opera, Safari и др. 5 28.07.2016 16:11
Передача переменной в функцию | chrome extensions _uNcommon Общие вопросы Javascript 3 19.02.2015 23:28
Не сохраняется localStorage после перезагрузки браузера Бобр Firefox/Mozilla 1 20.10.2011 20:31
Получить размеры рабочей области окна в Chrome unclechu Events/DOM/Window 1 13.09.2011 02:37
тег <audio> в Opera, Chrome, Firefox Magneto Javascript под браузер 12 25.11.2010 15:12