我有一个非常大的级联菜单系统,里面有300多个项目。 (我知道它很大,但这是一项要求。)
目前,它是用javascript编写的,因此外部文件由浏览器缓存。
为了改善搜索引擎结果,我需要将其转换为css菜单系统 我意识到浏览器也会缓存外部样式表,但是,
<ul>
和<li>
代码)? 如果我使用javascript(document.write
)来编写内容,我可以将其放在外部javascript文件中,该文件将在本地缓存,但是,
什么是最佳解决方案?
答案 0 :(得分:6)
完成您要执行的操作的最佳方法是使用SiteMaps向Google通知您网站的网址。基本上,您需要将菜单的层次结构数据转换为SiteMap。
答案 1 :(得分:0)
您可以事先将菜单生成为静态html / javascript文件,并让所有页面从您网站上的同一网址中提取网站。这样,客户端浏览器将执行缓存。您只需在部署中创建一个步骤,为菜单生成html文件。
尽量让它生成尽可能多的纯HTML(+ JS + CSS),然后可以使用javascript调整任何动态的内容。
答案 2 :(得分:0)
你只能用CSS和HTML做整件事,而且你不需要使用任何Java脚本。见&lt; http://www.netwiz.com.au/cssmenu.htmlvalue&gt;。此页面显示了与特定文档软件一起使用的工具,但示例CSS和HTML显示了如何在大量浏览器中使用ul li元素作为CSS / HTML菜单。
菜单中仍然存在300个项目的问题,这将增加加载时间。如果这是一个问题,我想你可以将这个代码移动到一个单独的iframe,以增加它在代理(或浏览器)缓存的机会。冒着违反纯粹主义者的风险,即使一个框架也可以完成这项任务,但是如果主题页面直接链接,则无法显示菜单会出现问题。