2012-01-04 3 views
1

Я разрабатываю расширение firefox и собираюсь сохранять локальные данные в localStorage. Итак, я тестирую свое расширение на локальной сохраненной веб-странице.localStorage не сохраняет данные

window.content.localStorage.setItem('name', 'Hello World!'); 

И window.content.localStorage.getItem('name') Возврат правильной строки. Но когда я снова открыл эту страницу тестирования, window.content.localStorage.getItem('name') возвращает 'null'. Почему? Это потому, что я использую локальную страницу?

ответ

4

В настоящее время различные браузеры обрабатывают файл: URL-адреса по-разному для localStorage.

Это означает, что если вы просто создаете файл на своем компьютере и открываете его напрямую, у вас будут разные результаты в зависимости от используемого вами браузера.

Я считаю, что это было изменено в Firefox 8, поэтому, если вы используете 8 или выше, он должен работать на вас. Другие браузеры, о которых я не уверен.

Редактировать: Is "localStorage" in Firefox only working when the page is online?, похоже, подтверждает, что FF3-8 не будет работать, как вы это делаете.

+0

IE9 и более старые Firefox наверняка не позволяли вам использовать localStorage на локальном хосте или URL-адресах файлов, хром обрабатывал все URL-адреса файлов как один и тот же домен (с лета 2011 года, возможно, он был изменен), а опера обрабатывала ту же папку, что и тот же домен. Firefox собирается принять модель Opera, afaik, в FF8. Но я не тестировал. https://bugzilla.mozilla.org/show_bug.cgi?id=507361 – c69

Смежные вопросы