Hallo Leute!
Ich würde gern einen Frame überwachen das ich also 2 Frames habe! Wenn in dem oberen Frame ein Klick ausgeführt wird dann ändert sich der Text im unteren Frame.
Weiß jemand, wie man sowas realisieren kann?
Malchow Gast |
Malchow Gast |
Hallo Leute!
Ich würde gern einen Frame überwachen das ich also 2 Frames habe! Wenn in dem oberen Frame ein Klick ausgeführt wird dann ändert sich der Text im unteren Frame.
Weiß jemand, wie man sowas realisieren kann?
Hi |
Du bräuchtest eine Kombination von mehreren JavaScript-Mechanismen. Wichtig ist erst einmal, dass du Zugriff auf die einzelnen Frames bekommst. Wie das geht, steht in diesem Beipsiel:
http://de.selfhtml.org/javascript/beispiele/zweiframes.htm
Alles weitere machst du über simples Event-Handling.
greez
JoSsiF
Also hab die Seite mal online http://www.zinsmailer.de/frame/
nun soll wenn ich einen Link in der AOL Seite klicke im unteren Frame ein Text erscheinen.
Mein derzeitiger Quellcode
index.htm
<html>
<head>
<title>
Test
</test>
</head>
<frameset rows="*,30%">
<frame src="http://www.aol.de" name="oberesFenster">
<frame src="unten.htm" name="unteresFenster">
</frameset><noframes></noframes>
</html>
<html><head><title>Test</title>
<script type="text/javascript">
parent.oberesFenster.onClick="machwas()"
document.getElementById("einElement").InnerHTML = "der neue Text";
</script>
</body></html>
Hi,
du brauchst noch den aufruf über einen Link:
<html><head><title>Test</title>
<script type="text/javascript">
parent.oberesFenster.onClick="machwas()"
document.getElementById("einElement").InnerHTML = "der neue Text";
</script>
</head>
<body>
<a href="javascript:machwas()"> Klick! </a>
</body></html>
Ähm...das war Beispielcode! Man muss kein ausgesprochener Experte sein, um das zu erkennen:
- Es wird wird die Funktion "machwas()" aufgerufen. Nunja, die sollte auch irgendwo mal definiert werden.
- Selbes Spiel mit "einElement". Der Name ist natürlich frei wählbar, aber ein Element mit diesem Namen muss freilich auch existieren, sonst passiert rein gar nichts.
greez
JoSsiF
Vieleicht könntest du es so machen, dass du periodisch im unteren Frame die derzeitige URL der im oberen Frame angezeigten Seite abfragst.
Sobald die sich ändert, kannst du dann entsprechend reagieren.
Das ist auch eine sehr gute Idee kannst mir das machen, da ich eigentlich noch keine Ahnung von javascript haben.
Die Funktione sollte denke ich ungefär so aussehen:
var alteAdresse = '';
var neueAdresse = '';
function blub()
{
neueAdresse = parent.oberesFenster.location.href;
if (neueAdresse != alteAdresse)
{
//tue irgendwas
//...
}
alteAdresse = neueAdresse;
setTimeout("blub()",500);
}
Erstelle dir in unten.htm irgend ein Element wo du den Text reinschreiben willst, z.B. ein DIV-Block und gib ihm eine ID:
<DIV id="anzeige">Hallo Welt</DIV>
Du kannst in JavaScript dann folgendermaßen da drauf zugreifen:
document.getElementById("anzeige")
Du willst ja jetzt den Inhalt dieses DIV-Objektes ändern.
Die einfachste aber nicht standardkonforme Methode ist folgende:
document.getElementById("anzeige").innerHTML = 'Ich bin ein Text';
Ja ich weiß, das liegt daran, dass die Variable alteAdresse mit dem leeren String ('') initialisiert wird.
Und der ist nunmal direkt ungleich der Adresse der im oberen Frame angezeigten Website.
Wenn du jetzt nur machen willst, dass zuerst Text A und bei nem Klick auf nen Link dann Text B angezeigt wird, kannst du entweder alteAdresse mit der wirklichen Adresse der im oberen Frame angezeigten Seite initialisieren oder die Fallabfrage so ändern:
if (neueAdresse!=alteAdresse && alteAdresse!='')
« CS server und neueröffnung eines clans | Werbeverdienst mit Homepage » | ||