Dieter Raber: JS Navigation soll im mainFrame öffnen?!

Beitrag lesen

Hallo Sabine,

Ich hab mal den Code etwas entwirrt, damit er leserlich wird:

  
var clicked="";  
var gtype=".gif";  
var selstate="_over";  
if (typeof(loc)=="undefined" || loc=="")  
{  
    var loc="";  
    if (document.body&&document.body.innerHTML)  
    {  
        var tt=document.body.innerHTML;  
        var ml=tt.match(/["']([^'"]*)navi_deutsch.js["']/i);if(ml && ml.length > 1) loc=ml[1];}}document.write("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>");  
        document.write("<td><img src=\""+loc+"navi_deutsch_top"+gtype+"\" alt=\"\" width=\"108\" height=\"52\"></td>");  
        tr(false);  
        writeButton(loc+"../",parent.mainFrame.location.href = "main_dt.html","navi_deutsch_b1",108,29,"Start","",0);  
        writeButton(loc+"../","navi_deutsch2.html","navi_deutsch_b2",108,29,"Neuigkeiten","",0);  
        writeButton(loc+"../","navi_deutsch3.html","navi_deutsch_b3",108,29,"Biographie","",0);  
        writeButton(loc+"../","navi_deutsch4.html","navi_deutsch_b4",108,29,"Galerie","",0);  
        writeButton(loc+"../","navi_deutsch5.html","navi_deutsch_b5",108,29,"Discographie","",0);  
        writeButton(loc+"../","navi_deutsch6.html","navi_deutsch_b6",108,29,"Referenzen","",0);  
        writeButton(loc+"../","navi_deutsch7.html","navi_deutsch_b7",108,29,"Kontakt","",0);  
        writeButton(loc+"../","navi_deutsch8.html","navi_deutsch_b8",108,29," Gästebuch ","",0);  
        tr(true);  
        document.write("<td><img src=\""+loc+"navi_deutsch_bottom"+gtype+"\" alt=\"\" width=\"108\" height=\"52\"></td>");  
        document.write("</tr></table>");  
        loc="";  
function tr(b)  
{  
    if (b) document.write("<tr>");  
    else document.write("</tr>");  
}  
function turn_over(name)  
{  
    if (document.images != null && clicked != name)  
    {  
        document[name].src = document[name+"_over"].src;  
    }  
}  
function turn_off(name)  
{  
    if (document.images != null && clicked != name)  
    {  
        document[name].src = document[name+"_off"].src;  
    }  
}  
function reg(gname,name)  
{  
    if (document.images)  
    {  
        document[name+"_off"] = new Image();  
        document[name+"_off"].src = loc+gname+gtype;  
        document[name+"_over"] = new Image();  
        document[name+"_over"].src = loc+gname+"_over"+gtype;  
    }  
}  
function evs(name)  
{  
    return " onmouseover=\"turn_over('"+ name + "')\" onmouseout=\"turn_off('"+ name + "')\""  
}  
function writeButton(urld,url,name,w,h,alt,target,hsp)  
{  
    gname=name;  
    while(typeof(document[name])!="undefined")name+="x";  
    reg(gname,name);  
    tr(true);  
    document.write("<td>");  
    if(alt!="")alt=" alt=\""+alt+"\"";  
    if(target!="")target=" target=\""+target+"\"";  
    if(w>0)w=" width=\""+w+"\"";  
    else w="";  
    if(h>0)h=" height=\""+h+"\"";  
    else h="";  
    var l=clicked!=""||!isCurrentFile(url);  
    if(url!="")url=" href=\""+urld+url+"\"";  
    if(l)  
    {  
        if(typeof(clx)!="undefined")  
        {  
            target="";  
            url=" href=\"?"+clx+"\"";  
            alt=" alt=\"Click to edit\"";  
        }  
        document.write("<a "+url+evs(name)+target+">");  
    }  
    else gname+=selstate;  
    gname+=gtype;  
    if(hsp==-1)hsp=" align=\"right\"";  
    else if(hsp>0)hsp=" hspace=\""+hsp+"\"";  
    else hsp="";  
    document.write("<img src=\""+loc+gname+"\" name=\""+name+"\""+w+h+alt+hsp+" border=\"0\" />");  
    if(l)document.write("</a>");  
    document.write("</td>");  
    tr(false);  
}  
function syncFile(f,nf)  
{  
    var matches='home.html*index.html*welcome.html*default.asp';  
    var p=f.lastIndexOf('/');  
    var sf=f;  
    if(p>=0)sf=f.substr(p+1,f.length-1);  
    if(matches.indexOf(sf)==-1)return "";  
    return sf;  
}  
function isCurrentFile(str)  
{  
    var p=str.lastIndexOf(':');  
    if(p>0)str=str.substr(p+1,str.length-1);  
    str=escape(str);  
    str=str.toLowerCase();  
    while(str.length>3&&str.substring(0,3)=="../")str=str.substr(3,str.length-1);  
    var fstr=str.indexOf(".htm");  
    if(fstr==-1)fstr=str.indexOf(".asp");  
    if(fstr==-1)fstr=str.indexOf(".php");  
    if(fstr==-1)fstr=str.indexOf(".jsp");  
    if(fstr==-1)fstr=str.indexOf(".txt");  
    if(fstr<1&&str.charAt(str.length-1)!='/')str+="/";  
    var current=document.location.href.toLowerCase();  
    p=current.lastIndexOf('?');  
    if(p>0)current=current.substr(0,p);  
    var fcurrent=current.indexOf(".htm");  
    if(fcurrent==-1)fcurrent=current.indexOf(".asp");  
    if(fcurrent==-1)fcurrent=current.indexOf(".php");  
    if(fcurrent==-1)fcurrent=current.indexOf(".jsp");  
    if(fcurrent==-1)fcurrent=current.indexOf(".txt");  
    if(fcurrent<1&&current.charAt(current.length-1)!='/')current+="/";  
    if(fstr!=-1&&fcurrent==-1)current+=syncFile(str,current);  
    if(fstr==-1&&fcurrent!=-1)str+=syncFile(current,str);  
    var currsize=current.length;  
    var strsize=str.length;  
    while(strsize>=0&&currsize>=0)  
    {  
        if(current.charAt(currsize)!=str.charAt(strsize))return false;  
        currsize=currsize-1;  
        strsize=strsize-1;  
    }  
    return true;  
}  

Und siehe da:

writeButton(loc+"../",parent.mainFrame.location.href = "main_dt.html","navi_deutsch_b1",108,29,"Start","",0);

function writeButton(urld,url,name,w,h,alt,target,hsp)
Die Funktion haette gerne urld (was immer das ist) als erstes Argument und nicht eine Zuweisung, target ist das vorletzte Argument. Das muesste also etwa so aussehen:

  
writeButton("main_dt.html","navi_deutsch_b1",108,29,"Start",mainFrame,0);  

Zumindest von hier aus gesehen.

Gruß,

Dieter