Avatar billede technux Nybegynder
12. maj 2001 - 01:12 Der er 39 kommentarer og
1 løsning

Netscape og .js

Jeg har et problem med at få Netscape til at læse .js filer:

Hvis jeg lader min kode fremstå som

<script type=\"text/javascript\" language=\"javaScript\">
<!--
kode her
//-->
</script>

Så virker alt som det skal i både IE og Netscape.

Laver jeg derimod

<script type=\"text/javascript\" src=\"inc/foldcode.js\" language=\"javaScript\"></script>

Så virker det kun i IE. Nogen der ved hvad koden eller Netscape fejler og kender en work-around?
Avatar billede technux Nybegynder
12. maj 2001 - 01:14 #1
foldcode.js indeholder naturligvis præcis samme kode, som den der er inden for <!-- //-->
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 01:14 #2
Du har ikke <!-- ... ude i JS-filen? Der står heller ikke <script>... i den?
Avatar billede technux Nybegynder
12. maj 2001 - 01:19 #3
Nej, kun koden. Alt andet er ikke med.
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 01:20 #4
har du en <base href=\"...\"> i din html-kode?  Og må vi forøvrigt se et link, så
vi kan teste det?
Avatar billede jakoba Nybegynder
12. maj 2001 - 01:26 #5
Olebol har snakket om at .js include i netscape nogen gang går bedre hvis der er en lille \"dummy script section\" lige foran i filen.

<script> var x; </script>
<script type=\"text/javascript\" src=\"inc/foldcode.js\" language=\"javaScript\"></script>

God knows why, men prøv.

mvh JakobA
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 01:28 #6
Ha ha, ja, det er faktisk rigtigt.... Men hvornår er svært at sige. Sidste gang
jeg så det, var det noget med at variablen x også blev brugt inde i .js-filen.
Avatar billede technux Nybegynder
12. maj 2001 - 01:35 #7
Det virkede desværre ikke her med et \"dummie script\".

Jeg har heller ikke nogen base href i min kode. Jeg kan ikke give noget link lige nu, da jeg ikke kan uploade til mit webhotel lige nu.
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 01:37 #8
Men disse to filer gør da at NS4.5 sagtens kan finde .js filen og udføre den:

xx.htm
------
<html>
<head>
<title> New Document </title>
</head>
<body>
<script type=\"text/javascript\" src=\"fold.js\" language=\"javaScript\"></script>
<script>fold_style();</script>
</body>
</html>

fold.js
------
function fold_style(){
str=\'\\n<style type=\"text/css\">\\n\'
str+=\'\\tDIV.cl\'+this.name+\'{position:absolute; \'+ this.clFold +\'; width:\'+this.width+\'; height:20}\\n\'
str+=\'\\tDIV.cl\'+this.name+\'Sub{position:absolute; \'+ this.clSub +\';height:20; width:\'+this.width+\';visibility:hidden}\\n\'
str+=\'\\tDIV.cl\'+this.name+\'Sub2{position:absolute; \'+ this.clSub2 +\';height:20; width:\'+this.width+\';visibility:hidden}\\n\'
str+=\'\\tDIV.cl\'+this.name+\'Sub3{position:absolute; \'+ this.clSub3 +\';height:20; width:\'+this.width+\';visibility:hidden}\\n\'
str+=\'\\tDIV.cl\'+this.name+\'Sub4{position:absolute; \'+ this.clSub4 +\';height:20; width:\'+this.width+\';visibility:hidden}\\n\'
str+=\'\\tDIV.cl\'+this.name+\'Sub5{position:absolute; \'+ this.clSub5 +\';height:20; width:\'+this.width+\';visibility:hidden}\\n\'
str+=\'\\t#div\'+this.name+\'Cont{\'+this.clCont+\'; left:\'+this.left+\'; top:\'+this.top+\'; height:\'+this.maxheight+\';width:\'+this.width+\'; visibility:hidden}\\n\'
str+=\'\\tA.cl\'+this.name+\'Links{\'+this.clFoldLinks+\'}\\n\'
str+=\'\\tA.cl\'+this.name+\'1Links{\'+this.clSubLinks+\'}\\n\'
str+=\'\\tA.cl\'+this.name+\'2Links{\'+this.clSub2Links+\'}\\n\'
str+=\'\\tA.cl\'+this.name+\'3Links{\'+this.clSub3Links+\'}\\n\'
str+=\'\\tA.cl\'+this.name+\'4Links{\'+this.clSub4Links+\'}\\n\'
str+=\'\\tA.cl\'+this.name+\'5Links{\'+this.clSub5Links+\'}\\n\'
str+=\'</style>\\n\\n\\n\'
document.write(str)
}
Avatar billede technux Nybegynder
12. maj 2001 - 01:44 #9
Finder lige al min DHTML kode, øjeblik
Avatar billede technux Nybegynder
12. maj 2001 - 01:48 #10
I <head> inkludere jeg foldcode.js, som indeholder:

