Codesegment mit JavaScript übergeben - Wie?

Hallo zusammen,

ich bin mir nicht sicher, ob der Titel des Threads meine Frage genau genug beschreibt, aber ich hoffe trotzdem ihr könnt mir weiterhelfen.

Meine HP besteht aus einem Frameset und ich möchte per onload ein „Codesegment“ aus der Seite des Mainframes an das Kopfframe übergeben. Meine erste Lösung sieht wie folgt aus:

Aufbau des Framessets:

Nav * KopfKopfKopf
Nav * KopfKopfKopf
Nav **************
Nav * MainMainMain
Nav * MainMainMain
Nav * MainMainMain


Im Kopfframe steht folgender Code:

<!–
function update(id)
{
bannerCode=’<img src="’+id+’" width=„468“ height=„60“>’;

if(document.getElementById) //hier für Mozilla/Opera
{
document.getElementById(„banner“).innerHTML=bannerCode;
}
else if(document.all) //das ist der Internet-Explorer-Teil
{
document.all[‚banner‘].innerHTML=bannerCode;
}
else if(document.layers) //hier Netscape 4
{
alert(‚ns4‘);
document.layers[‚banner‘].document.write(bannerCode);
document.layers[‚banner‘].document.close();
}
}
//–>


In jeder HTML-Seite die im Mainframe aufgerufen wird steht nun folgendes:

Es wird also bei jedem Seitenwechsel im Mainframe ein Reload des Topframes erzwungen und die entsprechende ID übergeben, hier ein Banner, der dann geladen wird.

Jetzt aber folgendes Problem. Anstatt des Namens des Banners (banner.gif) soll ein komplettes Codesegment übergeben werden, und zwar folgendes:

Da meine Kenntnisse in JavaSript usw. relativ „bescheiden“ sind stehe ich im Augenblick irgendwie ein wenig auf dem Schlauch. Eventuell hat jemand eine Lösung für mein Problem und kann mir weiterhelfen. Vielen Dank schon mal im vorraus.

Gruß Michael

Eine Möglichkeit: Schreibe das Codefragment in einen Layer:

<noscript>
<a href=„http://as1.falkag.de/sel?cmd=lnk&dat=80331&opt=0“ target="_blank"><img src=„http://as1.falkag.de/sel?cmd=ban&dat=80331&opt=0“ width=468 height=60 alt=„Entf.“ border=0></a>
</noscript>

</div>

Die OnLoad-Funktion schreibst du dann so:

<body bgcolor="#FFFFFF" onLoad=„parent.topFrame.update(document.getElementById(‚Banner‘).innerHTML);“>

Zu erwartende Probleme:

  1. Die update-Funktion wird meckern, wenn du ihr Zeilenumbrüche im Parameter übergibst. Work-around: z.B. bei der Parameter-Übergabe durch z.B. # ersetzen, in der Funktion dann wieder zurück.
  2. Das geht nur mit relativ neuen Browsern (das getElementById). Wie du das Lösen könntest, kannst du bei SelfHTML im Kapitel DHTML nachlesen :wink:

Hoffe, damit ein bisschen geholfen zu haben (im Stile eines Denkansatze)…

Gruss,
Daniel