Ich entwickle eine Windows-Anwendung mit einem WebBrowser-Steuerelement, das zu einer Sharepoint-Site navigiert.
Mein Problem ist, dass ich einen JavaScript-Fehler erhalte.
Wie kann ich den JavaScript-Fehler deaktivieren? Ich möchte nicht, dass sie auftauchen.
Antworten:
quelle
Dadurch werden die Skriptfehler und auch andere Fenster deaktiviert, z. B. das NTLM-Anmeldefenster oder das Fenster zum Akzeptieren von Clientzertifikaten. Das Folgende unterdrückt nur Javascript-Fehler.
quelle
Keine der oben genannten Lösungen war für mein Szenario geeignet. Die Behandlung von .Navigated- und .FileDownload-Ereignissen schien gut zu passen, aber der Zugriff auf die WebBrowser.Document-Eigenschaft löste eine UnauthorizedAccessException aus, die durch die Sicherheit von Cross-Frame-Skripten verursacht wird (unser Webinhalt enthält Frames - alles an Dieselbe Domain / Adresse, aber Frames haben ihre eigenen Sicherheitslücken, die blockiert werden.
Die Lösung bestand darin, IOleCommandTarget zu überschreiben und die Skriptfehlerbefehle auf dieser Ebene abzufangen. Hier ist die WebBrowser-Unterklasse, um dies zu erreichen:
~
quelle
embed
auf dieser Seite suchen) - dev.windows.com/en-us/microsoft-edge/platform/faq/apps-engine )axwebbrowser1.Silent = true;
quelle
Hier ist eine alternative Lösung:
quelle
Ich habe gerade Folgendes gefunden:
Anwendungsbeispiel, um webBrowser auf stumm zu setzen: TrySetSuppressScriptErrors (webBrowser, true)
quelle