Каков наилучший способ кэширования системы меню локально, в браузере? - PullRequest
3 голосов
/ 11 сентября 2008

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

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

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

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

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

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

Ответы [ 3 ]

6 голосов
/ 11 сентября 2008

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

0 голосов
/ 11 сентября 2008

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

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

0 голосов
/ 11 сентября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...