Delphi-PRAXiS :: Das Forum für Fragen zu Delphi
Das Experten Forum für Delphi Programmierer
Hilfe für Borland Delphi gibts es hier im Forum
Delphi Quelltexte und Source Codes
 
Winter 2008 - lieben Dank an Julius für ds Bild
Delphi-PRAXiS :: Foren-ÜbersichtForen-Übersicht Delphi-PRAXiS Modul-ÜbersichtSite-Map Delphi-PRAXiS durchsuchenSuchen Delphi-PRAXiS Code-LibraryCode-Library Jetzt registrieren!Registrieren Login  
   
 
0
 
Delphi für Win32
[TWebbrowser] Document und lokale Dateien
Ein Delphi (Win32)-Thema von Igotcha.

Vorheriges Thema anzeigen  |  Nächstes Thema anzeigen
Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
Delphi-PRAXiS Forum - Übersicht -> Internet / LAN / ASP.NET
Seite 1 von 1   [ 5 Beiträge ]  
 
 Autor 
 Nachricht 
 
Igotcha #1|Beitrag #933461Verfasst am: 29.08.2008, 23:30      Titel: [TWebbrowser] Document und lokale Dateien Antworten mit Zitat
aktives Mitglied
Alter: 39
Status: offline
Beiträge: 540
angemeldet: 22.12.2003
Delphi 2006 Professional

Sprache: Delphi (Win32)

Hallo zusammen,

ich benutze folgende Vorgehensweise, um HTML-Inhalte in einem TWebbrowser darzustellen. Das "Document" wird aus Inhalten einer Datenbank zusammengesetzt.

Delphi-Quellcode: zusammenfalten | markieren
procedure TForm1.FormShow(Sender: TObject);
var
  myDocument:OleVariant;
begin
  if WEB1.Document = nil then WEB1.Navigate('about:blank');

  myDocument:=WEB1.Document;
  myDocument.Clear;
  myDocument.Write('<p>Hier soll jetzt zur <a href="lokal.html">lokalen Datei</a> navigiert werden.</p>');
  myDocument.Close;
end;


Neben diesen DB-basierten Inhalten gibt es auch einige lokale HTML-, sowie andere verlinkte, lokale Dateien.

Ich schaffe es jetzt aber nicht, mir genau diese lokalen Dateien anzeigen zu lassen. Die Seite wird nicht geöffnet, stattdessen erscheint eine leere Seite mit dem Text "lokal.html". Die Datei liegt im selben Verzeichnis wie die Anwendung. Setzte ich den Link z.B. auf "http://google.de" funktioniert der Link.

Gruß Igotcha

 Zuletzt bearbeitet von Igotcha am 29.08.2008, 23:31, insgesamt 1-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
toms #2|Beitrag #933527Verfasst am: 30.08.2008, 09:35      Titel: Re: [TWebbrowser] Document und lokale Dateien Antworten mit Zitat
sehr aktives Mitglied
Status: offline
Beiträge: 3.616
angemeldet: 10.06.2002
Delphi 6 Professional

Hallo Igotcha,

Hast du es schon mal mit absoluten Pfadangaben probiert?
Da das geladene Dokument lokal nicht existiert wird durch die relative Pfadangabe die lokale Datei nicht gefunden.

Alternative, falls das auch nicht funktionieren sollte:

Ein eigenes Protokoll definieren:

Delphi-Quellcode: markieren
const
  MYPROTOCOL = 'mylocalfile://';


Im OnBeforeNavigate2 Ereignis den Link in den lokalen Link umwandeln.

Delphi-Quellcode: zusammenfalten | markieren
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  if Pos(MYPROTOCOL, URL) <> 0 then
  begin
    Cancel := True; // Navigation Abbrechen
    URL := StringReplace(URL, MYPROTOCOL ,'file://',[rfIgnoreCase]);
    TWebBrowser(Sender).Navigate(URL);
  end;
end;


Zuvor wird der Link ins Dokument geladen:

Delphi-Quellcode: markieren
//...
strLocalFile := MYPROTOCOL + '/C:/test.htm';
myDocument.Write('<p>Hier soll jetzt zur <a href="'+ strLocalFile +'">lokalen Datei</a> navigiert werden.</p>');
//...

WinSpy 2008 - Der Fenster Spion (V.2.0.3.523 - 06.09.2008)
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
Pfoto #3|Beitrag #933530Verfasst am: 30.08.2008, 09:57      Titel: Re: [TWebbrowser] Document und lokale Dateien Antworten mit Zitat
Mitglied
Alter: 32
Status: offline
Beiträge: 465
angemeldet: 26.08.2005
Wohnort: Daun
Turbo Delphi für Win32

Hallo Igotcha,

ich hatte ein ähnliches Problem und konnte es mit
angabe einer Pfadangabe oben im header lösen:

<base href="{ Hier der Pfad deiner Anwendung }" />

Danach führte er auch die relativen Links richtig aus.

Gruß
Jürgen
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
Igotcha #4|Beitrag #933725Verfasst am: 30.08.2008, 19:59      Titel: Re: [TWebbrowser] Document und lokale Dateien Antworten mit Zitat
aktives Mitglied
Alter: 39
Status: offline
Beiträge: 540
angemeldet: 22.12.2003
Delphi 2006 Professional

Danke euch beiden.

Das mit der base-Angabe im Header funktioniert bei mir nicht, und das Abfangen im "OnNavigate2" wollte ich eigentlich genau vermeiden - geht aber anscheinend nicht anders Wink

Igotcha
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
omata #5|Beitrag #933740Verfasst am: 30.08.2008, 21:06      Titel: Re: [TWebbrowser] Document und lokale Dateien Antworten mit Zitat
aktives Mitglied
Status: offline
Beiträge: 1.962
angemeldet: 26.08.2004
Wohnort: Wedel
Delphi 7 Enterprise

Hier gab es das Thema auch schon...
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
Anzeige-Optionen:    
 
Delphi-PRAXiS Forum - Übersicht -> Internet / LAN / ASP.NET Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1   [ 5 Beiträge ]  
 
  Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
   
Gehe zu:  
Du darfst keine Beiträge in dieses Forum schreiben.
Du darfst auf Beiträge in diesem Forum nicht antworten.
Du darfst Deine Beiträge in diesem Forum nicht bearbeiten.
Du darfst Deine Beiträge in diesem Forum nicht löschen.
Du darfst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum nicht herunterladen.


Impressum / Kontakt
Allgemeine Geschäftsbedingungen
Verhaltenskodex & FAQ

Delphi-PRAXiS :: Das Forum für Delphi-Programmierer
Das Experten Forum für Delphi ProgrammiererHilfe für Borland Delphi gibts es hier im ForumDelphi Quelltexte und Source CodesDelphi-PRAXiS :: Das Forum für DelphiWindows APIInternet und NetzwerkeVCL und Datenbanken
 

Delphi-PRAXiS V.2005 III
© 2002-2008 by Daniel R. Wolf
powered by phpBB © phpBB Group

Impressum / Kontakt Allgemeine Geschäftsbedingungen