Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Link in TWebBrowser einfügen funktioniert nicht mehr (https://www.delphipraxis.net/190575-link-twebbrowser-einfuegen-funktioniert-nicht-mehr.html)

BlueStarHH 17. Okt 2016 19:43

Link in TWebBrowser einfügen funktioniert nicht mehr
 
Ich habe bisher wie folgt einen Link auf eine E-Mail-Adresse in den TWebBrowser eingefügt:

Delphi-Quellcode:
//WB: TWebBrowser;
WB.OleObject.Doc.Selection.createRange.pasteHTML('<a href="mailto:a@b.de">EinLink</a>');
Das hat problemlos geklappt: Der Text "EinLink" wurde blau und unterstrichen und öffnete beim Klicken das E-Mail-Programm.

Heute ist mir aufgefallen, dass der Code nicht mehr funktioniert. Es wird zwar der Text "EinLink" in den TWebBrowser eingefügt. Das A-Tag fehlt jedoch komplett, wenn man sich den Seitenquelltext anschaut. Daher ist der Text dann auch nicht als Link klickbar.

Füge ich folgenden (sinnlosen) Text ein, ist der Link aktiv:

Delphi-Quellcode:
WB.OleObject.Doc.Selection.createRange.pasteHTML('<a href="foo:a@b.de">EinLink</a>');


Warum? Ist das ein neues Sicherheitsfeature vom Internetexplorer? Wie kann ich das abschalten? Installiert ist der IE 11.321 unter Windows 10 x64.

t.roller 17. Okt 2016 20:51

AW: Link in TWebBrowser einfügen funktioniert nicht mehr
 
Was zeigt folgender Code an:
Delphi-Quellcode:
function GetIEVersion: string;
var
   Reg: TRegistry;
   S: string;
   i : integer;
begin
   Reg := TRegistry.Create;
   with Reg do
      begin
         RootKey := HKEY_LOCAL_MACHINE;
         OpenKey('Software\Microsoft\Internet Explorer', False);
         if ValueExists('Version') then
          begin
            S := ReadString('Version');
          end
         else
         begin
            S := '0';
         CloseKey;
        end;
         Free;
      end;
    result := s;
end;
Was zeigt die FEATURE_BROWSER_EMULATION in der Registry an?
Man muss für jedes Programm den Wert selbst festlegen!
Beispiel zum Auslesen:
Delphi-Quellcode:
//[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
function GetIBEVersion: string;
var
   Reg: TRegistry;
   S: string;
   i : integer;
begin
   Reg := TRegistry.Create;
   with Reg do
      begin
         RootKey := HKEY_CURRENT_USER;
         OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', False);
         if ValueExists('EbayLogin2.exe') then
          begin
            S := INTTOSTR(ReadInteger('EbayLogin2.exe')); //270f = 9999 Beispiel
          end
         else
         begin
            S := '0';
         CloseKey;
        end;
         Free;
      end;
    result := s;
end;
Siehe hier.

BlueStarHH 18. Okt 2016 10:39

AW: Link in TWebBrowser einfügen funktioniert nicht mehr
 
GetIEVersion zeigt 9.11.14393.0

FEATURE_BROWSER_EMULATION zeigte 0 an

Ich habe folgende Werte probiert:
9999
11000
11001
(keinen Eintrag)

Das alles ändert nichts: Der mailto-Link wird nicht als Link, sondern als Text eingefügt.

BlueStarHH 3. Sep 2017 14:00

AW: Link in TWebBrowser einfügen funktioniert nicht mehr
 
Das Problem besteht immer noch. Hat jemand eine Idee?

bnreimer42 3. Sep 2017 15:03

AW: Link in TWebBrowser einfügen funktioniert nicht mehr
 
Hast Du evtl. keine Standard-Mail-Applikation auf dem Rechner definiert?

BlueStarHH 3. Sep 2017 15:10

AW: Link in TWebBrowser einfügen funktioniert nicht mehr
 
Zitat:

Zitat von bnreimer42 (Beitrag 1380232)
Hast Du evtl. keine Standard-Mail-Applikation auf dem Rechner definiert?

Ich habe eine Standard-Mail-Applikation bei mir definiert. mailto-Links in mauell erstellen HTML-Dateien können hier auch geklickt werden und werden mit dem Mailprogramm geöffnet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz