2014-10-11 189 views
-1

我們正在製作一個Web瀏覽器來試驗Oracle的ADT/Forms技術。所有它需要做的就是去網址並運行Java applet。如何啓用/允許Java在CefSharp應用程序中運行

我正在使用(試圖至少)CefSharp3(來自https://github.com/cefsharp/CefSharp的新鮮克隆)。

我爲此創建了一個WPF項目,讓它工作(我可以導航到谷歌,在這裏,Oracle等),但是,當我導航到我們的Java小程序時,我似乎只得到一個空白屏幕。

我已經設置瀏覽器的屬性

  • 「JavaDisabled」
  • 適當 「PluginsDisabled」
  • 「WebSecurityDisabled」

(在抓救命稻草那裏!)和我還是隻看到一個空白的屏幕。

我想知道如果應用程序沒有權限的JRE?也許JRE需要包含在項目中?

這是調試文件的結果

[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小程序工作在火狐,Chrome,IE和鉻沒問題(即只到Java小程序新鮮運行後)(用的WinForms )。它可能只是因爲WPF和Java不會jive。

這是一些代碼! - 這並不多,但使用這個框架並不需要太多 - 我對此印象非常深刻。

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; 
    } 
} 
+0

什麼CefSharp版本? debug.log中的任何錯誤?它是一種什麼樣的url,一個本地文件或http,如果它是一個本地文件,你是否嘗試將它上傳到web並從那裏運行? google.com網址是否正常加載? DevTools中的任何錯誤? – 2014-10-11 16:10:50

+0

@CzarekTomczak偉大的問題! - 我應該預料到他們。我將用您正在查找的信息更新我的問題。 – 2014-10-11 16:17:15

+0

'locale_file_path.empty()'警告 - 看起來像缺少一些二進制文件。 locales /目錄和.pak文件駐留在可執行文件旁邊嗎? – 2014-10-11 16:35:12

回答

0

看起來你是對的...

這可能僅僅是因爲WPF和Java不合拍。

與WinForms的嘗試,而不是WPF那裏的前景看起來並不好(注意WPF在OSR模式下運行)

看到這個CEF forum thread

更新:我試着用http://java.com/en/download/installed8.jsp和Win32的構建CefSharp.Winforms | Wpf.Example - 它們都可以像JRE 7.67 x86一樣按預期工作。當然,x64示例沒有工作,因爲我的電腦上沒有x64 JRE。

相關問題