JS Navigation soll im mainFrame öffnen?!
Sabine
- javascript
0 berdn0 Dieter Raber0 berdn2 Dieter Raber0 berdn
0 Sabine
Hallo,
ich habe Probleme bei Konfiguration eines navigations.js zum einen ist der Code aneinandergepatscht aber das ist das geringste Problem. Das Problem ist, dass ich die Seiten in dem Frame öffnen, wo die Navi ist und ich weiß nicht, wie ich es schreiben muss, damit es sich im mainFrame öffnet.
Das ist der Code über den es sich im eigenen Frame öffnet:
writeButton(loc+"../",parent.mainFrame.location.href = "main_dt.html","navi_deutsch_b1",108,29,"Start","",0);
Das ist die Befehlszeile für einen Button. Wenn ich schreibe parent.mainFrame öffnet es aber trotzdem die Seite im eigenen Frame?!
Wer weiß Rat.
Gruß
Sabine
Hallo Sabina,
ich kann nichts aus diesen Code-Schipsel entnehmen.
Gibt es eine URL wo man sich das ganze Konstrukt ansehen kann?
Und besser, wenn Du Dich von der Idee mit Frames zuarbeiten verabschieden würdest?
Und wahrscheinlich stammt das Script aus einer Zeit als NS 4 und IE 4 noch die populärsten Browser waren?
Liebe Grüße,
Bernd
Hi,
die Seite wird offline erstellt. Also ist noch nix online.
Ne ich möchte schon ganz gerne bei der Navigation bleiben, sprich auch mit den Frames.
Mmmhhh ich weiß nicht, ob es dir was bringt, wenn ich die ganze Datei poste .. ich mach mal, vielleicht bist du dann schlauer. Das ganze funktioniert aber nur wenn ich ne Seite mit Tabellen machen würde aber ich weiß nicht, wie ich es umschreiben muss, wenn ich es im Nachbarframe geöffnet haben will. Aktuell öffnet es wie gesagt im Frame wo auch die Navi ist .. so war das ja nicht gedacht :).
****************************
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&¤t.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;}
**************************
Der oberste Teil ist der wo ich am rumexperimentieren bin, deswegen ist da der Code anders.
Gruß
Sabine
Hallo Sabine,
cool der Code ;-(
Du arbeitest mit einer "kompilierten" Version.
Nun wenn es unbedingt diese Version sein soll, dann gebe ich Dir als ersten Tipp, füge doch mal ein paar Linebreaks in den Code etc. ein, damit man als normaler Mensch lesen kann was da passiert.
Ansonsten Tipp Nummer 2:
Vergiss diesen Code, suche im Web nach was neuen.
Auf der Seite http://css.maxdesign.com.au/listamatic/
findest Du ein paar Anregungungen.
Liebe Grüße,
Bernd
PS: Nicht alles was man übernommen hat ist gut, auch wenn es funktioniert hat.
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&¤t.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
Hallo Dieter,
da hast Du ja richtig Arbeit gemacht.
Liebe Grüße,
Bernd
Hallo Dieter,
probiere ich mal aus.
Vielen Dank,
Bernd
Wow Dieter ...
... das nenne ich mal ne hilfreiche Antwort. Wahnsinn. Ich bedanke mich ganz herzlich für die Mühe (auch wenn du ne "Hilfe" benutzt hast war es trotzdem nicht selbstverständlich). Du hast mir sehr geholfen.
Vielen vielen Dank.
Liebe Grüße
Sabine
Hallo Sabine,
Du hast mir sehr geholfen.
Prima, freut mich
Gruß,
Dieter