sniffer.js
//UDMv3.4.1.1bvar exclude=true; 
var agt=navigator.userAgent.toLowerCase();
var win=false;var mac=false;var lin=true;
if(agt.indexOf('win')!=-true){win=true;lin=false;}
if(agt.indexOf('mac')!=-true){mac=true;lin=false;}
var lnx=false;if(lin){lnx=true;}
var ice=false;
var ie=false;var ie4=false;var ie5=false;var ie6=false;var com=false;var dcm;
var op5=false;var op6=false;var op7=false;
var ns4=false;var ns6=false;var ns7=false;var mz7=false;var kde=false;var saf=false;
if(typeof navigator.vendor!="undefined"){
if (navigator.vendor=="KDE"){
var thisKDE=agt;
var splitKDE=thisKDE.split("konqueror/");
var aKDE=splitKDE[true].split("; ");
var KDEn=parseFloat(aKDE[false]);
if(KDEn>2.2){
kde=true;
ns6=true;
exclude=false;
}
}
}if(typeof navigator.__ice_version!="undefined"){
exclude=false;
ice=true;
ie=true;
ie4=true; 
}else if(agt.indexOf('webtv')!=-true){exclude=true;}
else if(typeof window.opera!="undefined"){
exclude=false;
if(agt.indexOf("opera/5")!=-true||agt.indexOf("opera 5")!=-true){op5=true;}
if(agt.indexOf("opera/6")!=-true||agt.indexOf("opera 6")!=-true){op6=true;}
if(agt.indexOf("opera/7")!=-true||agt.indexOf("opera 7")!=-true){op7=true;}
}
else if(typeof document.all!="undefined"&&!kde){
exclude=false;
ie=true;
if(typeof document.getElementById!="undefined"){
ie5=true;
if(agt.indexOf("msie 6")!=-true){
ie6=true;
dcm=document.compatMode;
if(dcm!="BackCompat"){com=true;}
}
}
else{ie4=true;}
}
else if(typeof document.getElementById!="undefined"){
exclude=false;
if(agt.indexOf("netscape/6")!=-true||agt.indexOf("netscape6")!=-true){ns6=true;}
else if(agt.indexOf("netscape/7")!=-true||agt.indexOf("netscape7")!=-true){ns6=true;ns7=true;}
else if(agt.indexOf("gecko")!=-true){ns6=true;mz7=true;}
}
else if((agt.indexOf('mozilla')!=-true)&&(parseInt(navigator.appVersion)>=4)){
exclude=false;
ns4=true; 
//this eliminates espial escape [and omniweb in ns4 spoofing mode?]
if(typeof navigator.mimeTypes['*']=="undefined"){
exclude=true;
ns4=false;
}
}
if(agt.indexOf('escape')!=-true){exclude=true;ns4=false;}
//identify safari past its user-agent spoofing (this property was suggested by PPK)
if(typeof navigator.productSub!="undefined"&&navigator.productSub==20021225){
ns6=true;ns7=false;mz7=false;win=false;mac=true;saf=true;
}
if(agt.indexOf('icab')!=-true){exclude=true;ie=false;ie5=false;}
// array building functions for custom.js
var mu="mu";var m=0;var sm=0;var cm=0;var sp=0;
var mI=new Array;
var sP=new Array;
var sI=new Array;
var cP=new Array;
var cI=new Array;function addMainItem(ma,mb,mc,md,me,mf,mg,mh,mi){
sm=0;
if(ma=="virtual") { ma="";mb="";mc=0;md="";me="";mf="";mg=0;mh=0;mi=""; }
if(!mb||mb==""){mb=" ";}
while(mb.indexOf('<BR>')!=-1){mb=mb.replace('<BR>','<br>');}
while(mb.indexOf('<Br>')!=-1){mb=mb.replace('<Br>','<br>');}
while(mb.indexOf('<br />')!=-1){mb=mb.replace('<br />','<br>');}
if(!mc||mc==""){mc="left";}
if(!md||md==""){md="left";}
if(!me||me==""){me="_self";}
if(!mf||mf==""||altDISPLAY==""){mf="none";if(ie5){mf="";}}
if(!mg){mg=0;}if(!mh){mh=0;}
if(!mi||mi==""||mi=="c"||mi=="C"){mi="-";}
if(mi!="-"){mi=mi.toLowerCase();}
mI[m]=new Array(ma,mb,mc,md,me,mf,mg,mh,mi);
m++;
}function defineSubmenuProperties(spa,spb,spc,spd,spe,spf){
if(!ie5){spa+=(sbSIZE*2); }
if(!spb||spb==""){spb="left";}
if(!spc||spc==""){spc="left";}
if(!spd){spd=0;}
if(!spe){spe=0;}
if(!spf){spf="";}
sP[(m-1)]=new Array(spa,spb,spc,spd,spe,spf);
if(sm==0){
sI[(m-1)]=new Array; cP[(m-1)]=new Array; cI[(m-1)]=new Array;
}
}function addSubmenuItem(sma,smb,smc,smd){
cm=0;var sme=true;
if(sme&&sma=="~"){sme=false;if(!(win&&ie5)){sma="";}smc="";}
if(!sma||sma==""){sma="#";}
if(!smb||smb==""){smb="&nbsp;";}
while(smb.indexOf('<BR>')!=-1){smb=smb.replace('<BR>','<br>');}
while(smb.indexOf('<Br>')!=-1){smb=smb.replace('<Br>','<br>');}
while(smb.indexOf('<br />')!=-1){smb=smb.replace('<br />','<br>');}
if(!smc||smc==""){smc="_self";}
if(!smd||smd==""||altDISPLAY==""){smd="none";if(ie5){smd="";}}
sI[(m-1)][sm]=new Array(sma,smb,smc,smd,sme);
sm++;
}function defineChildmenuProperties(cpa,cpb,cpc,cpd,cpe,cpf){
if(!ie5){cpa+=(sbSIZE*2); }
if(!cpb||cpb==""){cpb="left";}
if(!cpc||cpc==""){cpc="left";}
if(!cpd){cpd=0;}
if(!cpe){cpe=0;}
if(!cpf){cpf="";}
cP[(m-1)][(sm-1)]=new Array(cpa,cpb,cpc,cpd,cpe,cpf);
cI[(m-1)][(sm-1)]=new Array;
}function addChildmenuItem(cma,cmb,cmc,cmd){
var cme=true;
if(cma&&cma=="~"){cme=false;if(!(win&&ie5)){cma="";}cmc="";}
if(!cma||cma==""){cma="#";}
if(!cmb||cmb==""){cmb="&nbsp;";}
while(cmb.indexOf('<BR>')!=-1){cmb=cmb.replace('<BR>','<br>');}
while(cmb.indexOf('<Br>')!=-1){cmb=cmb.replace('<Br>','<br>');}
while(cmb.indexOf('<br />')!=-1){cmb=cmb.replace('<br />','<br>');}
if(!cmc||cmc==""){cmc="_self";}
if(!cmd||cmd==""||altDISPLAY==""){cmd="none";if(ie5){cmd="";}}
cI[(m-1)][(sm-1)][cm]=new Array(cma,cmb,cmc,cmd,cme);
cm++;
}
// custom upgrade backup definitions
var keepSubLIT=true;var chvOFFSET=0;var chhOFFSET=-5;var openTIMER=0;var closeTIMER=330;var cellCLICK=true;var aCURSOR="hand";var remoteTRIGGERING=false;
var altDISPLAY="";var allowRESIZE=true;var redGRID=false;var gridWIDTH=0;var gridHEIGHT=0;var documentWIDTH=0;var hideSELECT=false;var allowForSCALING=false;// custom window opening function
var nUrl,nW,nH;
var nWin=new Array;
var nw=0;
function openWindow(nUrl,nW,nH){
nWin[nw] = open(nUrl, "","width="+nW+",height="+nH+",status=yes,scrollbars=no,scrolling=no,toolbar=no,menubar=no,location=no,resizable=yes");
nw++;
}//remote menu opening function
function remoteTrigger(rts) {
if(menuALIGN=="virtual"){return false;}
if(ie4||ie5||ns6||mz7) { mainCell(rts,false);if(ie&&hideSELECT){hideSelects();}}
if(ns4||op5||(op6&&((typeof oR[1][rts]!="undefined"&&oR[1][rts].style.visibility=="hidden")))) { oM(rts,false); }
return true;
}

