-1

我们正在制作一个 Web 浏览器来试验 Oracle 的 ADT/Forms 技术。它所需要做的就是访问该 Web 地址并运行 Java 小程序。

我正在使用(至少尝试)CefSharp3(来自https://github.com/cefsharp/CefSharp的新克隆)。

我为此创建了一个 WPF 项目,让它工作(我可以导航到 Google、here、Oracle 等)但是,当我导航到我们的 Java 小程序时,我似乎只得到一个空白屏幕。

我设置了浏览器属性

  • “Java禁用”
  • “插件禁用”
  • “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;
    }
}
4

1 回答 1

0

看来你是对的...

可能只是 WPF 和 Java 不兼容。

尝试使用 WinForms,而不是 WPF,因为前景看起来不太好(注意 WPF 在 OSR 模式下运行)

请参阅此CEF 论坛主题

更新:我尝试使用http://java.com/en/download/installed8.jsp和 CefSharp.Winforms|Wpf.Example 的 Win32 构建 - 它们都可以按预期使用 JRE 7.67 x86。当然,x64 示例不起作用,因为我的 PC 上没有 x64 JRE。

于 2014-10-13T23:02:58.917 回答