Ich habe einen C# -Webbrowser und eine der Seiten, die es anzeigt, hat ein Formular. Wenn das Formular übermittelt wird, werden Daten in einem neuen Fenster in IE veröffentlicht. Ich möchte diese Daten erfassen und an einen anderen C# -Webbrowser weiterleiten, den ich in meiner Anwendung habe. Ich möchte nicht, dass ein IE-Browser geöffnet wird, wenn die Javascript-Funktion window.open aufgerufen wird, ich möchte, dass sie im 2. Browser-Fenster geöffnet wird.Redirect WinForms Webbrowser Steuern Pop-ups zu einem anderen WinForms-Webbrowser-Steuerelement mit Formulardaten
Antwort
Sie können es nicht direkt mit WebBrowser tun, da es die URL nicht in die Ereignisvariablen des NewWindow-Ereignisses gibt, aber es gibt eine Lösung here, indem Sie das WebBrowser-Steuerelement übernehmen und ein neues Ereignis hinzufügen, das Ihnen die URL gibt. Dann müssen Sie nur die Navigation (mit der Cancel-Eigenschaft des Ereignisses) abbrechen und auf die neue URL in Ihrem anderen Browser zeigen.
bearbeiten
Ok, dann haben Sie, indem zunächst viel manuelle Arbeit tun, um ein neues Fenster disallowing und dann das Ereignis des Formulars wie folgt einreichen bekommen:
private void webBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.Forms[0].AttachEventHandler("onsubmit",
new EventHandler(submit));
}
private void submit(object o, EventArgs e) {...}
Und tun die ganze Handhabung in der Methode submit, aber Sie müssen in die Dokumentelemente schauen, um alle Postenwerte zu extrahieren und sie manuell in Ihre andere webbrowser Steuerung zu setzen.
Möglicherweise müssen Sie auch den HTML-Code des Attributs onSubmit des Formulars ändern, um kein neues Fenster zu öffnen, da es nicht einfach ist, das Öffnen zu stoppen.
Werden die Formulardaten, die über POST gesendet werden, beibehalten und an den anderen Browser gesendet? –
Beachten Sie die Änderung, die ich an dem Thema vorgenommen habe. Es gibt keinen "C# -Webbrowser".
Sie verwenden das Windows Forms-Webbrowsersteuerelement in einem C# -Programm. Sie möchten benachrichtigt werden, wenn ein neues Fenster erstellt wird, damit Sie ein anderes Windows Forms-Formular erstellen können, um ein anderes Webbrowser-Steuerelement anzuzeigen, das den neuen Inhalt enthält.
ich dieser Beitrag hilfreich, wenn sie mit einem ähnlichen Problem zu tun: CodeProject - MultiTab Browser
- 1. htaccess Redirect One File zu einem anderen
- 2. Problem mit WinForms WebBrowser in asp.net
- 3. Was ist der beste Weg, Winforms-Apps fern zu steuern?
- 4. Zeigen/Redirect Unterverzeichnis zu einem anderen Ordner mit htaccess
- 5. IE8, Flash und das WinForms WebBrowser Steuerelement
- 6. Abrufen der Seitenhöhe von einem WinForms-WebBrowser-Steuerelement
- 7. Wie Sie JavaScript in einem WebBrowser-Steuerelement in Winforms aufrufen?
- 8. Youtube Vollbild funktioniert nicht in WinForms WebBrowser
- 9. Steuern Sie den WinForms Tooltipp-Speicherort
- 10. Embed FontDialog in einem anderen WinForms-Dialog
- 11. C# redirect (pipe) Prozessausgabe zu einem anderen Prozess
- 12. Javascript in WinForms WebBrowser-Steuerelement deaktivieren?
- 13. Steuern einer Anwendung mit einer anderen Anwendung
- 14. iPad mit anderen iOS-Geräten steuern
- 15. Redirect 404 zu einer anderen Domäne mit Apache?
- 16. Redirect zu anderen Controller auf Senden Schaltfläche
- 17. Amazon S3 Redirect 404 zu anderen Host
- 18. Redirect ConfigurationManager zu einer anderen Datei
- 19. WPF-Händigkeit mit Popups
- 20. Apache2 Redirect zu einer anderen Domäne mit ssl
- 21. Domain Redirect zu einer anderen Domäne mit DNS
- 22. Swf von einem anderen swf in verschiedenen Client-Computern steuern
- 23. Wie deaktiviere ich Dialoge und Popups, die von einem ActiveX-Steuerelement erstellt wurden?
- 24. NET Winforms WebBrowser Steuerelement hinzufügen über: an alle Links
- 25. Binden eines Popups an die relative Bildschirmposition eines anderen Steuerelements
- 26. Aufruf eines modalen Popups mit TargetControl in einem anderen UpdatePanel in ASP.NET
- 27. Ich versuche, ColdFusion zu verwenden, um Formulardaten für einen Post/Redirect/get zu übergeben
- 28. WebBrowser-Ereigniseigenschaften?
- 29. Welche funktionalen Unterschiede bestehen zwischen WPF und WinForms WebBrowser-Steuerelement?
- 30. Formulare Webbrowser-Steuerelement wird nicht fortfahren oder redirect auf eigene
Kennt jemand eine Möglichkeit, ein Formular-Element auf dem Web-Seite hinzufügen, bevor es einreicht? –