Autor Beitrag
Basher
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 24.08.10 21:57 
Hallo,

wollte mir mit Hilfe des "Webbrowser"-tool eine selbst erstellte html-Datei anzeigen lassen. Wenn ich die html-Datei ganz einfach lasse, also ohne frames, dann funktioniert das auch. Habe jetzt aber eine Seite mit Frames, warum wird die Seite jetzt nicht mehr angezeigt, ich sehen im jeden Frame nur die Namen der html-Seite.

Hier der C#-Code

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
public HelpForm()
        {
            InitializeComponent();
            StreamReader sr = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + @"../../help/index.html");
            webBrowser1.DocumentStream = sr.BaseStream;
        }


Danke.

Basher
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 24.08.10 22:27 
Du nimmst einen Stream um die Datei auszulesen. Das Verzeichnis ist aber ein anderes als das aktuelle Arbeitsverzeichnis.

Da die WebBrowser-Klasse deinen Originaldateinamen nicht kennt, hat diese auch keinerlei Möglichkeit die enthaltenen Webseiten der Frames zu finden (es sei denn du nimmst absolute Pfadangaben, aber das wäre ja Blödsinn).

Wenn du also nicht zu dem Speicherort der Datei navigieren möchtest, sondern die Daten der Datei selbst auslesen musst, dann wird das mit Frames kaum zuverlässig klappen. Du kannst versuchen das aktuelle Arbeitsverzeichnis entsprechend vorher zu setzen, keine Ahnung ob das reicht.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 25.08.10 10:20 
Daher wäre es wohl sinnvoller direkt "WebBrowser.Url" zu benutzen (anstatt des Streams)...
Basher Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 25.08.10 13:08 
Hmm okay,

und wie mache ich das jetzt? Hab ja die index.html bei mir auf dem Rechner (lokal), ist ja in dem Sinne keine url-Addresse. Also in dem WebBrowser soll man nur die index.html sehen.

Basher
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mi 25.08.10 13:46 
Wo befinden sich denn die Dateien für die Frames? Sind die auch auf der Festplatte? Dann kannst du doch versuchen, den Dateipfad als URL anzugeben.
Basher Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 25.08.10 14:30 
Die Dateien befinden sich mit in dem Programm-Ordner auf der Festplatte. Wollte eine realtive Pfadangabe machen, damit, wenn ich das programm auf einen anderen Rechner teste, es auch funktioniert.

Basher