Problem mit "Einem Link mehrere Frames ändern"

Status
Nicht offen für weitere Antworten.

tokoop

Mitglied
Hallo alle zusammen!

Ich möchte mit einem Link mehrere Frames ändern.
Dazu gibt es hier im Forum auch Hilfe:
http://www.tutorials.de/tutorials129992.html
Klappt auch super.

Jetzt wollte ich aber drei Frames geändert haben.
Da hab ich mir folgendes überlegt:

<script language="JavaScript" type="text/JavaScript">

function change(url1,url2,url3)
{
parent.top.location = url1;
parent.n2.location = url2;
parent.m.location = url3;
}
MM_reloadPage(true);

und:
<a href="#" onClick="change('t_nl_wein.html','n2,2_nl.html','wein_nl.html'); return false;" onMouseOver="MM_nbGroup('over','n1','../bilder/_btn/btn_n1_nl_2_01.gif','../bilder/_btn/btn_n1_nl_2_01.gif','n1v1','../bilder/_btn/ecke_l.gif','../bilder/_btn/ecke_l.gif','n1v1','../bilder/_btn/ecke_r.gif','../bilder/_btn/ecke_r.gif',1)" onMouseOut="MM_nbGroup('out')"><IMG SRC="../bilder/_btn/btn_n1_nl_1_01.gif" ALT="" name="n1" WIDTH=48 HEIGHT=15 border="0" id="n1">

Und schon klappt es nicht mehr.

Hat hier jemand eine Idee

Hintergrund:
Ich baue ab und an mal eine Internetseite.

Im Moment:
<frameset rows="100,*,15" frameborder="NO" border="0" framespacing="0">
<frame src="t_nl.html" name="top" scrolling="NO" noresize id="top" >
<frame src="main.html" name="mainFrame">
<frame src="b_nl.html" name="bottomFrame" scrolling="NO" noresize>
</frameset>

"main.html":
<frameset rows="15,16,*" frameborder="NO" border="0" framespacing="0">
<frame src="n1_nl.html" name="n1" scrolling="NO" noresize id="n1" >
<frame src="n2_nl.html" name="n2" id="n2">
<frame src="m_nl.html" name="m" scrolling="yes" noresize id="m">
</frameset
 
Zuletzt bearbeitet:
Der Rest meiner Frage

Ich habe echt ein Problem, ich kann ja nicht mal ein komplette Frage stellen ;-(

Der Rest:

Jetzt möchte ich, dass sich drei Frames ändern:
n2, m, und top.

In "top" sind es im Moment zwar nur zwei Bilder, aber auch das bekomme ich nicht hin.

Gibt es da Hilfe, oder stelle ich mich nur ein bisschen dä… an :-((

Schon mal jetzt vielen Dank und

Grüße aus Trier.
tokoop
 
Tausch doch die Frames nacheinander aus. So mache ich das imo. :-)

Soll heißen in dem Frame, den du mit dem Klicken sowieso änderst - ganz normal mit target - schreibst du am Ende der HTML- oder PHP-Seite einfach ein kleines JavaScript, das den nächsten Frame ändert... und so weiter.

Das Script sollte dann etwa so aussehen:
Code:
<script language="JavaScript">
<!--
     window.parent.frames['main'].location.href = '01_001.html';
  //-->
 </script>

Funktioniert wunderbar, und man kann noch nachvollziehen, wo es hakt, wenn es hakt...

Greetz, MOD
 
Hallo,

das Problem bei dir ist folgendes. Du hast ein Frameset und eine der Seiten in dem Frameset ist wieder ein Frameset.

Je nachdem von wo du die Funktion change nun aufrufst ist der Pfad anders um zu einem bestimmten Frame zu gelangen.

Es gibt also zum Beispiel nicht einen festen pfad um zum frame top zu gelangen, sondern es kommt darauf an von welcher Seite du den aufruf der funktion machst.

Deshalb wäre es sinvoll die funktion so abzuändern, dass du immer als parameter "neue Url" und "pfad zum frame" angibst.
 
so, ich musste mir gerade selber was zusammenbauen, da kann ich dir ja auch gleich sagen was ich gemacht habe:

Diese Funktion ersetzt praktisch die alte Funktion change.
Code:
function change(array)
{
  for (i in array){
    eval(i).location = array[i];
  }
}

Aufgerufen wird das ganze dann so in der art:
Code:
<a href="#" onClick="a = new Array(); a['parent.main.five']='new.html'; a['parent.main.six']='new.html'; a['parent.one']='new.html'; change(a);">new</a>

Ich kenne mich leider nicht so gut mit JavaScript aus, vielleicht gibt es für den aufruf noch eine besser lösung. So dass man den array direkt mit seinen elementen erzeugt. müsste man mal gucken.

auf jeden fall funktioniert es so bei mir. du musst dann immer gucken, auf welcher seite du gerade bist und wie du von dieser seite den gewünchten frame ansprichst.

achso was ich noch sagen wollte. großer vorteil hier ist, dass du zum einen den pfad immer beliebig angeben kannst und zum anderen auch noch freie wahl hast wieviele frames du jeweils ändern möchtest.
 
Zuletzt bearbeitet:
Hallo Obihave,

vielen Dank erst einmal für die Mühe.

Ich habe mich ein bischen im Forum umgesehen und glaub, Frames sind nicht die erste Wahl. Ich arbeite gerade mit div um möglichst vielen Usern gerecht zu werden.

Ist nicht ganz einfach und ich habe auch ´ne Menge Fragen, die ich aber erst einmal versuche selber zu lösen.

Trotzdem werde ich diese Alternative mal ausprobieren. Frames sind halt einfach superschnell gebaut.

Vielen Dank vorerst mal! ;-)
tokoop
 
Status
Nicht offen für weitere Antworten.
Zurück