问题标签 [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 投票
2 回答
498 浏览

c# - 为什么我得到一个虚假的 TypeLoadException“方法在类型从组装没有实施”?

我正在将现有的基于 VS2008 的 C++/CLI 项目(更具体地说,CefSharp)升级到 VS2012,同时面临一些挑战。为避免依赖 VS2008 进行编译,我已将项目升级为面向 .NET Framework 4.0。

一切都很好,项目编译正确,但是当我运行它并尝试创建一个 WebView 实例时,我得到以下 TypeLoadException:

来自程序集“CefSharp.Wpf,版本=1.25.0.35385,文化=中性,PublicKeyToken=null”的“CefSharp.Wpf.WebView”类型中的方法“SetCursor”没有实现。”:“CefSharp.Wpf.WebView”

显然,我已经非常仔细地检查了 WebView.h 和 WebView.cpp。它们的内容是(相关部分):

和实施:

CefCursorHandle 的定义如下:

...并且 cef_cursor_handle_t 定义如下:

即一个windef.h 结构。

接口(IRenderWebBrowser)顺便说一句。像这样定义方法。

在某一时刻,我认为问题与“const”与“non-const”问题有关,但从示例中可以看出,没有涉及 const 说明符。:-(

我在这里遗漏的明显问题是什么?我浏览了这篇文章,但它并没有真正帮助我。

我还考虑过多个/旧版本的程序集挂在某个地方的可能性,所以我尝试碰撞程序集版本,以确保加载了正确的版本 - 确实如此。我还查看了 ILSpy 的程序集,并且该方法确定存在。但是,它的方法签名是这样的:

它是否与不安全部分有关,或者它的参数 (HICON__*) 无法从 C#/CLR 上下文中访问?(我正在尝试从 C# 程序集中实例化类型。)我必须承认,C++/CLI 并不是我真正的专业领域,但是...... :-)

任何人?

(如果有人想更仔细地研究细节,请随时在https://github.com/perlun/CefSharp/克隆/调查该项目——这些东西位于 vs2012 分支上。)

0 投票
1 回答
2484 浏览

c# - CefSharp - 捕获资源响应数据

我正在尝试使用CefSharp访问 URL 并捕获在加载给定页面(图像、脚本等)期间检索到的所有资源。大概作为每个资源的流或字节数组。

CefSharp 提供了接口IRequestHandler。您可以创建一个实现此接口的类来响应请求/响应事件,特别是

问题是这不以任何方式提供响应正文,仅提供 url、标头、状态等。

有没有办法捕获浏览器从响应中接收到的数据,还是我必须使用自己的数据请求HttpWebRequest?提前致谢!

0 投票
1 回答
3132 浏览

.net - 当托管的 Chromium Embedded 出现 JavaScript 错误时,是否可以收到通知?

过去使用过标准的 WinForms控件,只要在托管 Web 浏览器控件的当前加载页面内发生脚本错误WebBrowser,我就能收到OLECMDID_SHOWSCRIPTERROR通知。

现在我转而使用Chromium Embedded(通过CefSharp .NET 包装器)并寻找类似的东西。

我可以考虑注入一些 JavaScript 代码,但我真的很想有一个根本不需要改变 HTML 的解决方案。

我的问题:

当当前加载的页面中发生 JavaScript 错误时,Chromium Embedded 是否有可能通知我的应用程序?

(我也在CefSharp 小组中问这个问题,认为这可能是独立的,所以也在 Stack Overflow 上问这个问题)

更新1:

我看到似乎有一个OnUncaughtException功能目前似乎没有被 CefSharp 实现。不过,不确定这是关于 JavaScript 错误还是 CEF 错误。

0 投票
2 回答
885 浏览

wpf - 如何使 WPF XBAP 在 Cefsharp (chrome) 中工作

我正在开发 WPF XBAP 应用程序。它适用于 IE。它不适用于 Firefox 和 chrome。我搜索并在 google/chrome/Application 路径中放置了一堆 dll。仍然没有用。

我将 npwpf.dll 放在 c:/programfiles(x86)/MozillaFirefox/plugins 文件夹中,但它在 Firefox 中仍然不起作用。在浏览器中打开 firefox 插件页面时,我无法在那里看到 WPF 插件。我尝试重新安装.net 3.5,仍然没有出现插件。

简而言之,有人可以帮助我了解如何使 WPF XBAP 在 cefsharp 和 chrome 中工作。

谢谢。

0 投票
2 回答
5823 浏览

c# - CefSharp WPF 和 MVVM?

我正在将 CefSharp 用于 WPF。我想在 MVVM 架构中使用它。不幸的是有一个问题。在我看来:

在 ViewModel 中,我将一个新对象放入Browser

不幸的是,在那之后的任何时候我都无法加载任何 URL。它说Browser not initialized实际上IsBrowserInitialized属性 (in Browser) 是false

这很奇怪,因为在测试应用程序中,而不是 MVVM,我使用相同的代码来实例化它工作的 WebView。唯一的区别是我以编程方式将浏览器添加到网格中,因为它不是 MVVM。

有人在 WPF MVVM 应用程序中获得 CefSharp 吗?有任何想法吗?

谢谢

编辑:我注意到在测试非 MVVM 应用程序中,该IsBrowserInitialized属性设置为 false,直到窗口构造函数结束工作。

0 投票
1 回答
2254 浏览

c# - Touch capable webbrowser control for WPF

I am having a problem with embedding webbrowser in WPF application. As you may know the standard webbrowser is not really a WPF component. When you embed the control you cannot apply any transforms on it and is displayed on the topmost layer as it is just wrapper for winforms control.

I have to create app with webbrowser included; the app should rotate to face all four edges of the touch capable screen that will be built into the restaurant table. I've tried Awesomium and CefSharp but touch scrolling works only in winforms components (which is weird cause WPF was designed with touch in mind).

Any ideas? Alternative WPF browser components? The component has to WPF control, be touch responsive and preferably free or cheap.

0 投票
2 回答
9876 浏览

c# - CefSharp 和跨域

我正在尝试在 .NET 4.0 应用程序中使用CefSharp 网络浏览器。我从本地存储的 html 和 js 内容加载页面。file://因此,Web 浏览器使用该协议打开页面。

页面转换是用 jQuery (ajax) 完成的,我得到了一个XMLHttpRequest cannot load file:///XXXXXXXX/Debug/res/www/shared/js/src/views/homeView.html. Cross origin requests are only supported for HTTP.

我尝试使用 Schemehandler 并覆盖ProcessRequest函数来处理file://域内的页面加载。

我通过添加在我的表单代码中使用它:

它不会改变任何东西。

我检查了 CefSharp repo 上的提交日志,它说现在支持 Cross AppDomain 但我该如何使用它?https://github.com/cefsharp/CefSharp/pull/35

我还考虑重新编译 CefSharp 以将 Access-Control-Allow-Origin添加到 Web 浏览器在对本地文件执行GET操作时返回的所有请求中。

我没主意了。

0 投票
2 回答
3284 浏览

c# - 选项卡式浏览器 CefSharp

我已成功将 WebView 添加到 WPF 中的窗口。如何在浏览器中添加标签?我用谷歌搜索,但没有找到任何在 CefSharp 中制作选项卡式浏览器的好文档。

xml:

0 投票
11 回答
57160 浏览

c# - 无法加载文件或程序集“CefSharp.dll”或其依赖项之一

我正在尝试使用 CefSharp 将我的网络应用程序加载到 winfoms 中。我已将 2 个 dll 文件:CefSharp.dll 和 CefSharp.WinForms 添加到引用中,并通过添加现有项目将 2 个 dll 文件 icudt.dll 和 libcef.dll 添加到我的项目中。
在此处输入图像描述

这是表格中的代码

运行应用程序时,出现此错误

WindowsFormsApplication1.exe 中出现“System.IO.FileLoadException”类型的未处理异常附加信息:无法加载文件或程序集“CefSharp.dll”或其依赖项之一。动态链接库 (DLL) 初始化例程失败。(HRESULT 异常:0x8007045A)

所以哪位知道的请帮帮我,谢谢

0 投票
2 回答
1070 浏览

c# - windows7中的CefSharp问题

我正在使用 CefSharp 作为网络浏览器的 WPF 应用程序。我已将它成功集成到我的应用程序中,但它仅适用于 Windows 8。

我正在使用 Visual Studio 2010 和 CefSharp 1.25.0。