1

Im, пишущий небольшой скрипт в js/jquery, который сохраняет поля формы для пользователей, чтобы сохранять формы и заканчивать их позже, в настоящее время я использовал sessionStorage для решения этой проблемы, но id хотел бы улучшить сценарий, чтобы разработчик мог определить, хотите использовать локальный или sessionStorage, но я не уверен, как это сделать, поскольку im все еще noob в этом поле: P. В моей голове у меня есть этот план, где разработчики могут определить атрибут, скажем, «тип хранения данных» в теге формы, и они могут оценить его либо с помощью сеанса, либо с помощью localStorage, а затем я могу использовать Jquery для получения значения как такового:Как использовать строковое значение, содержащее тип Web Storage, для вызова функций API веб-хранилища в JS/JQuery?

value = $(this).attr('data-storage-type'); 

затем идти оттуда, чтобы сделать мою экономию памяти, но им все еще довольно новое для JQuery/JS так что им интересно, если я могу назвать тип хранения они, определенный в этой переменной для вызова ГЭТ и SetItem функции, часть встроенного Webstorage api.

так, если значение = «LocalStorage», мог бы я назвать это как-то так:

value.getItem(arg); 

Причина им вполне уверен, что вы не можете сделать это:

"localStorage".getItem(arg); 

Есть ли способ я могу позвонить это? Или есть лучший способ справиться с этим? Благодаря!

+1

'' localStorage' и sessionStorage' является свойством глобального объекта ('window'). Вы можете получить к ним доступ, например, с помощью обозначения [скобки] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors) – Andreas

+0

Спасибо, что решила мою проблему. Вы, сэр, тоже бог! :) – surgiie

+1

Я верю только в физику, но спасибо в любом случае: D – Andreas

ответ

1

вы можете сделать что-то вроде этого

window[value].getItem(arg);// where value can be 'localStorage' string 

или вы можете использовать переключатель заявление

switch(value) { 
    case 'localStorage': 
    localStorage.getItem(arg); 
    break; 
    case 'sessionStorage': 
    sessionStorage.getItem(arg); 
    break; 
} 
+0

Большое спасибо! Такое простое решение lol. Его такая ошибка новичков в моей истории забывает эту скобку. Im тяжелая точка нотации пользователя, поэтому я постоянно забываю, что у меня есть другие способы доступа к моим данным. Вы, сэр, Бог! LOL: P – surgiie