Navigationsscript extern ansprechen
peri
- javascript
Hallo, ich habe eine Navigation die für sich alleine innerhalb eines Framesets bestens funzt.
Mein Problem: Wenn ich zB. in einem anderem Frame auf einen Link klicke, soll die Navigation das ebenfalls registrieren und anzeigen.
Konkretes Beispiel die Navi zeigt Profil an und ich klicke auf einen anderen Frame auf Kontakt.
Nun soll soll folgendes geschehen: Kontakt muss gehighlightet werden.
Hoffe jemand versteht was ich meine.
Jede Hilfe ist dankend willkommen.
Hier der Script samt seite.
--------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>kommt noch</title>
<link rel="STYLESHEET" type="text/css" href="css/styles.css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_nbGroup(event, grpName) { //v6.0
var i,img,nbArr,args=MM_nbGroup.arguments;
if (event == "init" && args.length > 2) {
if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
nbArr[nbArr.length] = img;
for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
} else if (event == "over") {
document.MM_nbOver = nbArr = new Array();
for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
nbArr[nbArr.length] = img;
}
} else if (event == "out" ) {
for (i=0; i < document.MM_nbOver.length; i++) {
img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
} else if (event == "down") {
nbArr = document[grpName];
if (nbArr)
for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
document[grpName] = nbArr = new Array();
for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
nbArr[nbArr.length] = img;
} }
}
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>
<body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('global/navigator/a_ad.gif','global/navigator/a_h.gif','global/navigator/b_ad.gif','global/navigator/b_h.gif','global/navigator/c_ad.gif','global/navigator/c_h.gif','global/navigator/d_ad.gif','global/navigator/d_h.gif','global/navigator/e_ad.gif','global/navigator/e_h.gif','global/navigator/f_ad.gif','global/navigator/f_h.gif','global/navigator/g_ad.gif','global/navigator/g_h.gif','global/navigator/g.gif')">
<table width="180" height="450" border="0" background="global/bgnav.gif">
<tr>
<td valign="top"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><a href="profil/index.htm" target="content" onClick="MM_nbGroup('down','group1','a','global/navigator/a_ad.gif',1);MM_swapImage('g','','global/navigator/g.gif',1)" onMouseOver="MM_nbGroup('over','a','global/navigator/a_h.gif','global/navigator/a_ad.gif',1)" onMouseOut="MM_swapImgRestore()"><img src="global/navigator/a.gif" alt="" name="a" width="172" height="17" border="0" onload=""></a></td>
</tr>
<tr>
<td><a href="testverfahren/index.htm" target="content" onClick="MM_nbGroup('down','group1','b','global/navigator/b_ad.gif',1)" onMouseDown="MM_goToURL('parent.frames['nav']','nav2.htm');return document.MM_returnValue" onMouseOver="MM_nbGroup('over','b','global/navigator/b_h.gif','global/navigator/b_ad.gif',1)" onMouseOut="MM_nbGroup('out')"><img src="global/navigator/b.gif" alt="" name="b" width="172" height="15" border="0"></a></td>
</tr>
<tr>
<td><a href="projekte/index.htm" target="content" onClick="MM_nbGroup('down','group1','c','global/navigator/c_ad.gif',1)" onMouseOver="MM_nbGroup('over','c','global/navigator/c_h.gif','global/navigator/c_ad.gif',1)" onMouseOut="MM_nbGroup('out')"><img src="global/navigator/c.gif" alt="" name="c" width="172" height="15" border="0" onload=""></a></td>
</tr>
<tr>
<td><a href="veroeff/index.htm" target="content" onClick="MM_nbGroup('down','group1','d','global/navigator/d_ad.gif',1)" onMouseOver="MM_nbGroup('over','d','global/navigator/d_h.gif','global/navigator/d_ad.gif',1)" onMouseOut="MM_nbGroup('out')"><img src="global/navigator/d.gif" alt="" name="d" width="172" height="15" border="0" onload=""></a></td>
</tr>
<tr>
<td><a href="kongress/index.htm" target="content" onClick="MM_nbGroup('down','group1','e','global/navigator/e_ad.gif',1)" onMouseOver="MM_nbGroup('over','e','global/navigator/e_h.gif','global/navigator/e_ad.gif',1)" onMouseOut="MM_nbGroup('out')"><img src="global/navigator/e.gif" alt="" name="e" width="172" height="15" border="0" onload=""></a></td>
</tr>
<tr>
<td><a href="gutachten/index.htm" target="content" onClick="MM_nbGroup('down','group1','f','global/navigator/f_ad.gif',1)" onMouseOver="MM_nbGroup('over','f','global/navigator/f_h.gif','global/navigator/f_ad.gif',1)" onMouseOut="MM_nbGroup('out')"><img src="global/navigator/f.gif" alt="" name="f" width="172" height="15" border="0" onload=""></a></td>
</tr>
<tr>
<td><a href="kontakt/index.htm" target="content" onClick="MM_nbGroup('down','group1','g','global/navigator/g_ad.gif',1)" onMouseOver="MM_nbGroup('over','g','global/navigator/g_h.gif','global/navigator/g_ad.gif',1)" onMouseOut="MM_nbGroup('out')"><img src="global/navigator/g_ad.gif" alt="" name="g" width="172" height="16" border="0" onload=""></a></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
Mein Problem: Wenn ich zB. in einem anderem Frame auf einen Link klicke, soll die Navigation das ebenfalls registrieren und anzeigen.
Konkretes Beispiel die Navi zeigt Profil an und ich klicke auf einen anderen Frame auf Kontakt.
Nun soll soll folgendes geschehen: Kontakt muss gehighlightet werden.
[...][Codegeraffel entfernt]
Dann sprich eine Methode in dem Navi-Frame an, die das tut, was getan werden muß, und beachte dabei sie Single Origin Policy...
hallo,
Dann sprich eine Methode in dem Navi-Frame an, die das tut, was getan werden muß,
Genau damit kämpfe ich. Ich habe sowas bereits versucht und danach gingen die rollover nicht mehr.
und beachte dabei sie Single Origin Policy...
Was ist das?
Gruss
peri
hi,
Dann sprich eine Methode in dem Navi-Frame an, die das tut, was getan werden muß,
Genau damit kämpfe ich.
dann lies mal auf http://selfhtml.teamone.de/javascript/objekte/frames.htm#scripts nach, wie man so etwas richtig macht.
Ich habe sowas bereits versucht und danach gingen die rollover nicht mehr.
keine hilfreiche fehlerbeschreibung.
und beachte dabei sie Single Origin Policy...
Was ist das?
etwas, wonach du im </archiv/> oder mit google suchen darfst :-)
gruss,
wahsaga
Hallo Wahsaga,
und beachte dabei sie Single Origin Policy...
Was ist das?
etwas, wonach du im </archiv/> oder mit google suchen darfst :-)
Wobei die Suche nach "Same Origin Policy" die besseren Ergebnisse liefern dürfte.
Grüße
Andreas