![]() |
Internet Explorer meldet Fehler in Script
Liste der Anhänge anzeigen (Anzahl: 1)
Ich verwende den TWebbrowser, um automatisiert von einer Seite Daten abzurufen.
Im Prinzip funktioniert das, aber jedes mal, wenn die Seite geladen wird, kommt als erstes eine Fehlermeldung: Skriptfehler, die ich manuell mit dem Klick auf einen der Buttons (egal, ob ja oder nein) quittieren muss, bevor er weitermacht. Nachdem ich auf diese Art regelmäßig etliche Unterseiten abarbeiten möchte, ist das natürlich sehr lästig. Hat jemand eine Idee, wie ich das wegbringen könnte? Dir Tipps von der Microsoft Seite ![]() Wenn ich den IE vom Betriebssystem aus aufrufe, bringt die Seite ebenfalls (etwas andere) Fehlermeldungen, die ist offenbar schleißig programmiert (oder der IE, wie auch immer) - aber dagegen kann ich nichts machen. Im Firefox gibt es beim Seitenaufruf keine Probleme, bloß hilft mir das nichts. |
AW: Internet Explorer meldet Fehler in Script
Im Objektinspektor beim TWebBrowser Silent auf True setzen.
|
AW: Internet Explorer meldet Fehler in Script
Tipp: Dir ist auch klar dass der TWebBrowser standardmäßig einen uralten Internet Explorer 7 emuliert, oder? Der hat natürlich dann auch mit Dingen wie Skripten und HTML5-Elementen Probleme die ein aktueller IE nicht mehr hat.
Das kann man nur über die Registry steuern, aber wenn man das direkt bei Anwendungsstart macht kann man es sich aussuchen in welchem IE-Modus der TWebBrowser läuft...
Delphi-Quellcode:
unit Common.Classes.Browser.EmulationAdjuster;
interface uses System.IoUtils, Winapi.Windows; type /// <summary> <para>Setzt die Browser-Emulation für diese Anwendung (im HKCU-Hive) /// auf den angegebenen Wert. Standardmäßig, ohne Eingriff ist es in Windows immer /// <see cref="IE7_embedded" /></para> /// </summary> /// <remarks> /// Das Setzen des Emulations-Werts sollte so früh wie möglich /// passieren denn spätestens nach dem ersten Navigieren des WebBrowsers ist es zur /// ganzen Laufzeit der Anwendung fest und lässt sich nachträglich nicht mehr ändern /// </remarks> TBrowserEmulationAdjuster = class private class function GetExeName(): String; inline; public const // Quelle: https://msdn.microsoft.com/library/ee330730.aspx, Stand: 2017-04-26 IE11_default = 11000; IE11_Quirks = 11001; IE10_force = 10001; IE10_default = 10000; IE9_Quirks = 9999; IE9_default = 9000; /// <summary> /// Webpages containing standards-based !DOCTYPE directives are displayed in IE7 /// Standards mode. Default value for applications hosting the WebBrowser Control. /// </summary> IE7_embedded = 7000; public class procedure SetBrowserEmulationDWORD(const value: DWORD); end platform; implementation uses System.Win.Registry, System.SysUtils; { TBrowserEmulationAdjuster } class function TBrowserEmulationAdjuster.GetExeName(): String; begin Result := TPath.GetFileName( ParamStr(0) ); end; class procedure TBrowserEmulationAdjuster.SetBrowserEmulationDWORD(const value: DWORD); const registryPath = 'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION'; var registry: TRegistry; exeName: String; begin exeName := GetExeName(); registry := TRegistry.Create(KEY_SET_VALUE); try registry.RootKey := HKEY_CURRENT_USER; Win32Check( registry.OpenKey(registryPath, True) ); registry.WriteInteger(exeName, value) finally registry.Destroy(); end; end; end. |
AW: Internet Explorer meldet Fehler in Script
Bist du sicher, dass du das nicht auch schlicht per Download der Seite mit TIdHttp oder ähnlichem machen kannst? Berechnen die Skripte auf der Seite etwas oder ähnliches, dass du die brauchst?
Denn nur dafür braucht man normalerweise TWebBrowser. Und ansonsten würde ich das Chromium Control benutzen. Da werden die Skripte vermutlich ohne Fehler laufen. |
AW: Internet Explorer meldet Fehler in Script
Zitat:
Zitat:
Ich weiß nicht, was diese Skripte auf der Seite machen, ich brauche sie jedenfalls nicht. Was ich haben will, bekomme ich trotz der Skriptfehler richtig angezeigt. Zitat:
Und uralt? Ich bin sicher, Du bist älter :lol: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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