Ответ 1
Кажется, ошибка: Ошибка 507361 - localStorage не работает в файле:///documents < ш > Надежда скоро исправлена!
2011-09-13: Исправлена ошибка, реализованная в Mozilla8. Я тестировал это с помощью Firefox 8, и теперь он работает.
Итак, я обожаю HTML 5 и localStorage, и я замечаю, что мои значения сохраняются только при запуске страницы в Firefox на локальном хосте (т.е. http://127.0.0.1:8000/test/index.html), но когда я запускаю файл локально (файл:///C:/test/index.html), мои значения не сохраняются. У Safari 4 нет проблем с обеими установками. Так кто знает, если это по дизайну → DOM Storage в Центре разработчиков Mozilla
(Firefox 2 разрешает доступ к хранилищу объекты выше в иерархии домена чем текущий документ. Это не дольше разрешено в Firefox 3, для причины безопасности. Кроме того, это предлагаемое дополнение к HTML 5 было удалены из спецификации HTML 5 в пользу localStorage, которая реализован в Firefox 3.5.)
Или, если есть обходной путь?
Интересно, потому что автономное хранилище, которое работает только в Интернете, звучит глупо: P
Если кто-то задается вопросом, код будет таким же простым, как и он:
function save()
{
localStorage.setItem('foo','bar');
}
function load()
{
var test = localStorage.getItem('foo');
alert(test);
}
Кажется, ошибка: Ошибка 507361 - localStorage не работает в файле:///documents < ш > Надежда скоро исправлена!
2011-09-13: Исправлена ошибка, реализованная в Mozilla8. Я тестировал это с помощью Firefox 8, и теперь он работает.
Ну, связанный документ действительно говорит, что
localStorage - это то же самое, что и globalStorage [location.hostname], за исключением , привязанного к исходному HTML5 (схема + имя хоста + нестандартный порт)
Я не хочу утверждать, что я понимаю 100%, что это значит, но бит в скобках предполагает, что URL должен иметь определенные свойства - в частности, что схема и имя хоста - это то, что Firefox считает источником HTML 5, Я подозреваю, что URL file:///
не соответствуют этому, а ваш http://127.0.0.1/
делает.
edit: Глядя на описание W3C свойства Origin, шаг 7 выглядит так, как будто это может вызвать проблему. В зависимости от того, как реализована обработка localStorage
, она может ожидать 3-кортеж, возвращенный на шаге 12, но для URL file://
возвращаемое значение может быть примерно чем угодно.
Итак, э-э, я полагаю, что это по дизайну. По размышлению, скорее всего, это не дизайн; нет причин, по которым localStorage
не должен работать для URL file://
. Это может быть случай вывода одной конкретной версии браузера, не соответствующей ожиданиям другого.
Что касается обходных решений, globalStorage
не будет делать то, что вы хотите здесь?