问题标签 [cefsharp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
182 浏览

chromium - CEFSharp3 ChromiumWebBrowser 无法渲染 KML

我正在尝试使用 Chromium 浏览器呈现具有 KML 的页面,但它失败并出现以下错误:

“操作失败,因为它会导致应用程序超出其存储配额。”

使用 Google chrome 正确呈现同一页面。

任何帮助将不胜感激

0 投票
1 回答
2382 浏览

c# - 我可以让 CefSharp WPF ChromiumWebBrowser 接受 IME 输入吗?

我花了两个月的时间使用CefSharp嵌入式 Chromium Web 浏览器创建了一个完美的 WPF 浏览器应用程序。现在发现该浏览器必须使用 IME 输入法,但它不能。本质上,WPF 浏览器是在屏幕外呈现的,屏幕图像和输入事件来回编组。

调用 IME 时,文本输入出现在应用程序外部的弹出工具窗口中,通常在桌面的左上角。一旦输入被接受,输入就不会被封送回浏览器。

是否可以让 IME 正常显示在输入字段旁边?

我会很感激一些关于从哪里开始阅读或编码的指示。如果这需要一个月的时间来实施,我相信它会发生。

更新 - 看起来 WPF 浏览器控件正在预览 OemAuto 和 ImeProcessed 键(但未传递到屏幕外浏览器)。将这些键传递给屏幕外浏览器可防止 IME 窗口出现。我不确定这是否是进步。:)

更新 - 我想我将推出自己的窗口消息循环来将 IME 和输入事件转发到浏览器。也许我可以让浏览器自己处理 IME 事件?

更新 - Windows(仅限 Mac)CEF3 上似乎没有实现屏幕外 IME 支持 :Windows:启用屏幕外渲染时启用 IME。我正在继续探索我的选择。

0 投票
1 回答
4527 浏览

c# - 无法使用 CefSharp 嵌入式 Chromium 浏览器控件加载网页?

我有一个粗略的开始。首先,我尝试使用 NuGet 包。当我安装它们时,对CefSharp DLL的必要引用都没有出现在我的引用列表中。所以我通过搜索/packages子目录手动添加了它们。在构建我的项目后,我发现当我执行 URL 加载时什么也没发生。没有加载网页,没有错误消息,没有触发异常。没有什么。

我完全删除了CefSharp Nuget 包,并从 GitHub 下载了最新的 repo 源。我首先确保 CefSharp.WinForms.Example 项目中的 URL 加载工作正常。效果很好。然后,我将 CefSharp 解决方案中的必要项目集复制到我的项目解决方案中,直到我的解决方案正确构建。我从CefSharp.WinForms.Example项目中添加了 BrowserForm 表单,以确保它不是我的代码。但是,当我在运行时打开该表单时,在地址栏中输入一个 URL,然后单击Go按钮没有任何反应。就像从前一样。

我追踪了代码并在ManagedCefBrowserAdapter.h中找到了这个 C++ 方法的故障点:

事实证明,有一个非常奇怪的问题。当我将代码跟踪到“if”语句时,我看到cefFrame的值是:

但是,它显然不是 NULL,但它却被认为是。(或者我对 {CefRefPtr} 值的分析是错误的,我的分析也是如此。)

在任何一种情况下,“if”语句都将cefFrame的当前值视为等于nullptr并跳过调用cefFrame引用对象的LoadURL()方法的行。在我的 GitHub CefSharp repo 解决方案副本中,我跟踪了完全相同的代码,确实进入了“if”块并执行了LoadURL()方法。我检查了 cefFrame 的值,它与我的应用程序中的值相同。由于某些真正奇怪的原因,这里或我的应用程序中存在更隐蔽的问题,或者它确实将cefFrame{CefRefPtr}值视为相同nullptr不应该的时候。

如果有人对我如何在我的代码中工作有任何想法,我将不胜感激。

更新:我三重检查并且构建配置在 GitHub CefSharp 解决方案和我的项目之间是相同的。一切都设置为 x86,除了设置为 Win32 的核心项目(在这两种情况下)。

我刚刚进行了重建,除此之外,我浏览了每个包含的项目,并完全手动删除了 /bin 和 /obj 目录。现在,当我运行该项目时,正在发生一些不同的事情。每当我的代码尝试创建一个新的 BrowserTabUserControl 时,我都会得到一个未处理的异常:

我尝试在主项目中删除 CefSharp.Core 项目引用,并通过重新添加对 CefSharp.Core 项目的引用来重新添加它。但我仍然得到那个例外。

0 投票
1 回答
4974 浏览

c# - CefSharp Touch 事件处理程序

