Willi Breuckmann: Popop-Sitemap steuert Frameset

Hi,

habe schon das Forum überflogen, aber keine Lösung gefunden.
Stellt euch von, ich habe einen Frameset aus mehreren Frames.
(kopf,menu,submenu,hauptseite)
In einem dieser Frames gibt es einen Button "Sitemap", der ein
Popup-Fenster offnet. Dieses Popup soll dann als Sitemap dienen
und nach Auswahl einer URL im Frameset mehrere Frames ändern.
Die Funktion sieht so aus:

function quicklink(URL){
  tmp = URL;
  var anzlink = new Array();
  var anzlink = tmp.split("");
  if (anzlink[0]!=""){
    parent.frames.submenu.location.href=anzlink[1];
    parent.frames.main.location.href=anzlink[2];}}

Der Aufruf so:
<a href="javascript:quicklink('menue.htmstart.htm')">
...aber es funzt nicht :-((

  1. Moin Willi,

    In einem dieser Frames gibt es einen Button "Sitemap", der ein
    Popup-Fenster offnet. Dieses Popup soll dann als Sitemap dienen
    und nach Auswahl einer URL im Frameset mehrere Frames ändern.

    da du die Sitemap in einem Popup-Fenster öffnest, ist das "Ursprungsfenster", also das mit den Frames, nicht mehr parent dieses Fensters. Parent kann lediglich "innerhalb" des Fensters benutzt werden, also in den angezeigten Frames. Daher funktionieren die folgenden Befehle nicht:

    parent.frames.submenu.location.href=anzlink[1];
        parent.frames.main.location.href=anzlink[2];}}

    Du musst dem Fenster entweder einen Namen geben oder versuchen, das Fenster irgendwie über die opener-Eigenschaft <../../tecb.htm#a1> anzusprechen.

    Gruß
    Dirk

  2. Hi
    Ich wuerde das so machen:
    function quicklink(URL1,URL2)
    {
    opener.parent.submenu.location.href=URL1;
    opener.parent.main.location.href=URL2;
    }
    Der Aufruf geschieht dann mit:
    <a href="javascript:quicklink('menue.htm','start.htm')">
    Bei Fragen zu opener siehe link bei Dirk.
    Tschau Holger

  3. geh mal zu www.coolhomepages.com, klicke auf new sites entered, da ist genau das was du suchst

    gruß

    timo

  4. Hallo Willi,

    var anzlink = new Array();

    ^^^^^^^^^^^^
    split erzeugt automatisch ein Array, diese Zeile kannst du weglassen

    var anzlink = tmp.split("");
      if (anzlink[0]!=""){
        parent.frames.submenu.location.href=anzlink[1];
        parent.frames.main.location.href=anzlink[2];}}

    Die Zählung beginnt bei 0 bei deinem Aufruf übergibst du einen nicht existierenden Link

    Funktionieren sollte es korrigiert so:

    function quicklink(URL){
      tmp = URL;
      var anzlink = tmp.split("");
      if (anzlink[0]!=""){
        parent.frames.submenu.location.href=anzlink[0];
        parent.frames.main.location.href=anzlink[1];}}

    Viele Grüße
    Antje

    <img src="http://pc-anfaenger.de/pca/sam/pcanfaenger.gif" alt="">