你在你的Web应用程序使用什么跨浏览器的技术来操纵客户端机器上? [英] What cross-browser technology do you use in your web applications to manipulate on client machines?

查看:182
本文介绍了你在你的Web应用程序使用什么跨浏览器的技术来操纵客户端机器上?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

(我有一个谷歌浏览器的改进,将放弃对我目前的解决方案的支持有问题。)

我的项目上工作,我移动桌面系统到内部网的Web应用程序。

关键要求是:


  • 要桌面系统转移到Web应用程序

  • 要重现从桌面系统中的每一个功能在webapp <​​/ li>

虽然95%的工作需要随意创建Web应用程序,有一件事是非标准来处理:我的应用程序必须执行客户端计算机上的一些行动。这些包括:


  • 与图书馆连接

  • 推出的桌面应用程序

  • 在后台文件操作

该示例场景是我的系统,在实验室中一些机器集成。我有我的集成通过DLL客户端计算机上的驱动程序的Web应用程序(桌面应用程序这样做,让我的应用程序必须这样做,以及)。

理论上桌面操作方案可能会有所不同,我只是想实现一些接口将处理所有的客户机工作的桌面应用程序已经完成,所以没有必要在每一个场景中工作(但当然,每一种情况下应进行测试)。

我的解决办法是J​​ava小程序。有效。但随后谷歌浏览器决定放弃对NPAPI插件的支持,所以在September'15的Java插件(和我的小程序)将不支持(的 http://blog.chromium.org/2014/11/the-final-countdown-for-npapi.html )。

所以我的另一种解决方案是Java Web Start的。有用。但现在谷歌浏览器决定放弃为外部协议后台操作的支持(的 HTTPS://$c$c.google.com/p/chromium/issues/detail ID = 348640 ),因此,从谷歌浏览器45我的Java Web Start的解决方案将不被支持。

(上述两种解决方案在Firefox和IE浏览器。)

问题:
我可以用其他什么技术,从我的web应用程序与客户机进行交互?

其他说明:


  • 我reluctunt写我自己的PPAPI插件或Chrome扩展 - I preFER一个解决方案在所有主要的浏览器中工作

  • 我知道StackOverflow的社会不喜欢的技术,所以请专注于描述可能的解决我的问题的讨论。


解决方案

我们有类似的问题,努力为我们需要/接入的电子设备在JNI-> DLL连接。唯一的技术在哪里,这是目前可能是小程序。期。 (甚至就是因为浏览器/版本的Java /操作系统的某些组合不工作或有问题棘手,但这是另一个故事...)

有网络技术,如HTLM5,JScript中可替代小程序的部分功能然而,在某些情况下(比如你)有没有替代目前可用的 - 你命名的一些:


  • 像库连接* .DLL,*。所以等。

  • 的文件操作

  • 启动应用程序

并做跨浏览器和操作系统!

解决方案?


  1. 告诉你的网友认为某些浏览器不能使用(如Chrome和
    歌剧下一页)

  2. 写为每个单独的浏览器插件(这可能超出你的预算; - )

  3. 你有没有考虑书面形式的可执行文件的独立的应用程序(S)?用户必须下载并但如运行java或插件还需要进行安装。但是,再有就是,安全方面(的下载和执行的可执行文件) - 这当然不是一个容易的决定

  4. 看一看FireBreath 2 - (只是一些职位,了解它,但是没有尝试)

  5. 有大量的SO这个话题的讨论,以便采取读:


(I have a problem with Google Chrome improvements that will drop support for my current solutions.)

I work on project where I move desktop system to an Intranet web application.

The crucial requirements are:

  • to move desktop system to a web application
  • to reproduce every single functionality from the desktop system in the webapp

While 95% of work requires creating casual web application, there is one thing which is non-standard to handle: my application must perform some actions on the client computer. These includes:

  • connecting with libraries
  • launching desktop apps
  • file manipulation in background

The example scenario is to integrate my system with some machine in the lab. I have to integrate my web application with drivers on client computer via DLL (desktop app did this, so my app have to do this as well).

Theoretically scenarios of the desktop actions may vary and I just want to implement some interface that will handle all the "client-machine" job the desktop app has done, so there is no need to work on every single scenario (but of course every scenario should be tested).

My solution was Java Applet. It worked. But then Google Chrome decided to drop support for NPAPI plugins, so in September'15 Java plugin (and my applet) won't be supported (http://blog.chromium.org/2014/11/the-final-countdown-for-npapi.html).

So my another solution is Java Web Start. It works. But now Google Chrome decided to drop support for background operations of external protocols (https://code.google.com/p/chromium/issues/detail?id=348640), so from Google Chrome 45 my Java Web Start solution won't be supported.

(Both above solutions work on Firefox and IE.)

The question: What other technology can I use to interact with a client machine from my web app?

Other remarks:

  • I am reluctunt to write my own PPAPI plugin or Chrome Extension - I prefer one solution working on all major browsers.
  • I know that StackOverflow community does not like discussions about technologies, so please focus on describing possible solution to my problem.

解决方案

We struggled with a similar problem as we need to connect/access electronic devices over JNI->DLL. The only technology where this is currently possible are applets. Period. (And even that is tricky since certain combinations of browsers/java versions/operating systems do not work or have problems, but this is another story...)

There are web technologies like HTLM5, JScript which can replace some functionalities of applets however in certain scenarios (like yours) there is no current alternative available - and you named some of those:

  • connecting with libraries like *.dll, *.so etc.
  • file manipulations
  • launching applications

And doing that across browsers and operating systems!

Solutions?

  1. Tell your users that certain browsers can't be used (like Chrome and Opera Next)
  2. Write individual plugins for each browser (which probably is beyond your budget ;-)
  3. Did you consider writing standalone application(s) in form of an executable file? The user must download and run it however e.g. java or plugins also need to be installed. But then there is the security aspect of that (downloading an and executing an executable file) - certainly not an easy decision
  4. Have a look at FireBreath 2 - (just read about it in some posts, however didn't try it)
  5. There are lots of discussions on SO to this topic so take a read:

这篇关于你在你的Web应用程序使用什么跨浏览器的技术来操纵客户端机器上?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