function checkBrowser(){
        this.ver=navigator.appVersion
        this.dom=document.getElementById?1:0
        this.ie5=(this.ver.indexOf(\"MSIE 5\")>-1 && this.dom)?1:0;
        this.ie4=(document.all && !this.dom)?1:0;
        this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
        this.ns4=(document.layers && !this.dom)?1:0;
        this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
        return this
    }
    bw=new checkBrowser()
    function makeMenuObj(obj,nest,img,offimage,onimage){
        nest=(!nest) ? \'\':\'document.\'+nest+\'.\'                                       
          this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\"document.layers.\" +obj):0;       
        this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+\'document.\'+obj):0;   
        this.ref=bw.dom || bw.ie4? document:bw.ns4?this.css.document:0;       
        this.x=(bw.ns4 || bw.ns5)? this.css.left:this.css.offsetLeft;
        this.y=(bw.ns4 || bw.ns5)? this.css.top:this.css.offsetTop;       
        this.height=bw.ns4?this.ref.height:this.el.offsetHeight;       
        this.hideIt=b_hideIt; this.showIt=b_showIt; this.movey=b_movey
        this.status=0;   
        this.swap=b_swap
        if(onimage)this.onimage=onimage.src
        this.offimage=offimage
        if(img)this.img=this.ref.images[img]
        return this
    }
    function b_showIt(){this.css.visibility=\"visible\"; this.status=1}
    function b_hideIt(){this.css.visibility=\"hidden\"; this.status=0}
    function b_movey(y){this.y=y; this.css.top=this.y}   
    function b_swap(on){
        if(this.onimage && on){   
            this.img.src=this.onimage
        }else if(this.onimage && !on){
            this.img.src=this.offimage
        }
    }
   
    function foldoutMenuObj(name){
        this.menus=new Array()
        this.name=name;
        this.makeStyle=fold_style
        this.make=fold_make
        this.construct=fold_construct
        this.fold=fold
        this.foldstay=fold_stay
        this.foldsub=fold_sub
        this.foldsubstay=fold_sub_stay
        this.foldsub2=fold_sub2
        this.foldsub2stay=fold_sub2_stay
        this.foldsub3=fold_sub3
        this.foldsub3stay=fold_sub3_stay
        this.foldsub4=fold_sub4
        this.foldsub4stay=fold_sub4_stay
        this.placeAll=fold_placeAll;
        this.menus=new Array()
        this.a=0; this.b; this.c; this.d; this.e; this.f
        this.initexec=\'\'
        this.opn=fold_opn;
    }
   
    function fold_construct(){
        this.container=new makeMenuObj(\'div\'+this.name+\'Cont\')
        this.menu=new Array()
        menuheight=0;
        for(i=0;i<this.menus.length;i++){
            this.menu[i]=new makeMenuObj(\'div\'+this.name+i,\'div\'+this.name+\'Cont\',this.menus[i].img,this.menus[i].offimage,this.menus[i].onimage)
            this.menu[i].subs=this.menus[i].subs
            this.menu[i].sub=new Array()
            for(j=0;j<this.menu[i].subs;j++){
                this.menu[i].sub[j]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j,\'div\'+this.name+\'Cont\',this.menus[i][j].img,this.menus[i][j].offimage,this.menus[i][j].onimage)
                this.menu[i].sub[j].subs=this.menus[i][j].subs
                this.menu[i].sub[j].sub=new Array()
                for(a=0;a<this.menu[i].sub[j].subs;a++){
                    this.menu[i].sub[j].sub[a]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j+\"_\"+a,\'div\'+this.name+\'Cont\',this.menus[i][j][a].img,this.menus[i][j][a].offimage,this.menus[i][j][a].onimage)
                    this.menu[i].sub[j].sub[a].subs=this.menus[i][j][a].subs
                    this.menu[i].sub[j].sub[a].sub=new Array()
                    for(o=0;o<this.menu[i].sub[j].sub[a].subs;o++){
                        this.menu[i].sub[j].sub[a].sub[o]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j+\"_\"+a+\"_\"+o,\'div\'+this.name+\'Cont\',this.menus[i][j][a][o].img,this.menus[i][j][a][o].offimage,this.menus[i][j][a][o].onimage)
                        this.menu[i].sub[j].sub[a].sub[o].subs=this.menus[i][j][a][o].subs
                        this.menu[i].sub[j].sub[a].sub[o].sub=new Array()
                        for(p=0;p<this.menu[i].sub[j].sub[a].sub[o].subs;p++){
                            this.menu[i].sub[j].sub[a].sub[o].sub[p]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j+\"_\"+a+\"_\"+o+\"_\"+p,\'div\'+this.name+\'Cont\',this.menus[i][j][a][o][p].img,this.menus[i][j][a][o][p].offimage,this.menus[i][j][a][o][p].onimage)
                            this.menu[i].sub[j].sub[a].sub[o].sub[p].subs=this.menus[i][j][a][o][p].subs
                            this.menu[i].sub[j].sub[a].sub[o].sub[p].sub=new Array()
                            for(z=0;z<this.menu[i].sub[j].sub[a].sub[o].sub[p].subs;z++){
                                this.menu[i].sub[j].sub[a].sub[o].sub[p].sub[z]=new makeMenuObj(\'div\'+this.name+i+\"_\"+j+\"_\"+a+\"_\"+o+\"_\"+p+\"_\"+z,\'div\'+this.name+\'Cont\')
                            }
                        }
                    }
                }
            }
        }
        this.menus=\"\"
        if(this.initexec) eval(this.initexec)
        else this.placeAll()
        this.container.showIt()
    }
    function fold_opn(a,b,c,d,e,f){
        if(a>-1) this.initexec+=\"this.fold(\"+a+\",\"+this.substay+\");\"
        if(b>-1) this.initexec+=\"this.foldsub(\"+a+\",\"+b+\",\"+this.sub2stay+\");\"
        if(c>-1) this.initexec+=\"this.foldsub2(\"+a+\",\"+b+\",\"+c+\",\"+this.sub3stay+\");\"
        if(d>-1) this.initexec+=\"this.foldsub3(\"+a+\",\"+b+\",\"+c+\",\"+d+\",\"+this.sub4stay+\");\"
        if(e>-1) this.initexec+=\"this.foldsub4(\"+a+\",\"+b+\",\"+c+\",\"+d+\",\"+e+\",\"+this.sub5stay+\");\"
        if(f>-1) this.initexec+=\"this.foldsub5(\"+a+\",\"+b+\",\"+c+\",\"+d+\",\"+e+\",\"+f+\",\"+this.sub6stay+\");\"
    }
    function fold_stay(a){
        for(z=0;z<this.menu.length;z++){
            if(z!=a) this.fold(z,1,1)
        }
        this.fold(a,1,0)
    }
    function fold(a,fromtop,noplace){   
        if(fromtop){
            for(b=0;b<this.menu[a].subs;b++){
                if(this.menu[a].sub[b].status || noplace){
                    this.menu[a].sub[b].hideIt()
                    this.menu[a].swap(0)
                    this.foldsub(a,b,1,1)
                }else{
                    this.menu[a].sub[b].showIt()
                    this.menu[a].swap(1)
                }
            }
            if(!noplace) this.placeAll()
        }else this.foldstay(a)
    }
    function fold_sub_stay(a,b){
        for(z=0;z<this.menu[a].subs;z++){
            if(b!=z) this.foldsub(a,z,1,1)
        }
        this.foldsub(a,b,1,0)
    }
    function fold_sub(a,b,fromtop,noplace){   
        if(fromtop){
            for(c=0;c<this.menu[a].sub[b].subs;c++){
                if(this.menu[a].sub[b].sub[c].status || noplace){
                    this.menu[a].sub[b].sub[c].hideIt()
                    this.menu[a].sub[b].swap(0)
                    this.foldsub2(a,b,c,1,1)
                }else{
                    this.menu[a].sub[b].sub[c].showIt()
                    this.menu[a].sub[b].swap(1)
                }
            }
            if(!noplace) this.placeAll()
        }else this.foldsubstay(a,b)
    }
    function fold_sub2_stay(a,b,c){
        for(z=0;z<this.menu[a].sub[b].subs;z++){
            if(c!=z) this.foldsub2(a,b,z,1,1)
        }
        this.foldsub2(a,b,c,1,0)
    }
    function fold_sub2(a,b,c,fromtop,noplace){
        if(fromtop){
            for(d=0;d<this.menu[a].sub[b].sub[c].subs;d++){
                if(this.menu[a].sub[b].sub[c].sub[d].status || noplace){
                    this.menu[a].sub[b].sub[c].sub[d].hideIt()
                    this.menu[a].sub[b].sub[c].swap(0)
                    this.foldsub3(a,b,c,d,1,1)
                }else{
                    this.menu[a].sub[b].sub[c].sub[d].showIt()
                    this.menu[a].sub[b].sub[c].swap(1)
                }
            }
            if(!noplace) this.placeAll()
        }else this.foldsub2stay(a,b,c)
    }
    function fold_sub3_stay(a,b,c,d){
        for(z=0;z<this.menu[a].sub[b].sub[c].subs;z++){
            if(z!=d) this.foldsub3(a,b,c,z,1,1)
        }
        this.foldsub3(a,b,c,d,1,0)
    }
    function fold_sub3(a,b,c,d,fromtop,noplace){
        if(fromtop){
            for(e=0;e<this.menu[a].sub[b].sub[c].sub[d].subs;e++){
                if(this.menu[a].sub[b].sub[c].sub[d].sub[e].status || noplace){
                    this.menu[a].sub[b].sub[c].sub[d].sub[e].hideIt()
                    this.menu[a].sub[b].sub[c].sub[d].swap(0)
                    this.foldsub4(a,b,c,d,e,1,1)
                }else{
                    this.menu[a].sub[b].sub[c].sub[d].sub[e].showIt()
                    this.menu[a].sub[b].sub[c].sub[d].swap(1)   
                }   
            }
            if(!noplace) this.placeAll()
        }else this.foldsub3stay(a,b,c,d)
    }
    function fold_sub4_stay(a,b,c,d,e){
        for(z=0;z<this.menu[a].sub[b].sub[c].sub[d].subs;z++){
            if(z!=e) this.foldsub4(a,b,c,d,z,1,1)
        }
        this.foldsub4(a,b,c,d,e,1,0)
    }
    function fold_sub4(a,b,c,d,e,fromtop,noplace){
        if(fromtop){
            for(f=0;f<this.menu[a].sub[b].sub[c].sub[d].sub[e].subs;f++){
                if(this.menu[a].sub[b].sub[c].sub[d].sub[e].sub[f].status || noplace){
                    this.menu[a].sub[b].sub[c].sub[d].sub[e].sub[f].hideIt()
                    this.menu[a].sub[b].sub[c].sub[d].sub[e].swap(0)
                }else{
                    this.menu[a].sub[b].sub[c].sub[d].sub[e].sub[f].showIt()
                    this.menu[a].sub[b].sub[c].sub[d].sub[e].swap(1)
                }
            }
            if(!noplace) this.placeAll()
        }else this.foldsub4stay(a,b,c,d,e)
    }
    function fold_placeAll(){
        menuheight=0;
        for(i=0;i<this.menu.length;i++){
            this.menu[i].movey(menuheight)
            menuheight+=this.menu[i].height+this.menubetween
            for(j=0;j<this.menu[i].subs;j++){
                this.menu[i].sub[j].movey(menuheight)
                if(this.menu[i].sub[j].status) menuheight+=this.menu[i].sub[j].height+this.menubetween
                for(a=0;a<this.menu[i].sub[j].subs;a++){
                    this.menu[i].sub[j].sub[a].movey(menuheight)
                    if(this.menu[i].sub[j].sub[a].status) menuheight+=this.menu[i].sub[j].sub[a].height+this.menubetween
                    for(o=0;o<this.menu[i].sub[j].sub[a].subs;o++){
                        this.menu[i].sub[j].sub[a].sub[o].movey(menuheight)
                        if(this.menu[i].sub[j].sub[a].sub[o].status) menuheight+=this.menu[i].sub[j].sub[a].sub[o].height+this.menubetween
                        for(p=0;p<this.menu[i].sub[j].sub[a].sub[o].subs;p++){
                            this.menu[i].sub[j].sub[a].sub[o].sub[p].movey(menuheight)
                            if(this.menu[i].sub[j].sub[a].sub[o].sub[p].status) menuheight+=this.menu[i].sub[j].sub[a].sub[o].sub[p].height+this.menubetween
                            for(z=0;z<this.menu[i].sub[j].sub[a].sub[o].sub[p].subs;z++){
                                this.menu[i].sub[j].sub[a].sub[o].sub[p].sub[z].movey(menuheight)
                                if(this.menu[i].sub[j].sub[a].sub[o].sub[p].sub[z].status) menuheight+=this.menu[i].sub[j].sub[a].sub[o].sub[p].sub[z].height+this.menubetween
                            }
                        }
                    }
                }
            }
        }
    }
   
    function fold_style(){
        str=\'\\n<style type=\"text/css\">\\n\'
        str+=\'\\tDIV.cl\'+this.name+\'{position:absolute; \'+ this.clFold +\'; width:\'+this.width+\'; height:20}\\n\'
        str+=\'\\tDIV.cl\'+this.name+\'Sub{position:absolute; \'+ this.clSub +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
        str+=\'\\tDIV.cl\'+this.name+\'Sub2{position:absolute; \'+ this.clSub2 +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
        str+=\'\\tDIV.cl\'+this.name+\'Sub3{position:absolute; \'+ this.clSub3 +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
        str+=\'\\tDIV.cl\'+this.name+\'Sub4{position:absolute; \'+ this.clSub4 +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
        str+=\'\\tDIV.cl\'+this.name+\'Sub5{position:absolute; \'+ this.clSub5 +\';height:20; width:\'+this.width+\'; visibility:hidden}\\n\'
        str+=\'\\t#div\'+this.name+\'Cont{\'+this.clCont+\'; left:\'+this.left+\'; top:\'+this.top+\'; height:\'+this.maxheight+\'; width:\'+this.width+\'; visibility:hidden}\\n\'
        str+=\'\\tA.cl\'+this.name+\'Links{\'+this.clFoldLinks+\'}\\n\'
        str+=\'\\tA.cl\'+this.name+\'1Links{\'+this.clSubLinks+\'}\\n\'
        str+=\'\\tA.cl\'+this.name+\'2Links{\'+this.clSub2Links+\'}\\n\'
        str+=\'\\tA.cl\'+this.name+\'3Links{\'+this.clSub3Links+\'}\\n\'
        str+=\'\\tA.cl\'+this.name+\'4Links{\'+this.clSub4Links+\'}\\n\'
        str+=\'\\tA.cl\'+this.name+\'5Links{\'+this.clSub5Links+\'}\\n\'
        str+=\'</style>\\n\\n\\n\'
        document.write(str)
    }
    function fold_make_link(text,lnk,target,offimage,id,cl,ev,acl){
        str2=\'\\t<div id=\"div\'+id+\'\" class=\"cl\'+cl+\'\"><a href=\"\'
        if(lnk)    str2+=lnk+\'\" \'
        else str2+=\'#\" \'
        if(!lnk || target){
            str2+=\'onclick=\"\'+ev+\'; if(bw.ie5 || bw.ie4) this.blur()\'
            if(!target) str2+=\'; return false\'; str2+=\'\"\'
        }
        if(target) str2+=\' target=\"\'+target+\'\"\'; str2+=\' class=\"cl\'+acl+\'Links\">\'
        if(offimage) str2+=\'<img src=\"\'+offimage+\'\" name=\"img\'+id+\'\" border=\"0\">\'
        str2+=text+\'</a><br></div>\\n\'
        return str2
    }
   
    function fold_make(type,text,lnk,target,offimage,onimage,fc,opn,end){
        str=\"\" ; fc=fc?fc+\'; \':\'\';
        if(!offimage) offimage=\"\"; if(!onimage) onimage=\"\"
        if(this.a==0) str=\'<div id=\"div\'+this.name+\'Cont\">\\n\'
        if(type==\"top\"){
            id=this.name+this.a
            str+=fold_make_link(text,lnk,target,offimage,this.name+this.a,this.name,fc+this.name+\'.fold(\'+this.a+\',\'+this.name+\'.substay)\',this.name)
            this.menus[this.a]=new Array()
            this.menus[this.a].subs=0
            if(onimage){ this.menus[this.a].onimage=new Image(); this.menus[this.a].onimage.src=onimage; this.menus[this.a].offimage=offimage; this.menus[this.a].img=\'img\'+id}
            this.a++; this.b=0; if(opn) this.opn(this.a-1)
        }else if(type==\"sub\"){
            id=this.name+(this.a-1)+\'_\'+(this.b),this.name+\'Sub\'
            str+=fold_make_link(text,lnk,target,offimage,id,this.name+\'Sub\',fc+this.name+\'.foldsub(\'+(this.a-1)+\',\'+(this.b)+\',\'+this.name+\'.sub2stay)\',this.name+\'1\')
            if(opn) this.opn(this.a-1,this.b)
            this.menus[this.a-1][this.b]=new Array()
            if(onimage){ this.menus[this.a-1][this.b].onimage=new Image(); this.menus[this.a-1][this.b].onimage.src=onimage; this.menus[this.a-1][this.b].offimage=offimage; this.menus[this.a-1][this.b].img=\'img\'+id}
            this.b++; this.menus[this.a-1].subs=this.b; this.c=0
        }else if(type==\"sub2\"){
            id=this.name+(this.a-1)+\'_\'+(this.b-1)+\'_\'+(this.c)
            str+=fold_make_link(text,lnk,target,offimage,id,this.name+\'Sub2\',fc+this.name+\'.foldsub2(\'+(this.a-1)+\',\'+(this.b-1)+\',\'+(this.c)+\',\'+this.name+\'.sub3stay)\',this.name+\'2\')
            if(opn) this.opn(this.a-1,this.b-1,this.c)
            this.menus[this.a-1][this.b-1][this.c]=new Array()
            if(onimage){ this.menus[this.a-1][this.b-1][this.c].onimage=new Image(); this.menus[this.a-1][this.b-1][this.c].onimage.src=onimage; this.menus[this.a-1][this.b-1][this.c].offimage=offimage; this.menus[this.a-1][this.b-1][this.c].img=\'img\'+id}
            this.c++; this.menus[this.a-1][this.b-1].subs=this.c; this.d=0
        }else if(type==\"sub3\"){
            id=this.name+(this.a-1)+\'_\'+(this.b-1)+\'_\'+(this.c-1)+\'_\'+(this.d)
            str+=fold_make_link(text,lnk,target,offimage,id,this.name+\'Sub3\',fc+this.name+\'.foldsub3(\'+(this.a-1)+\',\'+(this.b-1)+\',\'+(this.c-1)+\',\'+this.d+\',\'+this.name+\'.sub4stay)\',this.name+\'3\')
            if(opn) this.opn(this.a-1,this.b-1,this.c-1,this.d)
            this.menus[this.a-1][this.b-1][this.c-1][this.d]=new Array()
            if(onimage){ this.menus[this.a-1][this.b-1][this.c-1][this.d].onimage=new Image(); this.menus[this.a-1][this.b-1][this.c-1][this.d].onimage.src=onimage; this.menus[this.a-1][this.b-1][this.c-1][this.d].offimage=offimage; this.menus[this.a-1][this.b-1][this.c-1][this.d].img=\'img\'+id}
            this.d++; this.menus[this.a-1][this.b-1][this.c-1].subs=this.d; this.e=0
        }else if(type==\"sub4\"){
            id=this.name+(this.a-1)+\'_\'+(this.b-1)+\'_\'+(this.c-1)+\'_\'+(this.d-1)+\'_\'+(this.e)
            str+=fold_make_link(text,lnk,target,offimage,id,this.name+\'Sub4\',fc+this.name+\'.foldsub4(\'+(this.a-1)+\',\'+(this.b-1)+\',\'+(this.c-1)+\',\'+(this.d-1)+\',\'+this.e+\',\'+this.name+\'.sub5stay)\',this.name+\'4\')
            if(opn) this.opn(this.a-1,this.b-1,this.c-1,this.d-1,this.e)
            this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e]=new Array()
            if(onimage){ this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e].onimage=new Image(); this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e].onimage.src=onimage; this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e].offimage=offimage; this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e].img=\'img\'+id}
            this.e++; this.menus[this.a-1][this.b-1][this.c-1][this.d-1].subs=this.e; this.f=0
        }else if(type==\"sub5\"){
            str+=\'\\t\\t\\t<div id=\"div\'+this.name+(this.a-1)+\'_\'+(this.b-1)+\'_\'+(this.c-1)+\'_\'+(this.d-1)+\'_\'+(this.e-1)+\'_\'+(this.f)+\'\" class=\"cl\'+this.name+\'Sub5\"><a href=\"\'+lnk+\'\" onclick=\"\'+fc+\'\" class=\"cl\'+this.name+\'5Links\"\'
            if(target) str+=\' target=\"+target+\"\'
            str+=\'>\'+text+\'</a><br></div>\\n\'
            if(opn) this.opn(this.a-1,this.b-1,this.c-1,this.d-1,this.e-1,this.f)
            this.f++; this.menus[this.a-1][this.b-1][this.c-1][this.d-1][this.e-1].subs=this.f
        }
        if(end) str+=\"</div>\"
        document.write(str)
    }

Længere nede i min HTML kode inkluderer jeg så fold.js, der indeholder:

oFoldMenu=new foldoutMenuObj(\'oFoldMenu\')
oFoldMenu.substay=false
oFoldMenu.sub2stay=false
oFoldMenu.sub3stay=false
oFoldMenu.sub4stay=false
oFoldMenu.sub5stay=false
oFoldMenu.sub6stay=false 

oFoldMenu.menubetween=20

oFoldMenu.left=4
oFoldMenu.top=10
oFoldMenu.width=120
oFoldMenu.maxheight=500

oFoldMenu.clFold=\"\"
oFoldMenu.clSub=\"left:10\"
oFoldMenu.clSub2=\"left:20\"
oFoldMenu.clSub3=\"left:30\"
oFoldMenu.clSub4=\"left:10\"
oFoldMenu.clSub5=\"left:10\"

oFoldMenu.clCont=\"position:relative;\"
oFoldMenu.clFoldLinks=\"font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; text-decoration:none; font-weight:bold; color:#000000\"
oFoldMenu.clSubLinks=\"font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; text-decoration:none; font-weight:bold; color:#000000\"
oFoldMenu.clSub2Links=\"font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; text-decoration:none; font-weight:bold; color:#000000\"
oFoldMenu.clSub3Links=\"font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; text-decoration:none; font-weight:bold; color:#000000\"
oFoldMenu.clSub4Links=\"font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; text-decoration:none; font-weight:bold; color:#000000\"
oFoldMenu.clSub5Links=\"font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; text-decoration:none; font-weight:bold; color:#000000\"

oFoldMenu.makeStyle()

//forside menu
oFoldMenu.make(\'top\',\'&raquo; Forside\',\'<? $DOCUMENT_ROOT ?>/index.php\',\'\',\'\')

//nyheder menu
oFoldMenu.make(\'top\',\'&raquo; Nyheder\',\'<? $DOCUMENT_ROOT ?>/home.php\',\'\',\'\')

//tilbud menu
oFoldMenu.make(\'top\',\'&raquo; Aktuelle tilbud\',\'<? $DOCUMENT_ROOT ?>/tilbud.php\',\'\',\'\')

//profil menu
oFoldMenu.make(\'top\',\'&raquo; Firma profil\',0,0,\'\',\'\',\'\',0)
oFoldMenu.make(\'sub\',\'Historie\',\'<? $DOCUMENT_ROOT ?>/profil/\',\'\',\'\')
oFoldMenu.make(\'sub\',\'Medarbejdere\',\'<? $DOCUMENT_ROOT ?>/profil/?id=1\',\'\',\'\')
oFoldMenu.make(\'sub\',\'Stillinger\',\'<? $DOCUMENT_ROOT ?>/profil/?id=2\',\'\',\'\')
oFoldMenu.make(\'sub\',\'Kontakt os\',\'<? $DOCUMENT_ROOT ?>/profil/?id=3\',\'\',\'\')

//produkter menu
oFoldMenu.make(\'top\',\'&raquo; Produkter\',0,0,\'\',\'\',\'\',0)
oFoldMenu.make(\'sub\',\'Indend&oslash;rs maling\',0,0,\'\',\'\',\'\',0)
    oFoldMenu.make(\'sub2\',\'En slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En anden slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En tredje slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En fjerde slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En femte slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En sjette slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
oFoldMenu.make(\'sub\',\'Udend&oslash;rs maling\',0,0,\'\',\'\',\'\',0)
    oFoldMenu.make(\'sub2\',\'En slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En anden slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En tredje slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En fjerde slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En femte slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En sjette slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
oFoldMenu.make(\'sub\',\'Gardiner\',0,0,\'\',\'\',\'\',0)
    oFoldMenu.make(\'sub2\',\'En slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En anden slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En tredje slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
oFoldMenu.make(\'sub\',\'T&aelig;pper\',0,0,\'\',\'\',\'\',0)
    oFoldMenu.make(\'sub2\',\'En slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En anden slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En tredje slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
oFoldMenu.make(\'sub\',\'&Oslash;vrige produkter\',0,0,\'\',\'\',\'\',0)
    oFoldMenu.make(\'sub2\',\'En slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En anden slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
    oFoldMenu.make(\'sub2\',\'En tredje slags\',\'<? $DOCUMENT_ROOT ?>/produkter/enslags.php\',\'\',\'\')
oFoldMenu.construct()

Det virker som sagt i IE5.5 og hvis jeg lader det stå i HTML\'en (ikke .js). Jeg har pt. kun Netscape 6.01 installeret og det er her det ikke virker.

Får lige hentet 4.5
Avatar billede jakoba Nybegynder
12. maj 2001 - 02:02 #11
i checkBrowser();
        this.dom=document.getElementById?1:0
        this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;

giver det ikke  ns5==1  for NS6, IE5 og IE5.5?

i makemenu():
        this.x=(bw.ns4 || bw.ns5)? this.css.left:this.css.offsetLeft;
        this.y=(bw.ns4 || bw.ns5)? this.css.top:this.css.offsetTop;     

og så går disse 2 sætninger galt.
Avatar billede technux Nybegynder
12. maj 2001 - 02:15 #12
Jo, men det virker stadig ganske fint når det ikke er i .js?
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 07:42 #13
Ja, der er jo normalt ingen problemer i at inkludere .js filer i Netscape. Jeg kan
ikke overskue hvad der er galt her - smid det et eller andet sted på nettet, så
vi kan prøve det.
Avatar billede technux Nybegynder
12. maj 2001 - 12:47 #14
Jeg har installeret Netscape 4.77 nu og her virker det ganske fint med .js filer. Det er altså kun Netscape 6.01 der har problemer.

Arbejder stadig på at få mit webhotel op at stå.
Avatar billede technux Nybegynder
12. maj 2001 - 13:06 #15
Så fik jeg lånt noget plads: http://www.clantnb.dk/technux/

Intet indhold, men en menu der kan testes. Virker som sagt i IE4.0/5.0/.5.5 og Netscape 4.5/4.77, men ikke 6.01
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 22:24 #16
Så vidt jeg kan se inkluderer du filen både i linie 8 og i linie 29. Prøv
lige at fjerne den sidste :)
Avatar billede technux Nybegynder
12. maj 2001 - 22:29 #17
Nej, det er da 2 forskellige.
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 22:34 #18
Jaah, men de hedder næsten det samme ....:)
Avatar billede technux Nybegynder
12. maj 2001 - 22:40 #19
:D
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 23:27 #20
I funktionen

function makeMenuObj(obj,nest,img,offimage,onimage){
        nest=(!nest) ? \'\':\'document.\'+nest+\'.\'
          this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\"document.layers.\" +obj):0;       
  alert(\"test\");

kommer du i NS6 ikke ned til alert-en. Der er noget galt i linien
  this.css=bw.dom?....

Jeg har ikke kigget nærmere, men hvad er bw for en variabel ?
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 23:31 #21
Ja, ok, jeg har kigget. Mon du skal sætte paranteser

this.css=bw.dom? document.getElementById(obj).style:(bw.ie4?document.all[obj].style:bw.ns4?eval(nest+\"document.layers.\" +obj)):0;       

for ellers kan

  a?b?c:d:e

misforståes?
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 23:33 #22
næh - ikke i min kopi....
Avatar billede technux Nybegynder
12. maj 2001 - 23:41 #23
nope, testede også.

Lige nu er jeg gået til ikke at bruge .js. Håber dog stadig der er en eller ande løsning - ellers bliver det bare synd for folk med Netscape 6 :(
Avatar billede erikjacobsen Ekspert
12. maj 2001 - 23:55 #24
hmm - det irriterer mig altså, det her problem. Jeg skulle have arbejdet lidt
i stedet for :) Jeg prøver lige nogle andre ting...
Avatar billede erikjacobsen Ekspert
13. maj 2001 - 00:34 #25
Nå, javel. Det er

  document.getElementById(obj).style

der går galt. obj har værdien \"divoFoldMenuCont\" - og det skal den også have.
Er der et <div id=\"divoFoldMenuCont\"> i den almindelige HTML, kan den også
finde den. Jeg kan ikke overskue om det er fordi NS6 opfatter det som en fatal
fejl hvis id ikke findes, eller om den er oprettet og ikke kan findes. Du siger jo
der er forskel på om teksten sidder i HTML-dokumentet eller hentes ind fra .js-filer.

Men det er sådan ca. hertil jeg er kommet. Nu er der vist andre ting der skal fra
hånden - beklager - ingen god løsning!
Avatar billede technux Nybegynder
13. maj 2001 - 00:45 #26
hmm, jeg kan ikke se hvor OBJ er defineret som divoFoldMenuCont. Har den heller ej i den alm. HTML.
Avatar billede erikjacobsen Ekspert
13. maj 2001 - 01:24 #27
Du sætter navnet
  oFoldMenu=new foldoutMenuObj(\'oFoldMenu\')
og så laver du det ny navn
  this.container=new makeMenuObj(\'div\'+this.name+\'Cont\')
Avatar billede technux Nybegynder
13. maj 2001 - 01:50 #28
Ja, selvfølgelig :/

Prøvede lige at definere divoFoldMenuCont i mit stylesheet, men det hjalp ikke.
Avatar billede olebole Juniormester
13. maj 2001 - 17:07 #29
Erik >> Det er ikke korrekt...der er netop problemer med NS4.x og inkluderede .js-filer - hvilket også har været diskuteret på NS\' egne sider. Det er ikke altid, men ofte. Ligeledes kan den have problemer med at få læst tingene ind i rigtig rækkefølge...stadig ved remote-filer. Sæt dette ind før inkluderingen, så fungerer det sikkert:

<script language=\"JavaScript\">
  void(0);
</script>


Vi har også haft problemet på min arbejdsplads med scripts, der var checket, dobbelt-checket og re-checket - de var uden fejl. Først da vi satte en ligegyldig stump JS foran inkluderingen, fungerede det.
/mvh
Avatar billede erikjacobsen Ekspert
13. maj 2001 - 17:18 #30
nu er det jo så NS6.0 ... men ellers har jeg også oplevet det...
Avatar billede olebole Juniormester
13. maj 2001 - 18:24 #31
Undskyld, det skrev du jo også højere oppe  :o)

I øvrigt er \'bw\' Bratli\'s måde at skrive browsertest-objektet på. Dette kan så have properties som \'ns4\', \'ie4\', \'dom\', osv - der er true eller false, alt efter browser-versionen.

Det er da helt rigtigt, der mangler en håndfuld parenteser (der er jo tale om short-hand if-sætninger, der tester på browser-test-objektet), således:

this.css=(bw.dom)? document.getElementById(obj).style:(bw.ie4)?document.all[obj].style:(bw.ns4)?eval(nest+\"document.layers.\" +obj):0; 

...det andet er noget rigtig \'gris\'  :o)
/mvh
Avatar billede olebole Juniormester
13. maj 2001 - 18:27 #32
...og der er vist flere steder  :o)
Avatar billede erikjacobsen Ekspert
13. maj 2001 - 18:28 #33
Yeps. Men technux, vi har ikke helt forladt dig. Når jeg nu endelig har fået
udskrifte min beta-version med 6.0-eren (havde ikke lige 6.01), skal vi prøve
noget mere. Så: har du versionen med indlejret JavaScript, som virker i NS6.0,
et sted på nettet?
Avatar billede technux Nybegynder
13. maj 2001 - 19:50 #34
Jeg har opdateret http://www.clantnb.dk/technux/ så den virker i NS 6.01. Virker den også i 6.0 og 4.5?

Det jeg har gjort er at lade foldcode.js stå i en ekstern fil (den virer altså fint) og koden fra fold.js har jeg pasted in hvor jeg før inkluderede den.

Det er måske 2 .js includes, den ikke kan lide?
Avatar billede erikjacobsen Ekspert
13. maj 2001 - 21:53 #35
Virker i 6.0 - jeg checker lige et par ting. Men i NS4.5 får du en JavaScript fejl:

JavaScript Error:
http://www.clantnb.dk/technux/inc/foldcode.js, line 14:

bw has no properties.
Avatar billede erikjacobsen Ekspert
13. maj 2001 - 22:04 #36
Jeg er ikke i stand til at forklare hvad der foregår,. Men tager jeg koden ud i en
.js fil, udkommenterer den sidste linie, og skriver den i HTML-filen, så kører det
bare som smurt i Dragsbæk Oliemargarine:

<script type=\"text/javascript\" src=\"inc/eriktest.js\"></script>
<script language=\"JavaScript\">
<!--
  oFoldMenu.construct()
//-->
</script>
Avatar billede technux Nybegynder
14. maj 2001 - 01:21 #37
Så tæt på en løsning, men et nyt problem opstår med den model du beskriver: Menuen folder ikke ud i IE. Den virker perfekt i NS6.01.

Hvorfor kan de dog ikke bare lave EEN standard for browsere :(
Avatar billede erikjacobsen Ekspert
14. maj 2001 - 01:29 #38
Ha ha - nej undskyld, det var ikke for at drille. Nej, jeg testede den ikke i en IE
browser.

Egentlig synes jeg man skulle holde op med at lave menuer med en masse
JavaScript på klienten, Du er ikke den eneste der har problemer, og jeg ved
for lidt om DHMTL/Xbrowser.

Man burde udskrive de pokkers <div>-tags fra serveren, gerne via tilsvarende
kald af små søde funktioner, der definerer menuerne. Så er man mere sikker
på at de alle sammen forstår det....
Avatar billede technux Nybegynder
14. maj 2001 - 01:49 #39
Helt enig, men det vil kræve en hel del laaaange aftener at lave om på og dem har jeg ikke mange af :)
Avatar billede technux Nybegynder
21. maj 2001 - 16:43 #40
Jeg lukker dette spørgsmål uden en umiddelbar løsning. Jeg har valgt at beholde foldcode.js og smide indholdet af foldmenu.js ind i HTML\'en. Det virker således i IE og Netscape.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester