Как лучше всего включать данные на HTML-страницу?

Как лучше всего включать данные на HTML-страницу? Данные не читаются человеком и будут обработаны сценарием после загрузки страницы. Я могу придумать следующие варианты:

  • Использование атрибутов class и title для скрытых / пустых элементов <div> или <span> на странице

  • JSON в элементе <script> внизу страницы

  • Загрузите данные через XMLHttpRequest после загрузки страницы

  • Острова данных XML

Кажется, что все эти методы имеют недостатки, поэтому я хотел бы знать, что вы думаете.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
620
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я бы пошел с JSON. Или какой-нибудь другой код JavaScript, если для этого есть причина. Это будет проще всего для сценария, и оно ограничено только тем, чем ограничен сам сценарий.

Я согласен. Кроме того, он на порядок быстрее, чем XML. Загрузите свой JSON через Ajax, чтобы он оставался «скрытым».

Diodeus - James MacFarlane 28.11.2008 00:00

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

foxy 28.11.2008 00:07
Ответ принят как подходящий

Я бы использовал JSON в элементе <script>. Собственно, я бы сделал это реальным сценарием. Браузер будет анализировать и оценивать JSON, поэтому воспользуйтесь возможностью, чтобы сохранить его в какой-либо переменной.

Скрытие элементов с помощью CSS - дело хрупкое, поскольку некоторые клиенты (не обязательно браузеры, как думают поисковые системы) могут по-прежнему видеть их как часть данных страницы.

Загрузка данных через XHR после загрузки страницы - это нормально, но это не совсем ответ на вопрос. Это также немного медленнее, поскольку требует дополнительного обхода сервера (подумайте о своих антиподовых пользователях, для них очень важна низкая задержка).

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

Итак, сохранение данных в элементе <script> звучит как самый простой, безопасный и наиболее подходящий способ ответить на вопрос.

Спасибо. Сделать его реальным сценарием, безусловно, было бы самым чистым, но в этом случае это потребовало бы выполнения двух циклических обращений к базе данных для одного и того же набора записей (один раз для генерации html и один раз для файла сценария), когда я мог бы уйти с одним если я храню данные в элементе скрипта.

foxy 28.11.2008 00:24

Я полностью согласен с тем, что размещение данных в отдельном файле сценария - лучший подход, но вы знаете, что это также повлечет за собой дополнительный обход http, в отличие от размещения данных непосредственно на странице. Конечно, можно кэшировать отдельный файл, но то же самое можно сделать и с вызовом XHR.

Benry 28.11.2008 09:59

Не понимаю, почему вы все говорите о файлах сценария. Я говорю о встроенном скрипте.

ddaa 29.11.2008 12:40

Другие вопросы по теме