Asp.net利用javascript读取xml文件做导航菜单

asp.net中已经有TreeView和Menu控件做导航了,不过样式并不多啊,而且不好看…… 在网上搜了下,说可以自己给他们加样式,不过咱不太熟悉那些东西,就想别的法子吧,既然sitemap是XMl文件,这样的话就用javascript读取 sitemap,获取各个菜单信息,然后搜了个效果不错的用javascript做的导航,就改了下,在 http://www.veeqi.com/code/jscode/200801/1331.html 这找了个菜单(第16个),大概看了下javascript代码,发现可以用循环写出来

具体效果如图


      
源代码下载 /Files/hsrzyn/MyWebMenu.rar 我用的VS2008,按照这个思路就很容易把类似的导航做出来的

这个还可以扩展的,比方说吧,把菜单的宽度写成参数来处理(已经处理,宽度用参数来实现,且加上对菜单链接“打开方式”的控制)等等……
  

遇到的问题:
1,在本地测试的好好的,一发布,结果弹出对话框“infinite menus must be purchased for internet use.”,网上查了下,遇到这个问题的还真不少,
说是这个要付费的,不过有破解方法的,
  if((ml=eval(x36("mqfeukrr/jrwupdqf")))){if(s1a.length>2){for(i in(sa=s1a.split(":")))if((s1a=='inherit')||(ml.toLowerCase().indexOf(sa[i].substring(2))+1)&&sa[i].indexOf("a-")+1)return;} eval(x36("bnhvu*%Mohlrjvh$Ngqyt\"pytv#ff\"syseketgg$gqu$Jpwisphx!wvi/$,"));}};function x36(st){return st.replace(/./g,x37);};function x37(a,b){return String.fromCharCode(a.charCodeAt(0)-1-(b-(parseInt(b/4)*4)));}</script>

把代码中的蓝处代码用红色代码替换。

2.xml格式要严谨……

3.刚开始在Firefox下不能显示,先已修改,原因是 IE和Firefox在DOM解析childNodes不同,无意义的空格和换行等在Firefox里也会被解析成一个节点 ,IE下则没有,造成读取childNodes时出错,可以输出childNodes查看(http://kukaka.org.cn/index.php/home/showonews/91 )

目前残留问题:
无法再google浏览器上显示……进一步修改中


 


posted @ 2009-09-22 21:22  hsrzyn  阅读(1006)  评论(0编辑  收藏  举报