Georges: Mausklicks unter NS 7

Hi Leute,
auf einer Seite benötige ich einen Link, der nur per "Ziel speichern unter" laufen soll, aber einen gültigen Verweis enthält.Bei Linksklick sollte also eine alertbox erscheinen und ja nicht die Zielseite angezeigt werden. Muss nur unter IE 5 und NS 7 laufen.
Hier mein Skript :

<script type="text/javascript">

if(navigator.appName =='Netscape'){
  document.getElementById('rightonly').onmousedown = omd;
}

function omd(Ereignis){
  if (navigator.appName == 'Microsoft Internet Explorer' && parseInt(navigator.appVersion) >= 4){
    if(event.button == 1){
      alert("Bitte mit der rechten Maustaste klicken");
    }
  }else{
    if(Ereignis.which == 1){
      alert("Bitte mit der rechten Maustaste klicken");
    }
  }

}
</script>

Läuft super unter IE 5 nur unter NS 7 passiert nix..
Wenn ich die Überwachung mit
  document.getElementById('rightonly').onmousedown = omd;
starte, haut er das alert-Fenster bei jedem Link raus und öffnet
den link trotzdem, anstatt weitere Aktivitäten einzustellen.

Nun habe ich folgende Fragen : Wie überwache ich unter NS7 nur den einen Link-Tag und wie unterbinde ich, daß er das Ziel trotzdem öffnen will ?

Tausend Dank im voraus,
Georges

  1. Sorry,
    is natürlich :

    Wenn ich die Überwachung mit
      document.onmousedown = omd;
    starte, haut er das alert-Fenster bei jedem Link raus und öffnet
    den link trotzdem, anstatt weitere Aktivitäten einzustellen.

  2. Hallo,

    ich frage mich, ob das überhaupt erreicht werden kann, weil es ja ziemlich hinterhältig ist.

    if(navigator.appName =='Netscape'){
      document.getElementById('rightonly').onmousedown = omd;
    }

    damit das funktioniert, muß das Element "rightonly" bereits im Dokument existierten. Wenn dein scriptbereich vor dem html-body steht, in dem der link mit dieser ID definiert wird, dann dürfte das eigentlich einen Fehler produzieren...

    hast du es schonmal so versucht?

    <a href="nichtanzuzeigendesDokument.xxx" onclick="return false;">linktext</a>

    das return false verhindert ein ausführen des links. ich weiß aber nicht, ob das nur für links- oder auch für rechts-klicks gilt.

    zu den eventhandlern kann ich leider nichts sagen.

    Tschau,
    apstrakt

    --
    http://www.cafe-abstrakt.de
  3. Tausend Dank an apstrakt, Dein Vorschlag ist die halbe Lösung.
    Fehlte nur noch onClick statt mouseDown. Lösung sieht so aus :

    <script type="text/javascript">

    function omd(){
      if (navigator.appName == 'Microsoft Internet Explorer' && parseInt(navigator.appVersion) >= 4)
      {
        if(event.button == 1){
          alert('Bitte mit der rechten Maustaste klicken und "Ziel speichern unter" wählen.');
        }
      }
    }

    function omdns(Ereignis){
        if(Ereignis.which == 1){
          alert('Bitte mit der rechten Maustaste klicken und "Verknüpfungsziel speichern unter" wählen.');
          return false;
        }
    }

    </script>

    <a href="nurzumdownload.bla" target="_blank" id="rightonly" onmousedown="javascript: omd();">blatext</a>

    <script type="text/javascript">
    document.getElementById('rightonly').onclick = omdns;
    </script>