在Chromium Embedded Framework中调试JavaScript

问题描述 投票:16回答:4

我有一个WPF应用程序,它使用CEF来显示Web内容。我的问题是,有没有办法调试WPF应用程序中的Javascript / Web部件?

wpf debugging chromium-embedded
4个回答
25
投票

在您的应用程序中启用远程调试

C#(CefSharp)

CefSettings.RemoteDebuggingPort = 8088;

C ++

CefSettings settings;
settings.remote_debugging_port = 8088;

然后运行你的应用程序并将你的浏览器指向http://localhost:8088/以访问Chromium开发者控制台(与你在Chrome中使用Ctrl + Shift + j相同)


31
投票

您也可以使用ShowDevTools()扩展方法(source

ChromiumWebBrowser browser = new ChromiumWebBrowser();
browser.ShowDevTools(); // Opens Chrome Developer tools window

CEFSharp Developer Tools window


24
投票

虽然接受的答案是正确的,但它并没有足够的细节。

我在WPF应用程序中使用WinForms控件在CefSharp中使用它。 (WinForms控件似乎有更好的性能)。但是,对于WPF控件,远程调试的代码可能非常相似。

var settings = new CefSettings { RemoteDebuggingPort = 8088 };
Cef.Initialize(settings);
WindowsFormsHost.Child = new ChromiumWebBrowser(url); 

然后在浏览器中访问http://localhost:8088/


0
投票

要使用'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();
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.