【问题标题】:Alternative for java applet which needs to communicate with browser via javascript需要通过 javascript 与浏览器通信的 java applet 的替代方案
【发布时间】:2015-10-02 19:02:17
【问题描述】:

在我们的 Web 应用程序中,我们使用 Java 小程序通过 jacob jar 调用 MS.Word 应用程序,例如Word 打开、编辑、保存时自动上传到服务器。

Google Chrome 将不再支持 NPAPI,所以很快我们就不能再在 Chrome 中运行我们的小程序了。

所以,有任何关于 Java 小程序替代方案的建议。我们希望为用户提供与以前一样的体验。

【问题讨论】:

  • 非网络应用程序。
  • 或者您可以告诉您的用户不要使用 Chrome,但如果他们不是技术人员,这可能比非网络应用程序更让他们烦恼。
  • 也许您应该以不涉及 Word 的方式重新考虑您的应用程序。现在可以拥有完全在浏览器工具(Javascript/HTML5)中实现的非常好的富文本编辑器。而且它是跨平台的,不需要现有的 Office 许可证。
  • #RealSkeptic 感谢您的回复,我们的应用程序客户端中已经有该选项可以使用编辑器/word 查看/修改他们的文档。但这是强制性的,我们需要实现它(Word)。我们可以使用 Java web start 实现这样的功能吗?但我不知道 JWS 是否可以与我们在浏览器中运行的 javascript 进行通信。
  • 如果您指的是 Jacob COM 库 (sourceforge.net/projects/jacob-project),那么我们谈论的是使用 DLL 来通过 COM 与 Word 进行本机通信。在这种情况下,您不走运 - 目前没有其他选择。在这里查看我的帖子:stackoverflow.com/questions/31315991/…

标签: javascript java applet npapi jacob


【解决方案1】:

我们有同样的问题。使用 Webstart 不再可能进行这种通信。我们将在 webstart 应用程序和浏览器之间使用 Websockets。我们的第一个尝试是在 webstart 中启动一个 websockets 服务器并使浏览器连接到 localhost。如果浏览器中的安全限制无法做到这一点,那么我们将通过网络服务器、浏览器和 webstart 应用程序连接到网络服务器并交换消息来完成。

【讨论】:

  • 第一种方法的结果是什么?
【解决方案2】:

我可以看到两种不同的可能性。

  1. 创建一个独立的应用程序,使用electron 等技术“包装”您的Web 应用程序。然后,您可以根据需要将浏览器与桌面集成。这需要在客户端上进行安装。
  2. 启动一个 webstart 应用程序(或者它实际上可以是客户端上发生的任何安装)。它需要启动一个网络服务器,或者连接到一个网络服务器并通过 http 进行通信。

我对 Applet 的丢失感到难过。这是一项不容易被取代的技术。而另一种方法似乎有点像“变通办法”。没有简单的跨浏览器方法可以突破浏览器沙箱并访问系统。

对我自己来说,Applet 的丢失仅仅意味着自动化其中一些流程变得过于困难,最好找到实现类似最终结果的替代方法。

小提示:如果您要启动本地网络服务器,请注意安全性。它可以被系统上的其他进程访问。通过向端口发送请求来打开任何人的系统不是很有趣吗!

【讨论】:

    猜你喜欢
    • 2017-09-02
    • 2011-01-30
    • 2017-06-23
    • 1970-01-01
    • 2014-08-09
    • 2011-11-01
    • 2015-08-09
    • 2012-01-01
    • 1970-01-01
    相关资源
    最近更新 更多