2013-05-29 3 views
5

標準のWinForms WebBrowserコントロールを使用していたのですが、ホストされているWebブラウザコントロールの現在読み込まれているページ内でスクリプトエラーが発生すると、OLECMDID_SHOWSCRIPTERROR notificationsを得ることができました。Chromium EmbeddedがホストされているときにJavaScriptエラーが発生した場合に通知を受け取ることはできますか?

今度はChromium EmbeddedCefSharp .NET wrapperまで)を使用して、類似のものを探します。

私はinjecting some JavaScript codeと考えることができますが、実際にはHTMLを変更する必要のないソリューションが大好きです。

私の質問:

が、クロムが埋め込まれたことを何とか可能ですJavaScriptエラーは、現在ロードされたページで発生したときに自分のアプリケーションに通知?

(私もasking this in the CefSharp groupアリだよ、これは独立したので、あまりにも、スタックオーバーフローの上にそれをここに尋ねるかもしれないと思う)

アップデート1:

は私ががあるように思われることがわかりOnUncaughtException function現在、CefSharpによって実装されていないようです。ただし、これがJavaScriptエラーかCEFエラーかどうかは不明です。

答えて

5

何かエラーが発生したときに明示的に特定することはできませんが、ConsoleMessageイベントにバインドできます。私はほとんどのJavaScriptの誤差を含むクロム、からすべてのコンソールメッセージを追跡するためにLog4Netと一緒にこれを使用する:

var webView = new WebView(startUrl, browserSettings); 
webView.ConsoleMessage += (sender, args) => 
             { 
           log.Debug(string.Format("Webview {0}({1}): {2}", 
                    args.Source, 
                    args.Line, 
                    args.Message)) 
             }; 
+2

ConsoleMessageイベントは、エラーを発生しません、少なくともではないそれらのすべて。最初にコンソールにメッセージをパイプするには、window.onerrorをフックしてみてください。 – Ziv

+0

私のAngularアプリケーションでは、 'ConsoleMessage'が受け取る方法で失敗した呼び出しを記録する' $ httpProvider.interceptors'を追加しています – Daryn

+0

その時に起こったConsoleMessageイベントは何ですか? –

関連する問題