Где хранить данные, к которым впоследствии будет обращаться Javascript?

0

У меня есть набор предустановленных значений, связанных с элементом в раскрывающемся списке. Поскольку список большой, я не хочу хранить их в js файле, if else блок if else. Я обнаружил, что могу хранить их в json-формате, но похоже, что jquery.getJson() делает HTTP-запрос для этого, даже если файл хранится локально. Это может добавить некоторую задержку в получении значений. В моем случае мгновенный отклик действительно важен, потому что эти значения будут изменены во время редактирования звука в реальном времени. Я думал, может быть, я могу загрузить эти значения на самой загрузке страницы и сохранить ее в некоторой переменной, а затем, когда это необходимо, if else что-то найти. Хотя я не совсем уверен, что это правильный путь. Пожалуйста, предложите.

  • 0
    localStorage вариант для вас?
  • 0
    Мне нравится подход / ответ Edgars, но когда недавно я столкнулся с подобной проблемой, я использовал jquery cookie, популярный плагин, о котором я узнал от пользователей stackoverflow. Размер cookie-файлов ограничен 4k.
Теги:

3 ответа

2

Вы думали о хранении DOM.

Посмотрите на это и убедитесь, что оно служит любой вашей цели.

0

Ну, учитывая ваши требования, вам придется загружать их, включая js файлы. В главном html у вас есть:

<script>
    var GlobalData = {};
</script>
<script src="albums.js"></script>
<script src="songs.js"></script>
...

Затем в albums.js (или любом другом файле) у вас будет:

GlobalData.albums = [
   //... your data here
];

Затем, чтобы получить доступ к этим данным, когда вам это нужно, просто сделайте это прямо

alert(GlobalData.albums.length);

Однако, если объем данных большой, лучше, если вы его не всегда в памяти. Вы можете динамически загрузить его или сохранить его на localStorage.

ура

-2

Вы упомянули jQuery, поэтому я думаю, что $.data будет делать трюк - http://api.jquery.com/data/

  • 1
    как это актуально?
  • 0
    Он может установить каждый пресет на соответствующий элемент DOM. Я нахожу это очень удобным.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню