标签: cefsharp

使用LoadHTML时未加载CefSharp资源

我正在使用CefSharp来显示一个html文件CefSharp browser.

当我用web_view.Load(@"C:\htmlfile.htm");它时显示我的身体背景.

但当我加载htmlfile.htm和使用web_view.LoadHtml(File.ReadAllText(@"C:\in.htm"));身体背景不显示?

我想问一下如何在html本地文件中设置地址主体背景?

这是我的Html文件内容:

<html>
<body background="C:\Untitled.png">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html c# chromium-embedded cefsharp

2
推荐指数
1
解决办法
3968
查看次数

CefSharp WinForms Web浏览器无法显示

我有一个简单的例子试图让CEF浏览器附加到Winforms表单上.由于某种原因,它不会显示.

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        CefSharp.WinForms.ChromiumWebBrowser test = new CefSharp.WinForms.ChromiumWebBrowser("http://google.com");
        this.Controls.Add(test);
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是我正在使用的VS解决方案.我通过Nuget添加了包

c# winforms chromium-embedded cefsharp

2
推荐指数
1
解决办法
2万
查看次数

如何使CefSharp WinForms控制滚动页面到链接

所以这是在WinForms应用程序中使用CefSharp的场景.我们在页面中有两个信息页面URL和一个链接URL.我们想要加载页面 - 轻松完成,并让CefSharp显示链接所在页面的区域.也就是说,cefsharp会自动滚动到该链接在DOM中的页面上的正确位置.

最简单的方法是什么?

html c# dom winforms cefsharp

2
推荐指数
1
解决办法
2134
查看次数

使用 Protractor 对 WPF 中 CefSharp 浏览器下托管的 AngularJS 应用程序进行自动化测试

我们有一个 wpf 应用程序,它使用 cefsharp 浏览器来托管网站(AngularJS) - 换句话说 - 混合应用程序。

我们有兴趣运行自动化测试(特别是在角度部分)。通过一项小型研究,我们发现 TestComplete 支持本机代码中的 cef 浏览器挂钩,但我们希望看到所有可能性。

正如我们所看到的,“Protractor”框架非常适合测试基于 Angular 的应用程序。对我们来说,问题在于它只能测试 Web 部分,并且通过打开 Web 浏览器来测试它。无论如何,我们想在本机代码(wpf)内运行的浏览器实例上运行量角器测试。是否可以?您还有其他选择/想法吗?谢谢。

wpf ui-automation chromium-embedded cefsharp protractor

2
推荐指数
1
解决办法
2220
查看次数

CefSharp 屏幕渲染问题 Windows 10 触摸屏

我有一个运行 Windows 10 的 PiPo x9(触摸屏)。谷歌浏览器已加载,可以正确查看网页。通过 CefBrowser 加载的同一页面对鼠标事件的响应很奇怪。我正在使用 USB 鼠标和键盘。

为了演示页面何时加载,它最初显示正确。 在此处输入图片说明

当您将鼠标移到用户名文本框上时,屏幕将放大,但无法正确呈现并且 UI 元素将无响应。 在此处输入图片说明 另一个例子; 在此处输入图片说明

我看过这里的 CefSettings Settings,但有太多不知道该尝试什么。

chromium-embedded cefsharp

2
推荐指数
1
解决办法
2635
查看次数

CEFSharp - 阅读网络回复

我正在处理一个项目,我想使用 Chromium Web 浏览器并能够读取通常通过 DevTools“网络”选项卡获取的数据。所以基本上我真正需要的是 URL 和状态代码(404、200、50x 等)。

我让 ChromiumWebBrowser 部分的一切正常工作,因为它工作得很好,但我似乎无法弄清楚如何获取网络数据的细节。

我在 github 问题部分找到了这个,但我真的不明白如何实现它。https://github.com/cefsharp/CefSharp/issues/1379

任何帮助将不胜感激。

这是我到目前为止...

private ChromiumWebBrowser _wb;

    public MainForm()
    {
        var cefsettings = new CefSettings { CachePath = "cache" };
        cefsettings.CachePath = "cache";
        if (cefsettings.CefCommandLineArgs.ContainsKey("enable-system-flash"))
        {
            string flashValue;
            cefsettings.CefCommandLineArgs.TryGetValue("enable-system-flash", out flashValue);
            if (flashValue != "1")
            {
                Debug.WriteLine("Flash Might Be Disabled For Chromium Web Browser");
            }
        }
        else
        {
            cefsettings.CefCommandLineArgs.Add("enable-system-flash", "1");
        }
        //TODO: Get the latest version version folder
        cefsettings.CefCommandLineArgs.Add("ppapi-flash-path","C:\\program Files (x86)\\Google\\Chrome\\Application\\51.0.2704.103\\PepperFlash\\pepflashplayer.dll");
        Cef.Initialize(cefsettings);

        InitializeComponent();

        _wb = new ChromiumWebBrowser("http://youtube.com/") …
Run Code Online (Sandbox Code Playgroud)

c# chromium-embedded cefsharp

2
推荐指数
1
解决办法
4457
查看次数

如何确定cefsharp版本

我如何知道我使用的是哪个版本的 cefsharp、cefsharp 铬版本?我想有一个//b/c我可以用来知道的命令。还有其他方法吗?

另外:cefsharp版本和cefsharp铬版本有什么区别?

c# chromium-embedded cefsharp

2
推荐指数
2
解决办法
3752
查看次数

处置 ChromiumWebBrowser 时,CefSharp.BrowserSubprocess 不会关闭

我在 WPF 中使用 CefSharp 55。每次新建ChromiumWebBrowser一个,任务管理器中都会出现一个新的CefSharp.BrowserSubprocess.exe,这是正常的。但是,他们当我打电话不会消失Dispose()ChromiumWebBrowser。它们只有在我关闭应用程序时才会消失,可能是因为当时我打电话给Cef.Shutdown(). 我试图在处置后强制 GC,但我什么也没改变。

因此,如果用户在 Web 浏览器中不断打开和关闭选项卡,我们最终会运行很多 CefSharp.BrowserSubprocess,它们永远不会在应用程序关闭时关闭。

在扩展类的构造函数中ChromiumWebBrowser,我做

var requestContextSettings = new RequestContextSettings
{
    PersistSessionCookies = false,
    IgnoreCertificateErrors = true
};

RequestContext = new RequestContext(requestContextSettings);
Run Code Online (Sandbox Code Playgroud)

当我处理浏览器时,请执行

browser.Dispose();
browser.RequestContext.Dispose()
Run Code Online (Sandbox Code Playgroud)

我忘记了什么吗?

编辑

显然,问题不仅限于 CefSharp.BrowserSubprocess。当我处理播放 youtube 视频的浏览器时,视频的声音仍在运行。之前是正常的,处理后视频声音被剪掉了。也许是我最近更新的新版 CefSharp 中的一个错误。

c# wpf cefsharp

2
推荐指数
1
解决办法
7863
查看次数

CefSharp:JavaScript fetch() 调用不会进行飞行前 OPTIONS 调用

使用 CefSharp 71 版。

在从 JavaScript 进行 fetch() 调用时,最好在进行 GET/POST 调用之前进行飞行前 OPTIONS 调用。

但它实际上并没有做到。但是如果我在 Chrome 浏览器中尝试它,它确实如此。

在 Chrome 浏览器上试过这个,它确实进行了飞行前 OPTIONS 调用。

这样做的结果是,由于没有进行 OPTIONS 调用,CORB 正在停止响应。错误是:跨源读取阻止 (CORB) 阻止了跨源响应https://some-api.com/blah与 MIME 类型 application/json。有关更多详细信息,请参阅https://www.chromestatus.com/feature/5629709824032768

javascript c# chromium-embedded cefsharp

2
推荐指数
1
解决办法
532
查看次数

VSTO 插件中的 CefSharp

我正在尝试在 VSTO Excel 插件中使用 CefSharp WindowForm 控件。CefSharp.WinForms 版本是 75.1.142,我正在 Excel 2013(64 位)到 VS 2017 上制作插件。

我收到 FileNotFoundException: '无法加载文件或程序集 'CefSharp, Version=75.1.142.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138' 或其依赖项之一。该系统找不到指定的文件。' 在下面的代码执行中。

    public void InitBrowser()
    {
        var cefSettings = new CefSettings();
        cefSettings.MultiThreadedMessageLoop = true;
        // I'm setting current directory to D:\\CEF\\cefsharp\\ExcelWinform\\ExcelWinformAddIn\\bin\\x64\\Debug\\ where all the CefSharp dlls and dependencies are present.
        cefSettings.BrowserSubprocessPath = "D:\\CEF\\cefsharp\\ExcelWinform\\ExcelWinformAddIn\\bin\\x64\\Debug\\CefSharp.BrowserSubprocess.exe";

        if (!Cef.Initialize(cefSettings, performDependencyCheck: true, browserProcessHandler: null))
        {
            throw new Exception("Unable to Initialize Cef");
        }

        browser = new ChromiumWebBrowser("http://www.google.com");
        {
            Dock = DockStyle.Fill;
        }
        BrowserSettings browserSettings …
Run Code Online (Sandbox Code Playgroud)

c# excel-addins cefsharp

2
推荐指数
1
解决办法
852
查看次数