Как лучше всего кэшировать систему меню локально, в браузере?

У меня очень большая система каскадных меню, в которой более 300 пунктов. (Я знаю, что он большой, но это требование.)
В настоящее время он написан на javascript, поэтому внешний файл кэшируется браузерами.

Чтобы улучшить результаты поисковой системы, мне нужно преобразовать это в систему меню css. Я понимаю, что браузеры также будут кэшировать внешние таблицы стилей, но,

  • есть ли способ кэшировать содержимое меню (теги <ul> и <li>)?

Если я использую javascript (document.write) для записи контента, я мог бы иметь его во внешнем файле javascript, который будет кэшироваться локально, но,

  • было бы это удобно для поисковых систем?

Какое лучшее решение?

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
3
0
392
3

Ответы 3

Лучший способ выполнить то, что вы хотите сделать, - это использовать Карты сайта, чтобы сообщить Google об URL-адресах вашего веб-сайта. В основном вы захотите перевести свои иерархические данные для меню в SiteMap.

Вы можете заранее сгенерировать меню в статические файлы html / javascript и сделать так, чтобы все страницы извлекали сайт с одного и того же URL-адреса на вашем сайте. Таким образом, браузер на стороне клиента выполнит кеширование. Вам просто нужно иметь шаг в вашем развертывании, который генерирует html-файлы для меню.

Постарайтесь, чтобы он генерировал как можно больше простого HTML (+ JS + CSS), тогда все, что должно быть динамическим, можно будет настроить с помощью javascript.

Вы можете сделать все это только в CSS и HTML, и вам не нужно использовать какой-либо Java-скрипт. См. <http://www.netwiz.com.au/cssmenu.htmlvalue>. На этих страницах показан инструмент, который можно использовать с определенным программным обеспечением для документации, но образцы CSS и HTML показывают, как использовать элементы ul li для меню только CSS / HTML в большом количестве браузеров.

У вас все еще есть проблема с 300 пунктами в меню, которые увеличивают время загрузки. Если это проблема, я думаю, вы можете переместить этот код в отдельный iframe, чтобы повысить вероятность его кеширования на прокси-сервере (или браузером). Рискуя оскорбить пуристов, даже фрейм может сработать, но у вас будут проблемы с тем, что тематические страницы не смогут отображать меню, если на них есть прямая ссылка.

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