![]() |
Webbrowser Icon und Link von Website bekommen
hi,
ich bin grad dabei einen webbrowser zu programmieren. wenn man jetzt in ein edit zb ![]() Ich hoffe ihr versteht mich ansonsten einfach nachfragen^^ :) MFG Lars Wiltfang |
Re: Webbrowser Icon und Link von Website bekommen
Hallo,
schau dir mal die ![]() Infos, welche Komponente du nutzt (TWebBrowser, MozillaActiveX-Control) wäre evtl. noch hilfreich. Ich vermute aber TWebBrowser, daher auch der obige Link. Gruß |
Re: Webbrowser Icon und Link von Website bekommen
habe mir den jetzt gedownloadet aber irgendwie kann ich nicht die zeile für meine frage sehen? Es wäre cht nett wenn mir d jemand hlefen könnte!
|
Re: Webbrowser Icon und Link von Website bekommen
Hallo Lars,
dein WebBrowser meldet den URL der ausgelieferten Seite beim Ereignis OnDocumentComplete(). Im Basis-Verzeichnis der WebSite findest du die Datei favicon.ico mit dem kleinen Logo. Freundliche Grüße |
Re: Webbrowser Icon und Link von Website bekommen
und wie muss ich das codetechnisch machen dass dann in caption der richtige seitenname drin steht?
|
Re: Webbrowser Icon und Link von Website bekommen
Was du laut deinem Beitrag #1 haben möchtest, ist der URL der aktuellen Webseite in der Caption deiner EditForm
Delphi-Quellcode:
procedure TEditForm.WebBrowserDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant); begin // ... self.Caption := URL; end; |
Re: Webbrowser Icon und Link von Website bekommen
und wie geht das nun mit dem icon?
|
Re: Webbrowser Icon und Link von Website bekommen
Das Icon kannst du dir mit
![]() |
Re: Webbrowser Icon und Link von Website bekommen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, im TEmbeddedWB Package gibt's eine TIEAddress Komponente, welche auch das Favorite Icon anzeigen kann.
Codeauszug aus der Komponente:
Delphi-Quellcode:
function TCustomIEAddress.GrabFavicon(URL: AnsiString; dest: AnsiString): Boolean;
var i: Integer; St: Ansistring; bCancel: Boolean; begin Result := False; try bCancel := false; St := RemovePrefix(URL, 'HTTP://'); I := AnsiPos('/', RemovePrefix(St, 'HTTP://')); if I > 0 then St := 'http://' + System.Copy(St, 1, I); if Assigned(FOnGetFavicon) then FOnGetFavicon(Self, (GetCacheFolder + 'favicon.ico'), Text, bCancel, nil); if not bCancel then try Result := UrlDownloadToFile(nil, PAnsiChar(St + 'favicon.ico'), PAnsichar(dest), 0, nil) = 0; except Result := False; end; finally end; end; |
Re: Webbrowser Icon und Link von Website bekommen
Hallo,
was habt ihr denn alle mit "favicon.ico"? Das zu nutzen wäre wie Windows-Pfade im Programm hardcoded (da wäre ein deutsches Wort mal interessant) zu verwenden. Diese sollte man generell dynamisch ermitteln und so ist dies hier ebenfalls. Das Icon meiner Website heißt beispielsweise - sehr einfallsreich gewählt - "icon.ico". Es wäre also sinnvoller per regulären Ausdrücken oder den Stringfunktionen den Dateinamen des Icons aus dem HTML-Quelltext zu ermitteln, falls TWebBrowser keine andere bzw. einfachere Möglichkeit dafür bietet.
Code:
Schlägt dies fehl, sollte überprüft werden, ob sich eine "favicon.ico" im Hauptverzeichnis befindet bzw. in umgedrehter Reihenfolge.
<link rel="shortcut icon" href="<Pfad zum Icon>"/>
Übrigens kommen diverse Browser (Bsp. Firefox) auch mit anderen Bildformaten zurecht. Grüße |
Re: Webbrowser Icon und Link von Website bekommen
Hallo Matthias,
Zitat:
Delphi-Quellcode:
Freundliche Grüße
function GetLinkAttribute(doc: IDispatch; const rel, attr: string): string;
var ec: IHTMLElementCollection; e: IHTMLElement; i: Integer; begin ec := (doc as IHTMLDocument3).getElementsByTagName('link'); for i := 0 to Pred(ec.length) do begin e := ec.item(i, null) as IHTMLElement; if SameText(VarToStr(e.getAttribute('rel', 0)), rel) then begin Result := VarToStr(e.getAttribute(attr, 0)); Exit; end; end; Result := ''; end; // ShowMessage(GetLinkAttribute(Document, 'Shortcut Icon', 'href')) |
Re: Webbrowser Icon und Link von Website bekommen
das mit der url klappt zwr aber gibt es auch ncoh vielleicht ne möglichkeit den titel herauszufinden
??? |
Re: Webbrowser Icon und Link von Website bekommen
Document.Title ist das, was du suchst.
|
Re: Webbrowser Icon und Link von Website bekommen
Delphi-Quellcode:
also wenn ich einfach unter document complete das reinschreibe dann kommt n fehler!
Edit1.text := Document.Title
muss das wo anders rein? und gibt es auch ne möglichkeit dass title und url schon beovr die seite fertig geladen ist angezeit werden? wäre über eure hilfe sehr dankbar! |
Re: Webbrowser Icon und Link von Website bekommen
Hallo
Den Titel kannst du im Ereignis OnTitleChange auslesen. Sobald das Ereignis ausgelöst wird, wechselt der Titel. |
Re: Webbrowser Icon und Link von Website bekommen
ok, ich habe meinen webbrowser mit tabs zur übersicht versehen! vorher stand dann da halt
![]() |
Re: Webbrowser Icon und Link von Website bekommen
Du kannst ja ermitteln, welcher Webbrowser sich auf dem entsprechenden Tab befindet und
dann die LocationURL auslesen. Andere Möglichkeit: Du erweiterst den Browser, resp das Tabsheet mit einigen Members. Das hat den Vorteil, dass du die CSC_NAVIGATEFORWARD / CSC_NAVIGATEBACK Stati usw. des jeweiligen Webbrowsers speichern kannst. z.B so
Delphi-Quellcode:
oder so:
type
TWebbrowser = class(SHDocVw.TWebbrowser) private // Titel des Webbrowsers FTitle: string; // CSC_NAVIGATEFORWARD und CSC_NAVIGATEBACK Status FNavForward: Boolean; FNavBack: Boolean; public end;
Delphi-Quellcode:
type
TTabSheet = class(ComCtrls.TTabSheet) private // URL des Webbrowsers im Tabsheet FURL: string; // CSC_NAVIGATEFORWARD und CSC_NAVIGATEBACK Status FNavForward: Boolean; FNavBack: Boolean; public end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz