问题标签 [cefsharp.offscreen]

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 回答
173 浏览

azure-functions - CefSharp.OffScreen.NETCore 与 Azure 功能

我正在尝试创建一个 Azure 函数,该函数接受一个 url,然后返回页面的屏幕截图。我已将包 CefSharp.OffScreen.NETCore 添加到项目中,并添加了来自 CefSharp.MinimalExample 的代码以生成屏幕截图。在一个简单的核心控制台应用程序中运行它可以按预期工作,但是当作为 Azure 函数运行时,我收到以下错误:

System.Private.CoreLib:执行函数时出现异常:HttpExample。CefSharp.Core:无法加载文件或程序集“CefSharp.Core.Runtime,版本=88.2.90.0,文化=中性,PublicKeyToken=40c4b6fc221f4138”。试图加载格式不正确的程序。System.Private.CoreLib:试图加载格式不正确的程序。(0x8007000B)。

0 投票
0 回答
76 浏览

cefsharp - 打印到 PDF 无法处理页眉和页脚设置

我正在使用 cefsharp 将页面保存为 PDF,但我使用的自定义页眉/页脚数据只打印了一半。

这是代码

该页面打印正确,但页眉/页脚是:

  • 左上角的日期(不是我设置的)
  • 右上角的原始页面标题(不是我设置的)
  • 左下角的HeaderFooterUrl,居然是我设置的!
  • 右下角的页面计数器(不是我设置的)

我怎样才能完全控制这些元素?这是可能的还是我应该用cef/cefsharp打开一个错误?

0 投票
0 回答
671 浏览

c# - CefSharp Core Runtime dll 格式不正确

System.IO.FileNotFoundException: 'Could not load file or assembly 'CefSharp.Core.Runtime, Version=89.0.170.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138'. The system cannot find the file specified.'将文件与其他 DLL 一起放在 bin 目录中。

项目设立:

针对 netcore 3.1 的控制台应用程序使用针对 netstandard 2.0 的类库,该类库加载到使用 netcore app 3.1 构建的驱动程序中,该驱动程序具有 CefSharp.Offscreen 89.0.170

单步执行调试器时,我看到我无法加载 CefSharp.Core 所依赖的 CefSharp.Core.Runtime.dll。试图加载一个带有incorrect format. (0x8007000B).

dll 取自 cef nuget 包的 x64 文件夹,并反映在 csproj 中。

我不知道是什么原因造成的,有没有人对在哪里寻找以及可能是什么原因有任何建议?

编辑 1——澄清代码

编辑 2 - bin 的内容以及它们的来源

包\cefsharp.common.netcore\89.0.170\runtimes\win-x64\lib\netcoreapp3.1

CefSharp.Core.dll

CefSharp.dll

CefSharp.Core.Runtime.dll

包\cefsharp.offscreen.netcore\89.0.170\lib\netcoreapp3.1

CefSharp.OffScreen.dll

编辑 3 - 更新的 bin

在此处输入图像描述

0 投票
0 回答
99 浏览

javascript - 选择分页后无法从cefsharp浏览器获取HTML

  1. 使用 cefsharp 我加载了一个页面,该页面在一个页面中提供了 25 个链接。
  2. 使用FrameLoadEnd将 HTML 内容放入 HtmlAgilityPack 文档。
  3. 从节点获得 25 个链接的标题。 问题 当我点击页面上的 50 个链接并尝试获取标题时,它仍然给我 25 个链接。这是旧页面。我无法弄清楚为什么 FrameLoadEnd 在导航到页面内的另一个链接时无法更改 html。

页面加载 25 个标题时的屏幕截图

当我单击 50 个标题时,我无法获取 50 个标题的 html 内容

这是代码

0 投票
1 回答
363 浏览

c# - Cefsharp 关机不正确

例外:必须在调用 Cef.Initialize 的同一线程上调用 Cef.Shutdown - 通常是您的 UI 线程。如果您在 UI 线程以外的线程上调用 Cef.Initialize,那么您将需要在同一个线程上调用 Cef.Shutdown。Cef.Initialize 在 ManagedThreadId: 1 上被调用,而 Cef.Shutdown 在 ManagedThreadId: 4 上被调用

0 投票
0 回答
48 浏览

c# - 不调用 CefSharp 初始化

我现在已经运行了十份程序。四个被冻结。请解释为什么不调用Cef初始化

初始化过程冻结

在此处输入图像描述

0 投票
1 回答
36 浏览

c# - cefsharp中js脚本的顺序注册

我有个问题。scriptEventClick 看不到 scriptGlobal 中的方法。我怎么知道 scriptGlobal 是在 JS 中注册的,以便我以后可以调用 EvaluateScriptAsPromiseAsync

在哪里

0 投票
0 回答
91 浏览

azure - 使用 azure devops 部署 Cefsharp

我正在尝试将使用 CEFSharp 的 .Net Core 应用程序部署到 azure 上的应用程序服务。

当我使用面向 azure 的发布配置文件从 VS2019 发布时,CEF 工作所需的所有文件都被复制到应用程序服务并且应用程序工作。

如果我尝试使用 Devops 管道发布,则 CEF 的所有文件都不会复制到应用程序服务,并且应用程序无法运行。

这些是我在管道上的基本步骤

流水线步骤

这是我发布的步骤

部署步骤

任何人都可以帮助我了解为什么会这样吗?

0 投票
1 回答
61 浏览

directx-11 - 频繁更新 Texture2D 会导致进程崩溃 (UpdateSubresource)

我正在使用 SharpDX 基本上在 directX 进程上呈现浏览器(铬)输出缓冲区。

过程相对简单,我截取 CEF 缓冲区(通过覆盖 OnPaint 方法)并将其写入纹理 2D。

代码比较简单:

纹理创建:

那段代码在开始和调整大小时执行。

现在当 CEF OnDraw 我基本上将他们的缓冲区复制到纹理:

还有更多代码,但基本上这只是相关的部分。整个过程一直有效,直到 OnDraw 频繁发生。

显然,如果我强制 CEF 频繁绘制,整个主机进程就会死掉。这发生在UpdateSubresource.

所以我的问题是,有没有另一种更安全的方法来做到这一点?(经常更新纹理)

0 投票
0 回答
108 浏览

c# - cefSharp发布后不工作,我该如何解决

代码运行良好,但发布后无法打开。我创建了一个页面来测试图形,但是由于 webbrowser C# 不起作用,因为它在 IE 中启动我尝试使用 Cefsharp 但它也不行,出现在我看来的错误是 Cefsharp.Core.Runtime.dll,我使用的cefsharp 版本是94.4.11。但问题是,当我通过 Visual Studio 2022 使用它时,它可以工作,但是当我进行编译并发布它以生成可执行文件时,它不仅会给出错误,甚至不会打开