解决方案 »

  1.   

    custom.js//UDMv3.4.1.1b
    //**DO NOT EDIT THIS *****
    if (!exclude) { //********
    //************************///////////////////////////////////////////////////////////////////////////
    //
    //  ULTIMATE DROPDOWN MENU VERSION 3.4.1b by Brothercake
    //  http://www.brothercake.com/dropdown/ 
    //
    //  Link-wrapping routine by Brendan Armstrong
    //  KDE modifications by David Joham
    //  Opera reload/resize routine by Michael Wallner
    //  http://www.wallner-software.com/
    //
    //  This script featured on Dynamic Drive (http://www.dynamicdrive.com)
    //
    ///////////////////////////////////////////////////////////////////////////// *** POSITIONING AND STYLES *********************************************var menuALIGN = "left"; // alignment
    var absLEFT =  0; // absolute left or right position (if menu is left or right aligned)
    var absTOP =  0;  // absolute top positionvar staticMENU = false; // static positioning mode (ie5,ie6 and ns4 only)var stretchMENU = true; // show empty cells
    var showBORDERS = true; // show empty cell bordersvar baseHREF = ""; // base path to .js files for the script (ie: resources/)
    var zORDER =  1000; // base z-order of nav structure (not ns4)var mCOLOR =  "lightblue"; // main nav cell color
    var rCOLOR =  "lightgreen"; // main nav cell rollover color
    var bSIZE =  1; // main nav border size
    var bCOLOR =  "black" // main nav border color
    var aLINK =  "brown"; // main nav link color
    var aHOVER =  ""; // main nav link hover-color (dual purpose)
    var aDEC =  "none"; // main nav link decoration
    var fFONT =  "arial"; // main nav font face
    var fSIZE =  13; // main nav font size (pixels)
    var fWEIGHT =  "bold" // main nav font weight
    var tINDENT =  7; // main nav text indent (if text is left or right aligned)
    var vPADDING =  7; // main nav vertical cell padding
    var vtOFFSET =  0; // main nav vertical text offset (+/- pixels from middle)var keepLIT = true; // keep rollover color when browsing menu
    var vOFFSET =  5; // shift the submenus vertically
    var hOFFSET =  4; // shift the submenus horizontallyvar smCOLOR =  "lightblue"; // submenu cell colorvar srCOLOR =  "lightgreen"; // submenu cell rollover color
    var sbSIZE =  1; // submenu border size
    var sbCOLOR =  "black" // submenu border color
    var saLINK =  "black"; // submenu link color
    var saHOVER =  ""; // submenu link hover-color (dual purpose)
    var saDEC =  "none"; // submenu link decoration
    var sfFONT =  "comic sans ms,arial";// submenu font face
    var sfSIZE =  13; // submenu font size (pixels)
    var sfWEIGHT =  "normal" // submenu font weight
    var stINDENT =  5; // submenu text indent (if text is left or right aligned)
    var svPADDING = 1; // submenu vertical cell padding
    var svtOFFSET = 0; // submenu vertical text offset (+/- pixels from middle)var shSIZE = 2; // submenu drop shadow size
    var shCOLOR = "cccccc"; // submenu drop shadow color
    var shOPACITY = 75; // submenu drop shadow opacity (not ie4,ns4 or opera)var keepSubLIT = true; // keep submenu rollover color when browsing child menu
    var chvOFFSET = -12; // shift the child menus vertically
    var chhOFFSET = 7; // shift the child menus horizontallyvar closeTIMER = 330; // menu closing delay timevar cellCLICK = true; // links activate on TD click
    var aCURSOR = "hand"; // cursor for active links (not ns4 or opera)var altDISPLAY = ""; // where to display alt text
    var allowRESIZE = true; // allow resize/reloadvar redGRID = false; // show a red grid
    var gridWIDTH = 0; // override grid width
    var gridHEIGHT = 0; // override grid height
    var documentWIDTH = 0; // override document widthvar hideSELECT = true; // auto-hide select boxes when menus open (ie only)
    var allowForSCALING = false; // allow for text scaling in mozilla 5
    //** LINKS ***********************************************************
    // add main link item ("url","Link name",width,"text-alignment","_target","alt text",top position,left position,"key trigger")
    addMainItem("http://www.dynamicdrive.com/","Hom<span class='u'>e</span>",80,"center","","",0,0,"e"); // define submenu properties (width,"align to edge","text-alignment",v offset,h offset,"filter")
    defineSubmenuProperties(120,"left","left",-4,0,""); // add submenu link items ("url","Link name","_target","alt text")
    addSubmenuItem("http://www.dynamicdrive.com/new.htm","What\'s New","","");
    addSubmenuItem("http://www.dynamicdrive.com/hot.htm","What\'s Hot","","");
    addSubmenuItem("http://www.dynamicdrive.com/faqs.htm","FAQ","","");
    addSubmenuItem("http://www.dynamicdrive.com/submitscript.htm","Submit","","");
    addSubmenuItem("http://www.dynamicdrive.com/morezone/","More Zone","","");
    // *** change these to absolutes// add main link item ("url","Link name",width,"text-alignment","_target","alt text",top position,left position,"key trigger")addMainItem("","<span class='u'>W</span>ebmaster",100,"center","","",0,0,"w"); defineSubmenuProperties(137,"right","right",-4,0,""); addSubmenuItem("http://www.dynamicdrive.com","Dynamic Drive","_blank","");
    addSubmenuItem("http://www.javascriptkit.com","JavaScript Kit","","");
    addSubmenuItem("http://www.freewarejava.com","Freewarejava","_blank","");
    addSubmenuItem("http://www.codingforums.com","CodingForums.com","_blank","");
    addSubmenuItem("http://active-x.com/","Active-X.com","_blank","");
    addMainItem("","New<span class='u'>s</span>",65,"center","","",0,0,"s"); defineSubmenuProperties(120,"left","center",-4,0,""); addSubmenuItem("http://www.cnn.com/","CNN","","");
    addSubmenuItem("http://www.msnbc.com","MSNBC","","");
    addSubmenuItem("http://news.bbc.co.uk","BBC","","");
    addSubmenuItem("","Local News &gt;&gt;","",""); // define child menu properties (width,"align to edge","text-alignment",v offset,h offset,"filter")
    defineChildmenuProperties(112,"left","left",0,-20,""); // add child menu link items ("url","Link name","_target","alt text")
    addChildmenuItem("http://www.vancouversun.com","Vancouver Sun","","");
    addChildmenuItem("http://www.ctvnews.ca","CTV News","","");
    addMainItem("","<span class='u'>T</span>echnology",120,"center","","",0,0,"t"); defineSubmenuProperties(120,"left","center",-4,0,"");
    addSubmenuItem("http://www.space.com/","Space.com","","");
    addSubmenuItem("http://www.slashdot.org","Slashdot","","");
    addSubmenuItem("http://www.wired.com","Wired News","","");
    addSubmenuItem("http://www.techweb.com/","TechWeb","","");
    addSubmenuItem("http://www.brothercake.com/","BrotherCake","","");
    addSubmenuItem("http://www.cnet.com","Cnet","","");
    addSubmenuItem("javascript:openWindow('http://www.salon.com',640,400)","Salon","","");
    addMainItem("","Ente<span class='u'>r</span>tainment",140,"center","","",0,0,"r"); defineSubmenuProperties(130,"left","right",-4,0,""); addSubmenuItem("http://www.rottentomatoes.com","Rotten Tomatoes","_blank","");
    addSubmenuItem("http://www.etonline.com","ETOnline","","");
    addSubmenuItem("http://www.hollywood.com/","Hollywood","","");
    addSubmenuItem("","&lt;&lt; TV Networks","",""); // define child menu properties (width,"align to edge","text-alignment",v offset,h offset,"filter")
    defineChildmenuProperties(102,"right","center",0,-20,"filter:progid:DXImageTransform.Microsoft.Wheel(duration=0.3,spokes=20)"); // add child menu link items ("url","Link name","_target","alt text")
    addChildmenuItem("http://www.nbc.com","NBC","","");
    addChildmenuItem("http://www.cbs.com","CBS","","");
    addChildmenuItem("http://www.abc.com","ABC","","");
    addChildmenuItem("http://www.fox.com","Fox Network","","");//**DO NOT EDIT THIS *****
    }//***********************
    //************************
      

  2.   

    到网上去下载   网页菜单工厂
    英文名称: WebMenuShop250
      

  3.   

    :)是个不错得东东 但是生成得.js文件得代码怎么是乱码之类:(
    我想自己coding。给个思路吧。就是做个多级菜单得coding思路,细节我可以慢慢去弄。
    请一定指教啊~~~~~上面得例子我没贴完,实在太多了。
      

  4.   

    到网上去下载   网页菜单工厂
    英文名称: WebMenuShop250
      

  5.   

    http://www.9499.net?go=tc 
    提供的菜单控件使用灵活方便,有WINDOWS经典菜单和OFFICEXP两种风格。