norbert: Link zu Datei

Guten Tag,
mir gelingt es nicht, einen Link zu einer htm-Datei in ein html-Dokument einzufügen. Kann mir jemand helfen?
Als Browser fungiert der Browser von VisualStudio. Der Eigenschaft DocumentText übergebe ich den korrekt formatierten Text (String) eines Dokuments (doc1). Darin ist ein Link eingebettet, der auf ein anderes Dokument (doc2) in einem Unterverzeichnis (AKR) verweist.

<a href="./AKR/doc2.htm">A03</a>

Es will einfach nicht klappen, dass sich doc2 beim Klicken auf den Link in doc1 öffnet. Im Browser erscheint nicht das Dokument, sondern nur der Name des Dokuments. Ist scheinbar ein Problem mit dem Pfad. Das Verzeichnis AKR ist ein Unterverzeichnis meiner Programm.EXE und in ihm liegen alle htm's. Der erste Aufruf aus der EXE heraus funktioniert. Bin ich dann in dem Verzeichnis, wo doc1 liegt oder im Verzeichnis der EXE? Wie muss der Link richtig aussehen? Vielen Dank.
Gruß Norbert

  1. Hallo Norbert,

    <a href="./AKR/doc2.htm">A03</a>
    Ist scheinbar ein Problem mit dem Pfad.

    ja, Deine Vermutung stimmt.

    Du hast hier eine relative Pfadangabe. Relativ heißt hier relativ zum Dokument, in dem sich der Link befindet.

    Das Verzeichnis AKR ist ein Unterverzeichnis meiner Programm.EXE und in ihm liegen alle htm's. Der erste Aufruf aus der EXE heraus funktioniert. Bin ich dann in dem Verzeichnis, wo doc1 liegt

    ja, genau dort. Da alle HTML-Dateien (warum die grausame Endung "htm"?) im gleichen Verzeichnis liegen, ist die richtige relative Adressierung:

    ./doc2.htm

    oder einfach

    doc2.htm

    oder im Verzeichnis der EXE?

    Nein, das Arbeitsverzeichnis der EXE oder gar das Programmverzeichnis des Programmes spielt bei Hyperlinks in HTML-Dokumenten keine Rolle.

    Freundliche Grüße

    Vinzenz

    1. Vielen Dank für die schnelle Antwort. Deine beschriebene Methode hatte ich schon probiert und ich war mir sicher, dass es so klappen müsste. Aber das Problem ist der Browser vom VisualStudio (vb.net). Hier geht es leider nicht. Hab nun doch eine Lösung gefunden:
      Die Referenz muss ein Event enthalten und auslösen:

      <a href="javascript:window.external.OnLinkClick('doc2')">A03</a>

      Im VB-Code habe ich eine Routine, in die beim Klicken des Links hineingesprungen wird. Hier lese ich den Inhalt des Docs ein, bilde Header und Foot, gebe die Styles (CSS) an und werfe es dem Browser zum Anzeigen vor. Habe nix gefunden, was weniger Aufwand macht. Deine Methode funktioniert im InternetExplorer, aber eben leider nicht im Browser von Microsoft VisualStudio.
      Dennoch bin ich Dir sehr dankbar für Deine Bemühungen.
      Schöne Grüße
      Norbert

      1. Hallo,

        Visual Studio verlässt sich ziemlich sicher (imho) auf ein bestimmte Version vom Internet Explorer bzw. dessen Rendering Engine. Die werden wohl bei MS kaum nur für das VS (Express?) eine neue Rendering Engine schreiben.

        Ich wage auch zu behaupten, dass du den Wald vor lauter Bäumen gar nicht siehst, m.a.w. dein Problem ist anders gelagert und du dokterst nur an den Symptomen herum. Leider kann ich ohne weitere Kenntnis der Sachlage auch nichts weiter sagen. Deine ursprüngliche Beschreibung liest sich auch relativ verworren.

        Ciao, Frank