3

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

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

  • 有没有办法缓存菜单内容(<ul><li>标签)?

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

  • 这对搜索引擎友好吗?

什么是最好的解决方案?

4

3 回答 3

6

完成您想做的事情的最佳方式是使用SiteMaps通知 Google 您网站的网址。基本上,您需要将菜单的层次结构数据转换为站点地图。

于 2008-09-11T03:29:09.700 回答
0

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

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

于 2008-09-11T04:15:48.840 回答
0

你可以只用 CSS 和 HTML 来做所有的事情,而且你不需要使用任何 Java 脚本。参见 < http://www.netwiz.com.au/cssmenu.htmlvalue >。这个页面展示了一个与特定文档软件一起使用的工具,但示例 CSS 和 HTML 展示了如何在大量浏览器中将 ul li 元素用于仅 CSS/HTML 的菜单。

您仍然有菜单中有 300 个项目的问题,这将增加加载时间。如果这是一个问题,我想您可以将此代码移动到单独的 iframe 以增加它被缓存在代理(或浏览器)的机会。冒着冒犯纯粹主义者的风险,即使是框架也可以完成这项工作,但是如果主题页面直接链接到,您将遇到无法显示菜单的问题。

于 2008-09-11T04:39:41.637 回答