Martin Hölter: "Fernsteuerung"

Hallo!

Ich habe ein Script geschrieben, mit dem ich das öffnende Fenster steuern will bzw. ein neues öffne, wenn das alte geschlossen wurde. Das ganze sieht so aus:

function oeffne2(url){
    url2='http://www.sparkasse-iserlohn.de/index.html#url=/'+url;
    window.open(url2, 'newwin', 'location=yes,menubar=yes,toolbar=yes,status=yes,resizable=yes,scrollbars=yes');
    newwin.focus;
    return true;
}

function oeffne(url){
   if (newwin && !newwin.closed && newwin.top.svm){
      onerror = oeffne2(url);
      url2='http://www.sparkasse-iserlohn.de/'+url;
      newwin.parent.pb.location.href=url2;
      newwin.focus();
      return true;
}

else {oeffne2(url);}
}

function gehezu(url){
   if (parent.opener && !parent.opener.closed && parent.opener.top.svm){
      onerror = oeffne(url);
      url2='http://www.sparkasse-iserlohn.de/'+url;
      parent.opener.parent.pb.location.href=url2;
}
else {oeffne(url);}
}

Das ganze wird z.B. wie folgt aufgerufen:
<a href="http://www.sparkasse-iserlohn.de/2acc1b02ae8caf71/pb1.htm" target="spk" onClick="gehezu('2acc1b02ae8caf71/pb1.htm'); return false">Ihre Ansprechpartner</a>

Allerdings kommt die Meldung, dass 'newwin' (bei Aufruf von oeffne(url) undefiniert ist. Das frage ich aber doch über if ab, oder she ich da was falsch?

Gruß,

martin

  1. Hi,

    <a href="http://www.sparkasse-iserlohn.de/2acc1b02ae8caf71/pb1.htm" target="spk" onClick="gehezu('2acc1b02ae8caf71/pb1.htm'); return false">Ihre Ansprechpartner</a>
    Allerdings kommt die Meldung, dass 'newwin' (bei Aufruf von oeffne(url) undefiniert ist. Das frage ich aber doch über if ab, oder she ich da was falsch?

    Ein möglicher Weg (nur die relevanten Codezeilen):

    function gehezu(url){
    else {oeffne(url);}
    function oeffne(url){
    else {oeffne2(url);}
    function oeffne2(url){
        window.open(url2, 'newwin', 'location=yes,menubar=yes,toolbar=yes,status=yes,resizable=yes,scrollbars=yes');
    newwin.focus;

    Wo wurde ein Objekt newwin angelegt? Ich sehe keine Stelle, an der das geschieht.
    Es wird zwar ein Fenster mit einem String versorgt, der zufällig aus den Buchstaben 'newwin' besteht, aber es wird kein Javascript-Objekt mit diesem Namen newwin angelegt...

    Bei
    var bla='blubb';
    wird blubb.length genauso scheitern...
    Es gibt zwar irgendwo einen String 'blubb', aber kein Objekt blubb.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Hallo!

      Danke für die Anregung! Also dann so:

      function oeffne2(url){
          url2='http://www.sparkasse-iserlohn.de/index.html#url=/'+url;
          spk = window.open(url2, 'newwin', 'location=yes,menubar=yes,toolbar=yes,status=yes,resizable=yes,scrollbars=yes');
          spk.focus;
          return true;
      }

      function oeffne(url){
         if (spk && !spk.closed && spk.top.svm){
            onerror = oeffne2(url);
            url2='http://www.sparkasse-iserlohn.de/'+url;
            spk.parent.pb.location.href=url2;
            spk.focus();
            return true;
      }

      else {oeffne2(url);}
      }

      function gehezu(url){
         if (parent.opener && !parent.opener.closed && parent.opener.top.svm){
            onerror = oeffne(url);
            url2='http://www.sparkasse-iserlohn.de/'+url;
            parent.opener.parent.pb.location.href=url2;
      }
      else {oeffne(url);}
      }

      Gruß,

      Martin

      1. Hi,

        spk.focus;

        () ergänzen.

        spk.focus();

        so wie es hier richtig ist.

        cu,
        Andreas

        --
        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
        1. Hi!

          Danke für den Hinweis!

          Martin