Существует ли оболочка для HTML5 sessionStorage, которая обеспечивает хорошую реализацию совместимости? - PullRequest
1 голос
/ 14 июля 2011

Мы хотели бы использовать HTML5 sessionStorage (или что-то подобное) в новом проекте, но вы не можете полагаться на него в некоторых браузерах.Есть этот проект (http://code.google.com/p/sessionstorage/), который обеспечивает реализацию, которая работает во многих местах, но, как ни странно, он не использует версию HTML5, если она доступна. Он всегда делает свое дело.

Естьэтот проект (https://github.com/jas-/jQuery.handleStorage) закончен на GitHub , но его слой эмуляции - куки (блеф!) .

Примечание. Выше указано неверное, см. ответ от jas- ниже, где он объясняет, что я ошибся насчет этого проекта.

Есть ли что-нибудь лучшее, что предлагает хорошую реализацию, такую ​​как первый проект, но автоматически возвращается к HTML5, если он доступен?Модифицируйте первый проект, чтобы автоматически вернуться к HTML5, если он доступен, но он не будет строить его, если там уже есть хорошее решение.

Ответы [ 4 ]

1 голос
/ 11 февраля 2014

Munsch,

Я понимаю, что этому посту несколько лет, но я хотел уточнить проект, который вы упомянули, я автор jQuery.handleStorage , и он не использует куки какего метод хранения клиента по умолчанию.

Если вы прочитаете документацию по проекту, то увидите, что один из трех вариантов хранения клиента - это использование файлов cookie в том случае, если браузер клиентов не поддерживает HTML5 localStorage и /или API-интерфейсы sessionStorage.

С учетом вышесказанного, если вам нужен более надежный и гибкий инструмент хранения клиентов, я бы порекомендовал secStore.js , поскольку он не требует неявного связывания с формой, поддерживаетОпции хранения клиента HTML5, изящно уменьшающие размер файла cookie в случае устаревшего браузера, и опционально используют API SJCL для обеспечения прозрачного шифрования возможных конфиденциальных данных.

1 голос
/ 14 июля 2011

Для этого есть пара утилит YUI, в зависимости от того, используете вы 2 или 3:

Оба будут использовать хранилище сеансов HTML5, если доступно.

1 голос
/ 14 июля 2011

Я знаю, что вы сказали, что вам нужно решение, которое бы все это сделало, но что не так с чем-то вроде этого?

if(!window.sessionStorage){
    $.getScript("/google_code_sessionStorage.js");
}
0 голосов
/ 26 июля 2011

Я закончил больше исследований по этому вопросу, потому что мне понравились оба полученных ответа, но я хотел что-то более похожее на YUI 3: Storage Lite, но для этого не требовалось YUI.Что-то, что не зависело от фреймворка или дружественно по отношению к jQuery, могло бы работать для нас намного лучше.

В конце концов я нашел пару возможностей, и одна из них стала тем, что мы попытаемся использовать: Шезлонг

Также считается: store.js , AmplifyJS

...