Pull to refresh

Comments 17

Действительно, мануалы в интернет устаревшие… Спасибо за свежую статью!
Ну почему же устаревшие, на developer.chrome.com все актуально обычно, даже доки для Canary-версий есть.
Тогда поправлюсь: на русском языке.
Мне кажется, зря вы дату и время в разных полях объекта task храните. Это чем-то обусловлено? Лучше бы сделать поле task.deadline, которому присвоить объект Date().

Я не придираюсь, просто обсуждаю)
Так в чем отличие второго манифеста от первого?
Главное отличие на мой взгляд — гораздо более жесткие требования к секьюрити. Обязательное соблюдение CSP было для меня в свое время нехилой головной болью при миграции с первой на вторую версию.

А так — просто небольшое изменение формата.
Про Storage не знал, спасибо. Очень не хватало такой штуки когда-то.
Кстати, в примерах Вы таки работаете с sync, а не local.
Чего-то у меня не получилось событие дать через addEventListener...., пришлось jq подключать.
Всё должно отлично работать. Может элемент ещё не существовал?
пойду-ка спать лягу после такого кода:

if(date.length == 3 && parseInt(date[0]) == date[0] && date[0] <= 31 && parseInt(date[1]) == date[1] && date[1] <= 12 && parseInt(date[2]) == date[2] && date[2] >= year){return val;}
Эм. При попытке загрузки расширения, хром мне говорит, что ключи в dictionary должны быть взяты в кавычки, код:

{
	"name" : "name",
	"version" : "1.0",
	"manifest_version" : 2,
	
	"browser_action" : {
		"default_title" : "my title",
		"default_icon" : "icon.png",
		"default_popup" : "popup.html"
	}
}
Попробовал Ваш код. Работает, загружается. Может быть проблема в popup.html?
bozheville
Скажите, пожалуйста, в чем же все-таки отличие chrome.storage.sync от просто localStorage?
И то, и то дает доступ к хранилищу данных.

Через localStorage можно обращаться для чтения/записи данных во всех новых браузерах (в ИЕ 7 и ниже не работает). Данные хранятся на машине пока их не удалить. Аналогично этому есть sessionStorage, принцип работы тот же, но данные хранятся только до тех пор, пока не закроется вкладка сайта. В этом хранилище данные можно хранить только как строку, так что если необходимо хранить массив или объект надо перед записью закодировать в json. Для доступа к локальному хранилищу на сайте лучше использовать localStorage или sessionStorage.

chrome.storage — это хранилище браузера хром. В нем даннные хранятся пока их не удалить. Данные можно хранить в любом виде (число, строка, массив, объект). Если использовать chrome.storage.local, то данные будут храниться только на данной машине, если же использовать chrome.storage.sync, и если пользователь залогинен в хроме, то данные будут синхронизироваться между всеми браузерами, где залогинен пользователь. При написании расширений для хрома лучше использовать chrome.storage.
Код почти тот же, единственное, сделана работа под Crome 18, который последний стоит в Ubuntu 10.10 и там еще нет chrome.storage, а лишь window.localStorage github.com/tapin13/Tasker
Возможно доработаю этот плагин, но первый коммит (почти) здешний код.
Sign up to leave a comment.

Articles