![]() |
Darstellungsfehler im Twebbrowser
Hallo,
ich verwende schon seit Jahren den TWebbrowser (und Delphi 7). Nun mehren sich aber immer mehr Internet-Seiten (und damit die Beschwerden der Nutzer), die nicht korrekt angezeigt werden. Z.B. wird die Seite ![]() Hat jemand eine Idee, wie ich das korrigieren kann oder worann da liegt? |
AW: Darstellungsfehler im Twebbrowser
Eine andere Browserkomponente verwenden?
Das Ding, welches da einbebunden wird, ist gern mal eine ältere IE-Version, aber vorllem ist diese in ihrer ganz oder Funktion eingeschränkt und auch die Sicherheitseinstellungen sind etwas strenger. - JavaScript - CSS usw. Und vorallem ohne JavaScript, Ajax und Co. läuft ja heutzutage nix mehr. PS: Es gab hier vor Kurzem schonmal einen Thread, wo es darum geht, wie uund wo man eventuell etwas an der verwendeten IE-Version rumschrauben kann. |
AW: Darstellungsfehler im Twebbrowser
Hallo,
danke für Deine Antwort. Ich glaube du meint da hier: ![]() Irgendwie muss es doch möglich sein, mit Delphi Webseiten vernünftig anzeigen zu lassen? |
AW: Darstellungsfehler im Twebbrowser
|
AW: Darstellungsfehler im Twebbrowser
- Bitte löschen -
|
AW: Darstellungsfehler im Twebbrowser
Hallo,
ich habe nach viel rumprobieren selber eine Lösung gefunden, die herforragend funktioniert. Eigentlich sollte jeder, der noch TWebbrowser benutzt, standartmäßig SetWebbrowserMode(11,'MeineAnwendung.exe'); setzen. Dann werden die Seiten perfekt dargestellt. Bitte nicht vergessen, dass dazu Admin-Rechte nötig sind! Übrigens: Auch wenn kein Internetexplorer 11 installiert ist, so führt der Aufruf SetWebbrowserMode(11) dennoch zum Erfolg, da dann der nächst-niedrigere Internetexplorer verwendet wird. Funktioniert sowohl bei 32Bit als auch bei 64Bit, da Windows automatisch umleitet.
Delphi-Quellcode:
Beispielaufruf:
function SetWebbrowserMode(Mode: integer; AppName: string = ''):boolean;
const REG_KEY = 'SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION'; var Reg: TRegistry; Value: Integer; Erfolg:boolean; begin Erfolg:=false; if AppName = '' then AppName := ExtractFileName(Application.ExeName); Case Mode of 7 : Value := $1B58; 8 : Value := $22B8; 9 : Value := $270F; 10 : Value := $2AF7; 11 : Value := $2EDF; end; Reg := TRegistry.Create(KEY_ALL_ACCESS); try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey(REG_KEY, True) then begin Reg.WriteInteger(AppName, Value); Reg.CloseKey; erfolg:=true; end; finally Reg.Free; Result:=Erfolg; end; end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin if not SetWebbrowserMode(11,'MeineAnwendung.exe')then showmessage('Sie haben keinen Schreibzugriff auf die Registrierungsdatenbank. Bitte informieren Sie Ihren Administrator'); end; |
AW: Darstellungsfehler im Twebbrowser
Da wird intern nichts anderes gemacht als in
![]() Die Registry sollte durch den Installer geändert werden, Du musst den Eintrag nur einmal hinzufügen und nicht jedesmal. |
AW: Darstellungsfehler im Twebbrowser
Hi,
klar, durch die ![]() Klar ist auch, dass dies nur bei der Installation durch den Installer gamacht werden muss/sollte. Meine Anwendung ist aber bereits seit Jahren beim Kunden installiert. Die Updates verteile ich ohne Installer - sondern nur die Exe. Deshalb lasse ich die Exe einmal prüfen, ob die Einstellung schon erfolgt ist. Wenn nicht biete ich eine Taste, die dann die obige Routine ablaufen lässt. Aber trotzdem vielen Danke für Deine berechtigten Hinweise. |
AW: Darstellungsfehler im Twebbrowser
|
AW: Darstellungsfehler im Twebbrowser
Ich hab solche Probleme auch mit Chromium embedded gelöst und parallel/alternativ die Anzeige im externen Standard-Browser.
Nja, zuletzt nutzten alle den Externen und wir bauten Chromium embedded wieder aus (auskommentiert und DLLs entfernt) und stattdessen ist der interne TWebBrowser nur noch als teilweise funktionierendes Notfallsystem drin, falls der Externe mal rumzickt. |
AW: Darstellungsfehler im Twebbrowser
Ich habe mit Chromium rumprobiert und kann ehrlich gesagt nicht nachvollziehen, wieso den manche heiß empfehlen. Er bläht das Setup um locker 30-35 MByte auf, die EXE startet langsamer (erstellen vom Chromium Objekt) und ich hatte massiv Probleme mit dem Ding (Absturz). Der IE ist auf 99% aller Systeme, ich muss nichts mit-installieren und er kennt 1-2 Events mehr, die ich gerne nutze. Bin (leider) von ab, er hatte seine Chance.
Just my 2 Cent. |
AW: Darstellungsfehler im Twebbrowser
mir ging es mit Chromium ebenso!
Den EmbeddedWB habe ich ebenfalls ausprobiert. Und der hatte exact die gleiche verschobene Darstelllung wie der TWebbrowser. Auf einen Standartbrowser kann ich auch nicht zurückgreifen, da die Software im öffentlichen Bereich läuft und ich das freie Serven unterbinden möchte. Des weiteren wird die Darstellung (barrierefrei) für Menschen mit Berhinderungen angepasst. Ich habe keine Ahnung, wie ich das alles mit einem Standartbrowser machen soll??? |
AW: Darstellungsfehler im Twebbrowser
Zitat:
Warum? Man ist damit unabhängig und nicht komischen Systemeinstellungen ausgeliefert. Auf Serversystemen ist der IE standardmäßig krankhaft in seiner Funktion eingeschränkt. In Windows-Home-Server kann man den zwar angeblich für alle Benutzer wieder freischalten, aber das funktioniert nicht wirklich und auf diesem Windows Server 2008, wo ich grade arbeite, sind auch viele Dinge standardmäßig gesperrt und da kaum jemand den IE nutzt, macht sich auch keiner die Mühe dessen Sicherheitseinstellungen mal ordentlich anzupassen. Jupp: Genau das war bei uns auch der Grund. Wir brauchten für die HTML-Hilfe einen Browser, aber in vielen Firmen ist der Standardwebbrowser eingeschränkt oder gar gesperrt. Der eingebettete Browser im Programm ist extra so gestaltet, daß man eben nicht wahllos rumsurfen kann, sondern nur die Hilfe sieht, weswegen die Admins dessen Zugang problemloser gestatten können. |
AW: Darstellungsfehler im Twebbrowser
Hallo himitsu,
jetzt steh ich auf dem Schlauch? Also welchen Browser nutzt ihr aktuell, den ihr sehr gut einschränken konntet? Hast du ein Codebeispiel? |
AW: Darstellungsfehler im Twebbrowser
Er meint den erwweiterten Sicherheitsmodus des IE, der bei den neuen Serverversionen immer standardmässig aktiv ist und den Browswer zuverlässig unbrauchbar macht :mrgreen:
|
AW: Darstellungsfehler im Twebbrowser
Aktuell meistens den Standardbowser des Systems und ansonsten den TWebBrowser (XE). Wir hatten uns dann auch die paar MB gespart, obwohl das bei den restlichen 200 MB des Programms eh nicht sooooo sehr auffällt.
Aber so sparten wir und nach den Tests wenigstens die Anpassung des Setups. Und für den Notfall ist der Chromium-Code noch auskommentiert im Programm vorhanden. Die Fehler in der Anzeige waren durch kleinere Anpassungen im HTML/CSS/JS teilweise auszugleichen und der Rest war uns erstmal egal. Der Browser ist ausschließlich für die ![]() Die wichtigsten Probleme mit dem Internet-Explorer auf Kundensystemen lagen darin begründet, daß der IE oftmals Webseiten von Festplatte und teilweise aus dem Intranet als "unsicher" einstuft und dann teilweise oder ganz wahllos JavaScript und sogar CSS sperrt. Dafür bietet H&M einen Mini-Webserver an, den ich aber aus Sicherheitsgründen nur ablehnen kann, da er von Sicherheit nichts weiß und praktisch alle Dateien in seinen Sichtbarkeitsrichtlinien (Rechte des Benutzers, in welchem das Programm läuft) ungeschützt freigibt. Hab stattdessen einen TidHTTPServer in unsere Serveranwendung integriert, der dann nur die Dateien der Hilfe ausliefert. "Nur" diese Dateien werden dann von der Festplatte geladen, aber man kann sie auch in die Resourcen oder in eine Datenbank legen. |
AW: Darstellungsfehler im Twebbrowser
Also ich bin nun eigentlich schon zufrieden, da mein TWebbrowser mit der oben dargestellten Methode jetzt wieder sauber darstellt. Und "nerver change a running system!
Da meine Kunden selber auswählen, welche Internetseiten sie anzeigen möchten, kann ich auch nicht am HTML-Code rumspielen. Ich kann ihnen nur mit meiner Software einfache Tools liefern, wie sie die Seiten "dicht" machen können. Und das funktioniert bei mit mit TWebbrowser. |
AW: Darstellungsfehler im Twebbrowser
Hallo,
ich habe mal wieder ein Problem mit dem TWebbrowser: Bei z.B. der Internetseite ![]() Hat jemand eine Idee, woran das liegen könnte? Es muss doch eine Möglichkeit geben, derartige Seiten mit dem TWebbrowser zum Funktionieren zu bekommen?!?! Ich vermute es hängt irgenwie mit JAVA-Script zusammen. |
AW: Darstellungsfehler im Twebbrowser
Mit neueren Versionen geht es auch nicht.
|
AW: Darstellungsfehler im Twebbrowser
Wenn es nicht an der Delphi Version liegt, woran dann? Hat keiner eine Idee? Irgendwie muss das doch zu schaffen sein!
|
AW: Darstellungsfehler im Twebbrowser
Schau mal bitte, ob Dir das eventuell hilft:
![]() |
AW: Darstellungsfehler im Twebbrowser
Liste der Anhänge anzeigen (Anzahl: 1)
Mein Browser in DELPHI XE7, WIN8.1 meldet sich mit 9.11.9600.xxxxx
|
AW: Darstellungsfehler im Twebbrowser
Hallo ,
erstmal danke für die Antworten. Nahpets: Mein Gedanke war zuerst auch dass es an "\FEATURE_BROWSER_EMULATION" liegen könnte. Hat aber leider in diesem Fall nichts gebracht. Hathor: Bitte klick doch noch auf Anmelden, und schau, ob du dich anmelden könntest, oder ob nur ein leeres Fenster kommt. Die Startseite geht bei mir auch. |
AW: Darstellungsfehler im Twebbrowser
Liste der Anhänge anzeigen (Anzahl: 4)
Das Fenster ist leer bei XE7.
Im IE11 geht es natürlich. JAVASCRIPT funktioniert aber bei XE7 - siehe XE7-LTE. Jetzt bin ich ein Stück weiter: Scriptfehler. Ein Teil des Login-Fensters ist zu sehen. |
AW: Darstellungsfehler im Twebbrowser
Liste der Anhänge anzeigen (Anzahl: 1)
Bis das vollständige LOGIN-Fenster zu sehen ist, gibt es zahlreiche Scriptfehler-Meldungen.
So ist es nicht brauchbar. |
AW: Darstellungsfehler im Twebbrowser
Hallo,
wie hast du das geschafft, dass das Loginfenster kommt? Am Anfang ginge es bei Dir doch auch nicht? |
AW: Darstellungsfehler im Twebbrowser
Warten...
JAVASCRIPT ist seeehr langsam. Wie man sehen kann, fehlt am Ende noch die runde Grafik. Das kann aber daran liegen, dass ich die HTML-Seite von der Festplatte holte. |
AW: Darstellungsfehler im Twebbrowser
Liste der Anhänge anzeigen (Anzahl: 1)
Warten scheint bei mir nichts zu bringen, Ich habe jetzt 10 Min gewartet.
Also liegt es vielleicht doch an der Delphiversion? |
AW: Darstellungsfehler im Twebbrowser
Nein daran kann es eigentlich nicht liegen.
|
AW: Darstellungsfehler im Twebbrowser
Wenn nicht an der Delphi Version, woran kann es dann liegen?
Hathor: Kannst Du mir mal deine EXE schicken, mit der Du das getestet hast? Dann kann ich probieren, ob die bei mir auch funktioniert (löst das Problem noch nicht, aber vielleicht ein Schritt weiter) |
AW: Darstellungsfehler im Twebbrowser
Ich markiere einmal den wichtigsten Teil:
Zitat:
|
AW: Darstellungsfehler im Twebbrowser
Zitat:
Übrigens: Die Webseite hat ein TIMEOUT von 500ms ! Im Sourcecode gefunden: setTimeout('checkLoggedIn()',500); |
AW: Darstellungsfehler im Twebbrowser
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Darstellungsfehler im Twebbrowser
Verhält sich der TWebbrowser aufgrund der Super-Logik von MS bei verwendung als ActiveX nicht im "Quatsch-Modus" (Querks?) bis man in der Registry für seine Anwendung definiert das er sich als IE 10/11 verhalten soll:gruebel:
|
AW: Darstellungsfehler im Twebbrowser
Ich glaube, den Fehler gefunden zu haben:
Die Zeile im HTML xmlHttpReq.open('POST', "https://learningapps.org/login", true); wird wahrscheinlich vom DELPHI-WebBrowser nicht verarbeitet. |
AW: Darstellungsfehler im Twebbrowser
Zitat:
ist TRUE. |
AW: Darstellungsfehler im Twebbrowser
Das hier scheint zu helfen:
Delphi-Quellcode:
procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
const pDisp: IDispatch; const URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if URL = 'javascript:void(0)' then begin Cancel := True; end; end; |
AW: Darstellungsfehler im Twebbrowser
Zitat:
![]() |
AW: Darstellungsfehler im Twebbrowser
Hey Leute!
Sorry, dass ich erst jetzt Antworte - ich war leider verhindert. Also eines muss ich schon mal sagen: Ihr seid echt der Hit!!:-D Der Tipp von Oli73 funktioniert bei mir. Wichtig dabei natürlich, dass die Anwendung in der Reistry bei "\FEATURE_BROWSER_EMULATION" registriert ist. Kann mir jemand sagen, was der Befehl 'javascript:void(0)' eigentlich machen soll? Also vielen Dank für Eure Hilfe! |
AW: Darstellungsfehler im Twebbrowser
Prüft meines Wissens nur, ob Javascript funktioniert.
Funktionierts nicht, gibts 'nen Fehler. Der TWebBrowser hat doch das Attribut Silent. Normalerweise hab' ich das auf False stehen. Ist's auf True, werden einem die Javascriptfehler um die Ohren gehauen. Schau doch einfach mal, welche Fehlermeldungen Du da bei Deinem konkreten Problem so alles bekommst. Eventuell erhälts Du ja dadurch einen Hinweis auf ein konkretes Problem. Bei Bedarf hier dann weiterfragen ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 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