In Ermangelung einer Richedit Komponente setze ich für eine App ein TWebBrowser zur Anzeige einer Anleitung ein.
Dazu lese ich
html Code aus einem Memo ein und kann dabei alle Formatierungen und auch Bilder und URLs verwenden.
Damit ein Link nicht im TWebBrowser, sondern im Standardbrowser des Smartphones geöffnet wird, verwende ich diesen Code:
Code:
procedure TfSplash.WebBrowser1ShouldStartLoadWithRequest(ASender: TObject; const
URL: string);
begin
{$IFDEF ANDROID}
if Pos('https://play.google.com',
URL) > 0 then
TMisc.Open('https://play.google.com/store/apps/details?id=de.xxxx')
{$ENDIF ANDROID}
end;
Das klappt auch gut.
Das Problem:
Wenn ein Link innerhalb des TWebBrowsers geöffnet wird, füllt die verlinkte Seite den kompletten Browser aus und der ursprüngliche Inhalt ist nicht mehr lesbar.
Genau das passiert aber, wenn der Nutzer aus seinem Standardbrowser nicht über die App-Auswahl zu meiner App zurückspringt, sondern mit der "Zurück" Taste des Smartphones.
TWebBrowser soll also Links laden, sodass das Event oben ausgeführt werden kann, den Inhalt der
URL selber aber nicht anzeigen.
Er soll quasi "read only" arbeiten.
Geht das?