2009-05-21 31 views
0

我在我維護的網站上有一些「超級菜單」風格的菜單。這些實質上是一組嵌套的<UL>。由於整個菜單中大約有150到200個條目,因此會在頁面上增加大量的內容,並使屏幕閱讀器變得非常痛苦。我應該如何更新從Javascript的兆菜單

我打算改變菜單,以便在頁面上只輸出菜單的頂層,這會將其中的99%剪掉,並且可以在非javascript客戶端使用。

如果javascript可用,我打算用完整的mega菜單替換簡單的頂級菜單。理想情況下,完整的菜單將存儲在JavaScript文件中,因爲這會讓瀏覽器緩存它(它不會經常更改)。

我的問題是,人們會如何推薦我將完整的菜單存儲在JavaScript文件中。目前我只是有類似的東西...

var menuhtml = '<ul id="megamenu"><li>blar blar...</ul>'; 
$("#megamenu").html(menuhtml); 
// more code here to get the menu to work as needed 

這似乎有點醜。顯而易見的答案是通過ajax請求獲取菜單html,但這隻有在我確信它會被緩存時纔會起作用,因爲如果我可以提供幫助的話,我不需要任何額外的http請求。

如果有人對獲得乾淨的解決方案有什麼好的建議,請告訴我。

回答

1

如果你有一個服務器端編程,你可以做的是有服務,是一個帶導航的JSON JavaScript文件。這將被瀏覽器緩存,然後JSON可以用來構建一個菜單。