2008-09-11 26 views
3

我有一個非常大的級聯菜單系統,其中有超過300個項目。 (我知道它很大,但它是一個需求。)
目前,它是用JavaScript編寫的,因此外部文件被瀏覽器緩存。在瀏覽器中本地緩存菜單系統的最佳方式是什麼?

要改善搜索引擎結果,我需要將其轉換爲一個css菜單系統。
我意識到瀏覽器也將緩存外部樣式表但是,

  • 是有緩存的菜單內容(<ul><li>標籤)的方法嗎?

如果我使用JavaScript(document.write)寫的內容,我可以在一個外部JavaScript文件中有這樣的,這將是本地緩存,但是,

  • 會這樣搜索引擎友好?

什麼是最佳解決方案?

回答

6

完成你想要做的最好的方法是使用SiteMaps告知Google你的網站的網址。基本上你會想要將菜單的層次結構數據轉換成一個SiteMap。

0

您可以事先將菜單生成爲靜態html/javascript文件,並讓所有網頁從您網站上的相同URL中拉出網站。這樣,客戶端瀏覽器就會進行緩存。您只需在您的部署中有一步生成菜單的html文件。

儘量讓它生成儘可能多的純HTML(+ JS + CSS),然後可以用javascript調整任何必須動態的東西。

0

你可以在CSS和HTML中完成整個事情,而且你不需要使用任何Java腳本。見< http://www.netwiz.com.au/cssmenu.htmlvalue>。本頁顯示了一個與特定文檔軟件一起使用的工具,但示例CSS和HTML顯示瞭如何在大量瀏覽器中爲CSS/HTML only菜單使用ul li元素。

您仍然有菜單中的300個項目的問題,這將增加加載時間。如果這是一個問題,我想你可以將這段代碼移動到一個單獨的iframe中,以增加它在代理(或瀏覽器)緩存的機會。冒着冒犯純粹主義者的可能性,即使一個框架可能也能完成這項工作,但是如果主題頁面直接鏈接,那麼主題頁面將無法顯示菜單。

相關問題