我有一个JAVA中的代码/类/脚本,当有人点击一个按钮/我将处理的任何东西时,我想执行它。什么应该是JavaScript中的代码来启动在客户端的系统上安装的类/代码/脚本/编译程序?如何从客户端的JavaScript执行Java文件
回答
这取决于您在客户端使用该程序所要做的事情。如果你想在客户端的机器上调用其他程序,你将需要一些东西。
- 来自SSL供应商的代码签名证书。
- 您需要创建一个扩展Applet的类。
- 对于任何你想在客户端机器上执行的操作,你都需要一个实现了java.security.PrivilegedAction的类。
- 现在你应该真的使用objet和embed标签代替applet。
- 将属性添加到允许从Javascript脚本编写的对象和嵌入标签。
Java代码
public class MyApplet extends Applet
{
public Object myScriptAction(String arg1, String arg2)
{
PrivilegedAction action = new MyAction();
action.setXXXX();
Object o = AccessController.doPrivileged(action);
return o;
}
private class MyAction implements PrivilegedAction
{
public MyAction() {}
...
public Object run()
{
// Do something here, Runtime.exec() or something else
Runtime.getRuntime().exec(cmdarray, envarray, workingDir);
return myobj;
}
}
}
HTML使用标签代码中删除
object name="myapplet" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="1" height="1"
param name="name" value="myapplet"
param name="code" value="com.example.MyApplet"
param name="codebase" value="<c:out value="/path/to/applet/"
param name="archive" value="myapplet.jar"
param name="scriptable" value="true"
param name="mayscript" value="true"
comment
embed
type="application/x-java-applet;version=1.5"
code="com.example.MyApplet"
java_codebase="/path/to/applet/"
archive="myapplet.jar"
name="myapplet"
width="1"
height="1"
mayscript="true"
scriptable="false"
pluginspage="http://java.sun.com/products/plugin/index.html#download"
noembed
Java not supported.
noembed
embed
comment
object
的关键是MAYSCRIPT和脚本化的属性,这些属性允许JavaScript调用的小程序。
然后您使用jarsigner使用您获得的代码签名证书签署myapplet.jar。
请参阅Sun关于混合浏览器Java插件支持的指南。
http://java.sun.com/j2se/1.5.0/docs/guide/plugin/developer_guide/using_tags.html#mixed
我只需要在客户端系统上打开一个文件 – kritya 2011-02-24 13:19:14
打开就像在客户端上读取文件一样?我已经使用上述方法在客户机上启动应用程序。因此,使用这种方法可以打开notepad.exe并为其指定要打开的文件的路径。你可能不得不多说你想要打开什么。 – 2011-02-24 15:40:00
我认为你必须在你的网页上部署applet,然后才能从javascript调用它的方法。
所以,首先你需要appelet,即扩展Applet的类。如果你已经有一个,你就完成了。否则,您必须创建一个并公开已有的API。 接下来,您应该在网页上部署小程序。使用标记<applet>
或<object>
来执行此操作。这很简单,你可以在互联网上找到很多例子。
现在你必须能够从JavaScript调用这个小程序。它也很简单。例如,如果你的小程序的名字(我的意思是HTML的属性值名字)是MYAPP和小程序有方法foo(),你可以从JavaScript调用它是这样的:myapp.foo()
下面是一个例子:
<applet name="myapp" archive="myjar.jar" code="com.company.MyApplet"/>
<script>
var result = myapp.foo();
</script>
- 1. 执行javascript的http客户端...?
- 2. 客户端JavaScript执行模型
- 3. 如何从资源文件验证客户端的JavaScript消息?
- 4. 如何执行客户端Git钩子?
- 5. 从ms-access客户端界面切换到可执行文件
- 6. 从参数客户端执行python 3的JavaScript
- 7. DocumentApp导致从Javascript客户端执行的App脚本到401
- 8. 从MySQL客户端执行shell命令?
- 9. 从nodejs客户端执行voltdb查询
- 10. 从ASP页面执行客户端DLL
- 11. 如何在非Java客户端从HDFS读取文件
- 12. 如何从客户端JavaScript运行服务器端函数?
- 13. CWMP CPE(客户端)执行
- 14. 如何从客户端,同时从客户端上传文件到服务器
- 15. 取客户端id的javascript文件
- 16. 从Java运行Tortoise SVN客户端
- 17. 从Java客户端运行LoadIncrementalHFiles
- 18. 如何LoginStatus之前执行的客户端脚本onloggedout事件
- 19. 如何处理从Java客户端上传的服务器端HTTP文件
- 20. 如何从客户端Java脚本中执行Django uri模板标签?
- 21. 运行RabbitMQ java客户端
- 22. 从蒙戈Java客户端
- 23. 无法从Java客户端
- 24. Java客户端从测量
- 25. 阅读客户端中的文件,javascript,java applets
- 26. 如何在Django应用程序中通过javascript执行客户端软件?
- 27. SharePoint客户端JavaScript文档
- 28. JavaScript客户端文档库
- 29. 从客户端发送文件到客户端通过HTTP
- 30. 如何从java执行sql文件
不可能没有浏览器特定的扩展... – yent 2011-02-24 12:41:15
但我已经看到了使用该 – kritya 2011-02-24 12:43:01
如何嵌入一个[功能]一些网站(http://java.sun.com/applets/)? – erickb 2011-02-24 12:43:34