我正在使用Cefsharp 版本 37 (c#)。

如何使CefSharp 浏览器响应鼠标点击作为触摸点击

当CefBrowser中的文本控件获得焦点时,我想提升 win 8.1 的触摸键盘。

我没有on-focus在 CefBrowser 浏览器中发现任何引发控制的事件。

谢谢。

0 投票
2 回答
7560 浏览

javascript - 如何在 cefsharp 中捕获/监听 javascript 函数或事件

我正在尝试将 cefSharp 用于 WPF 应用程序。我可以找到“如何从 .Net 调用 Javascript 方法。但是有没有一种方法可以让我获得 .Net 中的 Javascript 函数或事件的通知?

例如,如果有一个 Javascript 函数(带和不带参数),我可以在 .Net 中获得带或不带值的通知。

0 投票
4 回答
4928 浏览

c# - Windows XP / Server 2003 / VS 2010 上的 CefSharp

我正在尝试将 CefSharp 集成到我在 Windows XP 上的 Visual Studio 2010 中开发的 C# 项目中。其他运行 Windows Server 2003 的人也报告了类似的错误。

  1. 我通过 NuGet 添加 CefSharp.WinForms ,它似乎工作得很好。

  2. 我编译并运行该应用程序,但是当我尝试加载 CefSharp 时,我得到“无法加载由‘CefSharp.Core.dll’导入的过程。”

下面是我运行的代码:

CefSharp 常见问题解答中它告诉我,我应该执行一些我已经完成的任务才能在 Windows XP 上运行,即使 XP 不受官方支持,它在常见问题解答中说它可以工作。

出现的错误信息

项目文件

bin\x86\debug 中的文件

0 投票
1 回答
1968 浏览

wpf - 如何使用 CefSharp 发出 Http Post 请求

我有一个 WPF 应用程序,我在其中使用 CefSharp 浏览器控件来呈现网页。我需要能够执行 HttpPost 并打开 uri。我查看了 CefSharp 文档并没有找到任何实现此功能的具体示例,但我确信这可能是 CefSharp 组件的一部分。任何关于如何实现这一点的指示都会非常有帮助。

谢谢

0 投票
1 回答
2446 浏览

c# - CEFSharp 中的 Webview 以呈现 HTML 内容

我的目标是将 html 内容呈现为带有样式、缩进和所有其他内容的文本。我刚刚使用以下代码对CEFSharp v1.25.5做了一个解决方法,它就像魅力一样。

由于我正在开发一个 64 位应用程序,因此我无法在我的应用程序中实现相同的功能。所以,我找到了支持 64 位的最新版CefSharp v37.0.0。但可悲的是我在这里找不到“WebView”。我没有任何运气尝试了以下代码。

我需要在 64 位目标平台中的 webview 容器中显示 html webcontent,例如 Cefsharp v1.25.5 中的 webview。

0 投票
1 回答
694 浏览

html5-filesystem - CefSharp FileSystem API - 启动时删除文件

我有一个奇妙的边缘问题,我希望有人能解释一下。

简而言之,我们在 CefSharp 驱动的 Windows 应用程序中托管了一个由 Durandal 驱动的 SPA。此应用程序全屏运行,并且在所有意图和目的上都像本机应用程序一样运行。此应用程序旨在运行数天并帮助调试我一直在使用 FileSystem API 将 Web 事件记录到物理文件的问题。

这很好用,所有日志都会写入您在 Google Chrome 中测试时获得的“预期”随机文件名。"~CachePath\文件系统\000\t\00\000000000"

但是,当 CefSharp 的新实例被加载,或者当前的实例关闭并重新打开时,00\0000000 文件夹\文件将被删除。我显然不希望它这样做。

我不确定我们使用的是哪个版本的 CefSharp(因为我没有编写原始的 Windows 应用程序),但我知道我们还没有使用 CefSharp 3。

任何对此问题的见解将不胜感激。谢谢!

编辑 -

我通过进一步的测试发现,只有在 CefSharp 浏览器的新实例已经打开的情况下,上述文件夹才会被删除。而且似乎只有当浏览器托管一个正在访问某种缓存的站点时

0 投票
1 回答
256 浏览

java - 可以 CefAddWebPluginPath(); 为 CefSharp.WinForms.Example 实现?如何?

我试图在 MyBrowser 中交换 Java 版本,我发现 CefAddWebPluginPath() "..\packages\cef.sdk.3.1750.1738\CEF\include\cef_web_plugin.h" 但不知道可以调用以及如何调用。MyBrowser 的 Java 始终坚持注册中设置的最高版本。我使用的是 Win 7 x64,使用 VS2013 编译 CefSharp.WinForms.Example 谢谢