我正在使用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) 我有一个简单的例子试图让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添加了包
所以这是在WinForms应用程序中使用CefSharp的场景.我们在页面中有两个信息页面URL和一个链接URL.我们想要加载页面 - 轻松完成,并让CefSharp显示链接所在页面的区域.也就是说,cefsharp会自动滚动到该链接在DOM中的页面上的正确位置.
最简单的方法是什么?
我们有一个 wpf 应用程序,它使用 cefsharp 浏览器来托管网站(AngularJS) - 换句话说 - 混合应用程序。
我们有兴趣运行自动化测试(特别是在角度部分)。通过一项小型研究,我们发现 TestComplete 支持本机代码中的 cef 浏览器挂钩,但我们希望看到所有可能性。
正如我们所看到的,“Protractor”框架非常适合测试基于 Angular 的应用程序。对我们来说,问题在于它只能测试 Web 部分,并且通过打开 Web 浏览器来测试它。无论如何,我们想在本机代码(wpf)内运行的浏览器实例上运行量角器测试。是否可以?您还有其他选择/想法吗?谢谢。
我有一个运行 Windows 10 的 PiPo x9(触摸屏)。谷歌浏览器已加载,可以正确查看网页。通过 CefBrowser 加载的同一页面对鼠标事件的响应很奇怪。我正在使用 USB 鼠标和键盘。
当您将鼠标移到用户名文本框上时,屏幕将放大,但无法正确呈现并且 UI 元素将无响应。
另一个例子;

我看过这里的 CefSettings Settings,但有太多不知道该尝试什么。
我正在处理一个项目,我想使用 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) 我如何知道我使用的是哪个版本的 cefsharp、cefsharp 铬版本?我想有一个//b/c我可以用来知道的命令。还有其他方法吗?
另外:cefsharp版本和cefsharp铬版本有什么区别?
我在 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 中的一个错误。
使用 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。
我正在尝试在 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) cefsharp ×10
c# ×8
html ×2
winforms ×2
wpf ×2
dom ×1
excel-addins ×1
javascript ×1
protractor ×1