【发布时间】:2014-10-11 15:37:19
【问题描述】:
我们正在制作一个 Web 浏览器来试验 Oracle 的 ADT/Forms 技术。它所需要做的就是访问网址并运行 Java 小程序。
我正在使用(至少尝试)CefSharp3(来自https://github.com/cefsharp/CefSharp 的新克隆)。
我为此创建了一个 WPF 项目,让它工作(我可以导航到 Google、here、Oracle 等)但是,当我导航到我们的 Java 小程序时,我似乎只得到一个空白屏幕。
我已经设置了浏览器属性
- “JavaDisabled”
- “插件已禁用”
- “WebSecurityDisabled”
(抓住稻草!)适当地,我仍然只看到一个空白屏幕。
我想知道是否该应用程序没有对 JRE 的权限?也许 JRE 需要包含在项目中?
这是 Debug 文件的结果(在只进入 Java 小程序的全新运行之后)
[1011/121439:WARNING:resource_bundle.cc(280)] locale_file_path.empty()
[1011/121439:WARNING:resource_bundle.cc(280)] locale_file_path.empty()
[1011/121439:WARNING:resource_bundle.cc(280)] locale_file_path.empty()
[1011/121439:ERROR:renderer_main.cc(226)] Running without renderer sandbox
[1011/121441:WARNING:content_browser_client.cc(480)] No browser info matching view process id 3 and routing id 2
[1011/121441:WARNING:content_browser_client.cc(480)] No browser info matching view process id 3 and routing id 2
[1011/121441:WARNING:content_browser_client.cc(480)] No browser info matching view process id 3 and routing id 2
[1011/121441:WARNING:resource_bundle.cc(280)] locale_file_path.empty()
[1011/121441:WARNING:content_browser_client.cc(480)] No browser info matching view process id 3 and routing id 2
[1011/121441:WARNING:content_browser_client.cc(480)] No browser info matching view process id 3 and routing id 2
[1011/121441:WARNING:content_browser_client.cc(480)] No browser info matching view process id 3 and routing id 2
Java 小程序在 Firefox、Chrome、IE 和 Chromium(带有 WinForms)中运行没有问题。可能只是 WPF 和 Java 不兼容。
这里有一些代码! -- 不多,但是用这个框架也不需要太多 -- 印象深刻。
public partial class MainWindow : Window
{
public MainWindow() {
InitializeCef();
InitializeComponent();
SetBrowserSettings();
((IWebBrowser)webBrowser).Load("URL_To_Java_Applet");
}
private void InitializeCef() {
var settings = new CefSharp.CefSettings()
{
PackLoadingDisabled = true
};
settings.IgnoreCertificateErrors = true; // could be preventing the JRE?
Cef.Initialize(settings);
}
private void SetBrowserSettings() {
BrowserSettings settings = new BrowserSettings();
settings.JavaDisabled = false;
settings.PluginsDisabled = false;
settings.WebSecurityDisabled = true; // desperate attempt to allow JRE to run!
webBrowser.BrowserSettings = settings;
}
}
【问题讨论】:
-
什么 CefSharp 版本? debug.log 中的任何错误?它是什么类型的 url,本地文件或 http,如果它是本地文件,您是否尝试将其上传到网络并从那里运行? google.com 网址可以正常加载吗? DevTools 中的任何错误?
-
@CzarekTomczak 好问题! ——我应该预料到他们。我将使用您正在寻找的信息更新我的问题。
-
locale_file_path.empty()警告 - 看起来您缺少一些二进制文件。 locales/ 目录和 .pak 文件是否位于可执行文件旁边?
标签: c# wpf chromium-embedded cefsharp