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/)
-   -   Delphi Feststellen ob JavaScript im IE (TWebBrowser) deaktiviert ist (https://www.delphipraxis.net/195968-feststellen-ob-javascript-im-ie-twebbrowser-deaktiviert-ist.html)

Bernhard Geyer 11. Apr 2018 15:00

Feststellen ob JavaScript im IE (TWebBrowser) deaktiviert ist
 
Um dem Anwender eine vernünftige Meldung geben zu können das ein Funktion bei deaktivierten Javascript nicht funktioniert ist es nötig diese Abfragen zu können.

Wäre es auch möglich für die eigene Anwendung (welche TWebbrowser/TEmbeddedWB verwendet) JavaScript zu aktivieren, auch wenn es im IE deaktiviert ist?

KodeZwerg 11. Apr 2018 15:18

AW: Feststellen ob JavaScript im IE (TWebBrowser) deaktiviert ist
 
Ich fand so etwas um Scripte aufzurufen, vielleicht findest Du ja eine Stelle wo man es auswerten könnte:
Delphi-Quellcode:
uses
  MSHTML_TLB, SHDocVw, ShellAPI;

procedure ExecuteScript(doc:IHTMLDocument2;script:string;language:string);
var
 win: IHTMLWindow2;
 Olelanguage: Olevariant;
begin
 if doc <> nil then
 begin
   try
     win := doc.parentWindow;
     if win <> nil then
     begin
       try
         Olelanguage := language;
         win.execScript(script, Olelanguage); // kann man hier noch was auswerten?
       finally
         win := nil;
       end;
     end;
   finally
     doc := nil;
   end;
 end;
end;

//Beispiel
ExecuteScript(WebBrowser1.Document as HTMLDocument2,'MyJava()','JavaScript');

Bernhard Geyer 11. Apr 2018 15:34

AW: Feststellen ob JavaScript im IE (TWebBrowser) deaktiviert ist
 
Eine Lösung ohne try...exception sollte es wenn möglich sein.
Aktuell bekommen wir ja exception und eine "Zugriff verweigert"-Meldung könnte vieles bedeuten ...

Delphi.Narium 11. Apr 2018 15:55

AW: Feststellen ob JavaScript im IE (TWebBrowser) deaktiviert ist
 
Dort https://stackoverflow.com/questions/...ogrammatically erfährt man, wie man JavaScript per Programm ausschalten kann, die Info steht in der Registry.

Wenn man es auschalten kann, müsste man ja auch lesen können, ob es aus ist und dann entsprechend reagieren können.

Diese Schlüssel gibt es:
Code:
Arbeitsplatz
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi\Internet Settings\Zones\0\1400

Lokales Intranet
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi\Internet Settings\Zones\1\1400

Vertrauenswürdige Sites
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi\Internet Settings\Zones\2\1400

Internet
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi\Internet Settings\Zones\3\1400

Eingeschränkte Sites
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi\Internet Settings\Zones\4\1400
Welcher Wert was bedeutet steht hier: https://getadmx.com/?Category=Window...iveScripting_7
Code:
0 = ein
1 = nachfragen
3 = aus
Ansonsten Infos zu diesen Einstellungen:

https://support.microsoft.com/de-de/...advanced-users

https://getadmx.com/HKLM/Software/Po...ttings/Zones/4

KodeZwerg 11. Apr 2018 16:00

AW: Feststellen ob JavaScript im IE (TWebBrowser) deaktiviert ist
 
noscript mal anschauen, hilft das eventuell? Html Methode um's zu checken.
[edit]
das mit der registry ist besser :)
[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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