![]() |
TWebBrowser: wie JavaScript debuggen?
Hallöle,
ich habe im Forum bereits ein paar Mal den Vorschlag gelesen, das JavaScript im gekapselten(?) IE mittels der Entwicklertools zu debuggen. Leider finde ich keinen Weg rein. Hintergrund: Ich habe den IE10 auf Windows 7 und ein Delphi-Programm, was die TWebBrowser-Komponente benutzt. Wenn ich eine (sorry, leider fremdfirmeninterne) Seite mit dem IE10 selbst öffne (d.h. mit dem Browser von Microsoft), dann klappt alles prima, wenn ich aber die Komponente benutze, so erscheint der Skriptfehler "Mitglied nicht gefunden". Ich würde diesen Fehler nun gern debuggen und habe dafür in den Einstellungen des IE10 "Skriptdebugging deaktivieren (IE)" ausgehakt und "Skriptfehler anzeigen" eingehakt, den Rechner vorsichtshalber neugestartet und dann mein Programm mit der TWebBrowser-Komponente gestartet. Nach Navigation auf die oben genannte Seite erschien der Skriptfehler, aber leider ohne jegliche Möglichkeit des Debuggings. Ist Debugging mit der Komponente überhaupt möglich? Leider tritt der Fehler im Microsoft-IE nicht auf, sonst würde ich F12 drücken. Mein lächerliches Testprogramm (daran wird's wohl nicht liegen):
Delphi-Quellcode:
Leider habe ich noch keine andere (öffentlich zugängliche) Seite gefunden, auf der dieses Problem (insb. der Unterschied zwischen den beiden IEs) auftritt.
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, Buttons, StdCtrls; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Edit1: TEdit; SpeedButton1: TSpeedButton; procedure FormResize(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormResize(Sender: TObject); begin WebBrowser1.Width := Width-16; WebBrowser1.Height := Height-66; end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin WebBrowser1.Navigate(WideString(Edit1.Text)); end; procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then SpeedButton1.Click; end; end. Hmpf. Nur Probleme mit dem Ding. PS der Vorschlag auf EmbeddedWB oder eine FF-Kapsel zu wechseln ist erstmal aus Zeitgründen keine Alternative. (oder ist einfach nur ein Komponentenaustausch möglich? Zugriff über OLE?) Mit :| Caps |
AW: TWebBrowser: wie JavaScript debuggen?
Zitat:
![]() Solange du nicht viel mehr machst als die Seite anzeigen, reicht der Austausch der Komponente schon aus, abgesehen von den dann notwendigen DLLs. Chromium hat den Vorteil, dass du nur die DLLs brauchst und von keinen Systemkomponenten usw. abhängig bist. Debuggen ist da in der Tat schwierig, ich habe in dem Fall via alert debuggt... |
AW: TWebBrowser: wie JavaScript debuggen?
Ok, danke für die Er- und Entmutigung ;-).
Leider kommt nach dem Laden der Seite eine Reihe an Manipulationen und Skriptaufrufen, so dass ich das mit dem Komponentenaustausch erst untersuchen muss, ob sich das lohnt. Aber der Fehler passiert ja bereits nach dem Laden der Seite. Oje. Ich suche mal weiter nach öffentlich zugänglichen Seiten, vielleicht finde ich ja eine... lg Caps |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 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