AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke TWebBrowser: wie JavaScript debuggen?
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser: wie JavaScript debuggen?

Ein Thema von Caps · begonnen am 29. Apr 2013 · letzter Beitrag vom 29. Apr 2013
Antwort Antwort
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
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.366 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TWebBrowser: wie JavaScript debuggen?

  Alt 29. Apr 2013, 12:36
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?)
Bei Chromium hatte ich mit dem Austausch wenig Probleme, nur für die Skriptintegration (external-Objekt für den Aufruf von Delphicode aus JavaSkript heraus) musste ich natürlich ein wenig umschreiben:
https://code.google.com/p/delphichromiumembedded/

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...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Caps

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

AW: TWebBrowser: wie JavaScript debuggen?

  Alt 29. Apr 2013, 12:47
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
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 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