David Hörpel: nicht funktionnierndes Script

Hallo!

Ich brauche dringend Hilfe!!! Ich verzweifle schon an diesem unbedingt notwendigen Script und die
Antworten im Forum konnten mir bisher nicht weiterhelfen, obwohl ich sie ausprobiert habe.
Der Quelltext:

<HTML>
<Script language="Javascript">
function select() {

if (document.all)
   { text = document.selection.createRange().text;  }
      else
   { text = document.selection }

if(parent.Dict.location.href= "../Dict/" + text.substring(0, 1) + ".html".indexOf(document.selection.createRange().text) = true)
{
parent.Dict.location.href = "../Dict/" + text.substring(0,1) + ".html#" + document.selection.createRange().text
}
else {alert("There was no found!") }
}
</Script>
<Body onSelect="select()">
Hello!
</Body>
</Html>

Hier soll eine if-Anweisung abprüfen, ob das markierte Wort in der dazugehörigen Datei gefunden werden kann. Ist dies
der Fall, soll er darauf verweisen, ist dies nicht der Fall, soll es einer alert-Fenster herausgeben.
An dieser Zeile hängt es jetzt:
if(parent.Dict.location.href= "../Dict/" + text.substring(0, 1) + ".html".indexOf(document.selection.createRange().text) = true)

So würde ich es hinschreiben, aber da meldet der Computer mir einen Syntaxfehler. Schreibe ich die erste Klammer auch hinter das true

if(parent.Dict.location.href= "../Dict/" + text.substring(0, 1) + ".html".indexOf(document.selection.createRange().text = true))

schreiben, findet er die Datei, aber schreibt immer ein true hin, egal ob das gesuchte Wort gefunden wurde oder nicht.

Kann mir einer sagen, wo ich meinen Fehler mache oder mein Script so berichtigen, dass es funktionniert?

Vielen Dank!

Gruß David!

  1. So wird's übersichtlicher und könnte vielleicht sogar funktionieren...

    var my_href="../Dict/"+text.substring(0,1)+".html";
    parent.Dict.location.href=my_href;
    if(my_href.indexOf(document.selection.createRange().text)!=-1)
    { ... }

    Ist document.selection.createRange().text ein Buchstabe ?

  2. N'abend

    schreib mal statt:

    <Script language="Javascript">

    <script type='text/javascript'>

    Dein if fragt nach document.all und dem Rest:

    if (document.all)
       { text = document.selection.createRange().text;  }
          else
       { text = document.selection }

    Abgesehen davon, daß opera mit document.all ebenfalls erwischt wird, und mit document.selection.createRange() nichts
    anfangen kann, wohl aber mit document.selection, braucht's in mozilla zB. window.getSelection().

    In

    if(parent.Dict.location.href= ....usw.

    muß es, wenn überhaupt, heißen:

    if(parent.Dict.location.href == .....

    Wenn Du Dir die Fehlermeldungen in den mozilla-browsern, oder auch im neuen opera7 genauer anschaust,
    bekommst Du sehr oft sehr gut gesagt, wo der Hase im Pfeffer liegt, wohingegen die Fehlermeldungen
    im IE bisweilen eher kryptisch anmuten.

    Um ein Gefühl für die Behandlung etwaiger Fehler zu bekommen, könntest Du Dir auch einmal try und catch
    anschauen.

    gruß

    werndt

    P.S. Ich glaube, Du machst Dir hier keine Freunde, wenn Du einen zwoten thread zum gleichen Thema öffnest.