[JavaScript] 2 Frames mit einem Link

mLte

offline
4 Mai 2006
698
17
Hallo,

ich hab mal ne Frage, was ich falsch gemacht habe:

im head bereich:

HTML:
<script language="JavaScript">
      <!--

      function FramesVeraendern(url1, frameziel1, url2, frameziel2)

      {

          Frame1 = eval("parent."+frameziel1);

          Frame2 = eval("parent."+frameziel2);

          Frame1.location.href = url1;

          Frame2.location.href = url2;

      }

      //-->

      </script>

und nachher beim Verweis:

HTML:
<a href="javascript:FramesVeraendern('streuartikel.html','frame1','test.html','frame2');"><img border="0" src="Bilder3/streuartikel.gif" width="114" height="32" alt=""></a>


was ist falsch?

will nichts hören, von wegen frames sind out oder so :p

Mfg
 
Ich habe mich jetzt mal durch deine mengenweise div-elemente gewühlt 8O

1.) Du schließt das allererste div nicht! Da fehlt an ">" --> somit wird das in opera unbrauchbar ;)
2.a) Werf mal einen JavaScript debugger an. Opera und Firefox melden bei mir immer, dass layer[14] nicht existiert.
2.b) Eventuell wäre es besser, mit getElementById zu arbeiten --> es passiert so ein fehler wie oben meist nicht; man behält besser den überblick (14 ist nicht gerade aussagekräftig);
3.c) Wenn du dein JavaScirpt in ein div-element einbaust, das standardmäßig immer versteckt ist, wie konntest du das testen, ob das javascript funktioniert? :ugly: auf deutsch: das div-element mit der id="m1" (welches das javascript mit onclick aufruft) wird nirgends aktiviert bzw. eingeblendet? oder hab ich da was übersehen?

[edit]
zu den frames:
parent kannst du hier nicht verwenden, da es sich bei deinen Frames um iframes handelt. Der iframe ist ein normales Element im aktuellen dokument (und nicht im übergeordneten dokument).
Entweder, du verwendest in deiner FrameAendern funktion eine solche zeile:
Code:
document.getElementsByName(Framename)[0].location.href = URI;
oder mit der getElementById funktion müsste es auch funktionieren (dann musst du aber dem iframe noch eine id geben, was du im moment noch nicht hast)
[/edit]
 
Zuletzt bearbeitet:
Moloc schrieb:
Ich habe mich jetzt mal durch deine mengenweise div-elemente gewühlt 8O

1.) Du schließt das allererste div nicht! Da fehlt an ">" --> somit wird das in opera unbrauchbar ;)
2.a) Werf mal einen JavaScript debugger an. Opera und Firefox melden bei mir immer, dass layer[14] nicht existiert.
2.b) Eventuell wäre es besser, mit getElementById zu arbeiten --> es passiert so ein fehler wie oben meist nicht; man behält besser den überblick (14 ist nicht gerade aussagekräftig);
3.c) Wenn du dein JavaScirpt in ein div-element einbaust, das standardmäßig immer versteckt ist, wie konntest du das testen, ob das javascript funktioniert? :ugly: auf deutsch: das div-element mit der id="m1" (welches das javascript mit onclick aufruft) wird nirgends aktiviert bzw. eingeblendet? oder hab ich da was übersehen?


[edit]
zu den frames:
parent kannst du hier nicht verwenden, da es sich bei deinen Frames um iframes handelt. Der iframe ist ein normales Element im aktuellen dokument (und nicht im übergeordneten dokument).
Entweder, du verwendest in deiner FrameAendern funktion eine solche zeile:
Code:
document.getElementsByName(Framename)[0].location.href = URI;
oder mit der getElementById funktion müsste es auch funktionieren (dann musst du aber dem iframe noch eine id geben, was du im moment noch nicht hast)
[/edit]

wow, danke, dass sich jemand so viel mühe macht.

hab das aber alles anders gemacht nun.. mit includes.