Einzelnen Beitrag anzeigen

Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#1

TWebBrowser: wie JavaScript debuggen?

  Alt 29. Apr 2013, 12:02
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:
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.
Leider habe ich noch keine andere (öffentlich zugängliche) Seite gefunden, auf der dieses Problem (insb. der Unterschied zwischen den beiden IEs) auftritt.

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
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat