AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TWebBrowser - OnNewWindow2
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser - OnNewWindow2

Ein Thema von dizzy · begonnen am 7. Jan 2007 · letzter Beitrag vom 9. Jan 2007
 
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#1

TWebBrowser - OnNewWindow2

  Alt 7. Jan 2007, 22:16
Hiho zusammen.

Ich brauche in einem Programm tabbed Browsing, und würd das gerne mit dem TWebbrowser realisieren. Das dynamische Erstellen der Browserinstanzen und das Anzeigen auf ebenfalls dynamisch erzeugten Tabsheets klappt soweit wunderbar, jedoch möchte ich gerne das OnNewWindow2-Ereignis verwenden, um darauf hin das neue Fenster auf eine neue Instanz von Tabsheet+Browser umzuleiten.
Prinzipiell sollte es ja eigentlich mit diesem Code der Schweizer klappen (anstelle des Formulars erzeuge ich dort einfach neue Tabsheest und Browserinstanzen, und weise diese an ppDisp zu).

Es wird auch ein neues Sheet erzeugt, dass eine Browser-Kompo enthält, jedoch wird in dem Bereich des neuen Browserclients kein Neuzeichnen ausgelöst, so als würde diese Instanz der Browser-Kompo ständig busy sein.

Erzeuge ich im Code eine neue Kombi aus Sheet und Browser, und nutze Navigate(URL: String), funktioniert das einwandfrei. Daher wäre es durchaus auch eine denkbare Lösung, wenn mir jemand sagen könnte, wie ich zum Zeitpunkt des OnNewWindow2-Events an die Ziel-URL komme (müsste dann ja irgendwie über das ppDisp geschehen denk ich). Dann könnte ich einfach die Aktion canceln, und die o.g. Variante nutzen. Jedoch habe ich dazu in der DP und auch bei den Schweizern keine wirkliche Hilfe gefunden.

Das OnBeforeNavigate2-Event kommt leider nicht in die engere Wahl für diese Funktion, da ich nur via GetAsyncKeyState hinbekommen könnte, dass nur z.B. Ctrl+Klick ein neues Tab öffnen. Dieses Tab soll jedoch nun genau so verfahren, und bekommt den selben Ereignishandler. Hält der User nun die Tasten etwas länger gedrückt, so wird jede Ressource der neuen Seite ebenfalls in einem neuen Tab geöffnet, da jeder Bilddownload und was auch immer ein OnBeforeNavigate2 auslöst. Nun wäre es denkbar, dieses Ereignis erst zuzuweisen, wenn OnDownloadComplete eingetreten ist, aber zu viele Webseiten brauchen zu lange um komplett fertig geladen zu sein, so dass man erst unangenehm lange darauf warten müsste, aus einem neuen Tab heraus wieder ein neues zu öffnen. Dilemma deluxe

Watt nu? ^^
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
 


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 10:28 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