Lothar Mueller: 2 Fragen

Hallo,

die beiden nachfolgenden Fragen wurden mir selbst  gestellt. Eigentlich wuerde ich beide mit NEIN oder so aehnlich beantworten, aber ich frag dann doch sicherheitshalber noch mal nach; denn speziell JavaScript ist noch relativ neu fuer mich... :-|

1. wenn ich mit der Maus ueber einen HyperLink fahre, der eine JS-Function ausfuehrt, erscheint in der Statuszeile (sowohl MSIE als auch NS) immer der Funktionsaufruf (z.B. "javascript: <function_name()>" o.ae.). Frage: kann man das GLOBAL verhindern ? Ich denke, ich wurde es schon hinkriegen, diese Statusmeldungen von Fall zu Fall zu unterdruecken, aber global ?

2. Bei Einsatz von Frames betrifft der BACK-Button ja oft nur den Inhalt eines Frames. Gibt es eine Moeglichkeit, die History-Liste des Browsers in irgendeiner Weise zu beeinflussen, so dass einmaliges Betaetigen des BACK-Buttons mehr als einen Schritt zurueckspringt ?

Besten Dank fuer reichliche Antworten, und selbstredend und besonders auch an Stefan M. fuer sein Engagement !

  • Lothar -
  1. Hallo,

    die beiden nachfolgenden Fragen wurden mir selbst  gestellt. Eigentlich wuerde ich beide mit NEIN oder so aehnlich beantworten, aber ich frag dann doch sicherheitshalber noch mal nach; denn speziell JavaScript ist noch relativ neu fuer mich... :-|

    1. wenn ich mit der Maus ueber einen HyperLink fahre, der eine JS-Function ausfuehrt, erscheint in der Statuszeile (sowohl MSIE als auch NS) immer der Funktionsaufruf (z.B. "javascript: <function_name()>" o.ae.). Frage: kann man das GLOBAL verhindern ? Ich denke, ich wurde es schon hinkriegen, diese Statusmeldungen von Fall zu Fall zu unterdruecken, aber global ?

    Hi,

    kann ja nicht funktionieren, daß mit dem global. Denn dazu müßte der Browser ja wissen, was alles zu deinem Projekt dazugehört, bzw. muß er das global löschen, wenn du eine andere Seite betrittst... und wie bitteschön soll das der 'dumme' Browser hinkriegen?

    zu 2 weiß ich nix.

    Gruß

    Sven

    1. Hallo,

      Hi,

      kann ja nicht funktionieren, daß mit dem global. Denn dazu müßte der Browser ja wissen, was alles zu deinem Projekt dazugehört, bzw. muß er das global löschen, wenn du eine andere Seite betrittst... und wie bitteschön soll das der 'dumme' Browser hinkriegen?

      hast recht, 'global' ist da etwas weit gegriffen; ich meinte damit eigentlich auch nicht den Browser, sondern die Seite, etwa in der Art 'Egal was passiert, wenn die Maus auf dieser Seite ueber einem Link jedweder Art schwebt, dann lass bitte das Gezappel im Statusfeld';

      na ja, ist eigentlich auch nicht so wichtig; trotzdem besten Dank fuer die Antwort

      • Lothar -
  2. Hallo Lothar,

    1. wenn ich mit der Maus ueber einen HyperLink fahre, der eine JS-Function ausfuehrt, erscheint in der Statuszeile (sowohl MSIE als auch NS) immer der Funktionsaufruf (z.B. "javascript: <function_name()>" o.ae.). Frage: kann man das GLOBAL verhindern ? Ich denke, ich wurde es schon hinkriegen, diese Statusmeldungen von Fall zu Fall zu unterdruecken, aber global ?

    Da bleibt wohl nur, bei jedem Link onmouseover="window.status='';return true;" zu notieren.

    1. Bei Einsatz von Frames betrifft der BACK-Button ja oft nur den Inhalt eines Frames. Gibt es eine Moeglichkeit, die History-Liste des Browsers in irgendeiner Weise zu beeinflussen, so dass einmaliges Betaetigen des BACK-Buttons mehr als einen Schritt zurueckspringt ?

    Mit history.go(-2) kann man auch zwei Schritte zurueckgehen. Allerdings habe ich die go-Methode noch nicht so arg erfolgreich anwenden koennen bislang, deshalb mistraue ich ihr. Eine andere Moeglichkeit ist es, sich in einem Frame ein JavaScript-Array zu definieren. Bei jedem Link muss dann ein neues Element dieses Arrays die URL des aufgerufenen Verweisziels speichern. So hat man eine Liste aller aufgerufenen URLs und kann durch Positionieren in dem Array zurueckspringen, wohin man will. Ist das so verstaendlich, oder brauchst Du den Code dazu <g>?

    Viele Gruesse
      Stefan Muenz

    1. Hallo Stefan,

      Da bleibt wohl nur, bei jedem Link onmouseover="window.status='';return true;" zu notieren.

      ich hatte es befuerchtet...

      Mit history.go(-2) kann man auch zwei Schritte zurueckgehen. Allerdings habe ich die go-Methode noch nicht so arg erfolgreich anwenden koennen bislang, deshalb mistraue ich ihr....

      Das nuetzt mir eh nicht so besonders viel, denn moeglicherweise muss man auch mal weiter zurueckspringen; daher gefaellt mir Vorschlag 2 wesentlich besser:

      ne andere Moeglichkeit ist es, sich in einem Frame ein JavaScript-Array zu definieren. Bei jedem Link muss dann ein neues Element dieses Arrays die URL des aufgerufenen Verweisziels speichern. So hat man eine Liste aller aufgerufenen URLs und kann durch Positionieren in dem Array zurueckspringen, wohin man will. Ist das so verstaendlich, oder brauchst Du den Code dazu <g>?

      grundsaetzlich ist es schon verstaendlich, aber falls du gerade so ein passendes Stueck Code rumliegen hast... :-)

      Besten Dank schon mal,

      • Lothar -
      1. Hallo Lothar,

        grundsaetzlich ist es schon verstaendlich, aber falls du gerade so ein passendes Stueck Code rumliegen hast...

        Hab ich - tut allerdings nicht exakt das was Du brauchst. Ich hoffe allerdings, Du kommst mit der Anpassung fuer Deine Wuensche klar:

        JavaScript / History in Frames merken

        Datei "frames.htm"
        <html>
        <head>
        <title>Test</title>
        </head>
        <frameset cols="30%,*">
        <frame src="frames_1.htm" name="links">
        <frame src="frames_2.htm" name="rechts">
        </frameset>
        </html>

        Datei "frames_1.htm"
        <html>
        <head>
        <title></title>
        <SCRIPT LANGUAGE="JavaScript">
        <!--
        var Datei = new Array();
        var i = 0;
        function Merken(Name)
        {
        Datei[i] = Name;
        i = i + 1;
        }
        function Ergebnis()
        {
        parent.frames.rechts.document.clear();
        parent.frames.rechts.document.open();
        parent.frames.rechts.document.write("<H2>Folgende Dateien wurden
        besucht</H2>");
        for(x = 0; x < i; x++)
          parent.frames.rechts.document.write((x+1) + ". angeklickte Datei: " +
        Datei[x] + "<br>");
        }
        // -->
        </script>
        </head>
        <body>
        <a href="ziel_1.htm" target="rechts" onClick="Merken('ziel_1.htm')">Verweis
        zu ziel_1.htm</a><br>
        <a href="ziel_2.htm" target="rechts" onClick="Merken('ziel_2.htm')">Verweis
        zu ziel_2.htm</a><br>
        <a href="ziel_3.htm" target="rechts" onClick="Merken('ziel_3.htm')">Verweis
        zu ziel_3.htm</a>
        <p>
        <a href="javascript:Ergebnis()">Ergebnis anzeigen</a>
        </body>
        </html>

        Datei "frames_2.htm"
        <html>
        <head>
        <title>Titel</title>
        </head>
        <body>
        Klicken Sie mehrfach auf die Verweise links und nach einer Weile auf den
        letzten Verweis!
        </body>
        </html>

        Datei "ziel_1.htm"
        <html>
        <head>
        <title></title>
        </head>
        <body bgcolor=#FFFFCC text=#000000>
        Das ist Zieldatei 1
        </body>
        </html>

        Datei "ziel_2.htm"
        <html>
        <head>
        <title></title>
        </head>
        <body bgcolor=#CCFFCC text=#000000>
        Das ist Zieldatei 2
        </body>
        </html>

        Datei "ziel_3.htm"
        <html>
        <head>
        <title></title>
        </head>
        <body bgcolor=#CCCCFF text=#000000>
        Das ist Zieldatei 3
        </body>
        </html>

        Viele Gruesse
          Stefan Muenz