CEFを使用してWebコンテンツを表示するWPFアプリケーションがあります。私の質問は、WPFアプリケーション内のJavascript/Webパーツをデバッグする方法はありますか?
アプリケーションでリモートデバッグを有効にします。
C#(CefSharp)
CefSettings.RemoteDebuggingPort = 8088;
C++
CefSettings settings;
settings.remote_debugging_port = 8088;
次に、アプリを実行し、ブラウザでhttp://localhost:8088/
Chromium開発者コンソールにアクセスする(Chrome with Ctrl + Shift + jと同じ)
ShowDevTools()
拡張メソッドを使用することもできます( source )
ChromiumWebBrowser browser = new ChromiumWebBrowser();
browser.ShowDevTools(); // Opens Chrome Developer tools window
受け入れられた答えは正しいですが、実際には十分な詳細がありません。
WPFアプリケーションのWinFormsコントロールを使用して、CefSharpでこれを機能させました。 (WinFormsコントロールのパフォーマンスが向上しているようです)。ただし、リモートデバッグ用のコードはおそらくWPFコントロールと非常によく似ています。
var settings = new CefSettings { RemoteDebuggingPort = 8088 };
Cef.Initialize(settings);
WindowsFormsHost.Child = new ChromiumWebBrowser(url);
次に、http://localhost:8088/
ブラウザで。
'ShowDevTools()'を使用するには、最初にブラウザーが初期化されているかどうかを確認する必要があります。ソリューション例:
//Add an event to check
ChromeBrowser.IsBrowserInitializedChanged += ChromeBrowser_IsBrowserInitializedChanged;
//Declare the event method to be called
private void ChromeBrowser_IsBrowserInitializedChanged(object sender, IsBrowserInitializedChangedEventArgs e)
{
if (e.IsBrowserInitialized)
{
ChromeBrowser.ShowDevTools();
}
}