在浏览器中本地缓存菜单系统的最佳方法是什么?

时间:2020-03-05 18:51:12  来源:igfitidea点击:

我有一个非常大的级联菜单系统,其中包含300多个项目。 (我知道它很大,但这是必需的。)
当前,它是用javascript编写的,因此外部文件由浏览器缓存。

为了改善搜索引擎的结果,我需要将其转换为CSS菜单系统。
我意识到浏览器还将缓存外部样式表,但是,

  • 有什么方法可以缓存菜单内容(" <ul>"和" <li>"标签)?

如果我使用javascript(document.write)编写内容,则可以将其保存在外部javascript文件中,该文件将在本地缓存,但是,

  • 这对搜索引擎友好吗?

最好的解决方案是什么?

解决方案

回答

完成我们想要做的事情的最好方法是使用SiteMaps来告知Google我们网站的网址。基本上,我们将需要将菜单的层次结构数据转换为SiteMap。

回答

我们可以预先将菜单生成为静态html / javascript文件,并让所有页面从站点上的相同URL提取站点。这样,客户端浏览器将进行缓存。我们只需要在部署中执行一步即可为菜单生成html文件。

尝试使其生成尽可能多的纯HTML(+ JS + CSS),然后可以使用javascript调整任何必须动态的内容。

回答

我们只能使用CSS和HTML来完成全部操作,而无需使用任何Java脚本。请参阅<http://www.netwiz.com.au/cssmenu.html值>。此页面显示了与特定文档软件一起使用的工具,但是样本CSS和HTML显示了如何在大量浏览器中将ul li元素用于仅CSS / HTML菜单。

我们仍然在菜单中有300个项目的问题,这将增加加载时间。如果这是一个问题,我想我们可以将代码移至单独的iframe,以增加其在代理服务器(或者由浏览器)缓存的机会。冒犯冒犯者的风险甚至连框架都可以完成,但是如果直接链接到主题页面,我们将遇到无法显示菜单的问题。