【问题标题】:Enabling Google Chrome Frame on DJ Native Swing在 DJ Native Swing 上启用 Google Chrome Frame
【发布时间】:2013-03-15 10:04:00
【问题描述】:

我的 Windows XP + IE8 机器上安装了 Google Chrome Frame。 当我使用 IE8 导航到启用 chrome 框架的页面时,它可以工作。 但是当我通过一个使用 DJ Native Swing 的 Java 应用程序导航到该站点时,该插件没有被激活。

应用程序使用 SWT 版本 3.740。

是否可以在 DJ Native Swing 浏览器中启用 Chrome Frame?

【问题讨论】:

  • 我猜你不需要Chrome框架,只需要嵌入IE浏览器。对吗?
  • 你主要使用 Swing 还是 SWT?
  • 我需要 Chrome 框架才能在 java 应用程序中工作。 Java 应用程序使用 DJ Native Swing 浏览器。我在问我是否可以让 Chrome Frame 与 DJ Native Swing 浏览器一起工作?

标签: java swt google-chrome-frame djnativeswing


【解决方案1】:

尝试在 Swing 中嵌入带有 V8 JavaScript 引擎的 WebKit 布局引擎。

Getting Chrome Browser in java Applications

【讨论】:

    【解决方案2】:

    根据JavaDoc: JWebBrowser 的文档,它只支持 IE 和 Mozilla:

    本机网络浏览器,在 Windows 上使用 Internet Explorer 或 Mozilla,在其他平台上使用 Mozilla。

    但是,根据代码,它实现了"XULRunner Runtime" NSOption,根据The XULRunner Wikipedia article XULRunner 出现在Chrome 的致谢中,因此它可能适合您使用Mozilla 的要求,但它不会是Chrome。

    JWebBrowser.useWebkitRuntime()JWebBrowser.useXULRunnerRuntime() 方法似乎是唯一的内置选项,但如果您知道要传递的正确变量名,则可以使用 NSOption 类定义自己的选项。

    希望对你有帮助

    【讨论】:

    • 是的,我明白了,我无法让 Chrome 与 DJ Native Swing 一起使用,因此我正在尝试使其与 Chrome Frame 插件一起使用。此外,我不想假设我的程序的客户端在他们的计算机上安装了 Chrome,但我可以假设已安装 IE,并且可以通过访问 www.google.com/chromeframe 轻松安装 Frame 插件。
    • 我不知道传递给 DJ Native Swing 以启用 chrome 框架插件的变量名称和值的类型。你能建议任何链接或代码吗?
    • 抱歉,我看了看什么都没有
    【解决方案3】:

    首先,浏览器的 SWT 控件是 DJ Native Swing 所使用的,但它也有各种粘合代码以使其与 Swing 线程安全。因此,更改为纯 SWT 会产生相同的问题,以及要解决的线程问题。

    关于 SWT 中的 Google Chrome Frame,因此在 DJ Native Swing 中,SWT 本身目前不支持。看到这个错误: https://bugs.eclipse.org/bugs/show_bug.cgi?id=317322

    SWT 和 DJ Native Swing 允许创建自己的 ActiveX 桥。也许您可以为 Windows 上的 Google Chrome Frame ActiveX 创建自己的组件,类似于 DJ Native Swing 为 Windows Media Player 组件所做的。

    【讨论】:

      【解决方案4】:

      上次在 Swing 项目中,当我们不得不将浏览器集成到 Swing 应用程序中时,我们最终使用了默认为 IE 的 Eclipse SWT 组件。这使得构建仅适用于 Windows,但它确实有效,并且消除了一些 Swing 错误。

      尝试对浏览器使用 Eclipse SWT 控件。

      【讨论】:

      • 这个答案建议你不要使用谷歌浏览器框架。 Google Chrome Frame 是在 Chrome 中运行 Microsoft Internet Explorer (IE) 的一种方式。但是您可以使用其他方法来做到这一点。目前所有的widgets toolkits都有WebView widget,其实就是平台自带的浏览器。
      • 我不同意您的说法:“Google Chrome Frame 是在 Chrome 中运行 Microsoft Internet Explorer (IE) 的一种方式”。我认为应该是“Google Chrome Frame 是在 Microsoft Internet Explorer (IE) 中运行 Chrome Javascript 引擎的一种方式”。它适用于 IE。
      • 从一开始这个线程就没有链接。是的你是对的。 en.wikipedia.org/wiki/Google_Chrome_Frame "Google Chrome Frame 是一款专为 Internet Explorer 设计的插件"
      • 我猜当你使用 Swing 时它会打开浏览器并禁用所有插件,这就是它不起作用的原因。
      猜你喜欢
      • 1970-01-01
      • 2014-07-05
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 2010-11-30
      • 1970-01-01
      相关资源
      最近更新 更多