从ie8和chrome中的javascript调用java方法

从ie8和chrome中的javascript调用java方法,java,javascript,google-chrome,internet-explorer-8,packages,Java,Javascript,Google Chrome,Internet Explorer 8,Packages,我一直在想,是否有办法让以下javascript函数在IE8和Chrome中工作: var funct = function() { var ppt = new java.awt.Point(200,100); alert(ppt.x); } 这只在Firefox中有效。有没有办法在IE 8和Chrome中启用全局Java包?没有完全回答您的问题,但您可能会发现GWT(http://code.google.com/webtoolkit/)有帮助 它允许您用Java编写web应用程序,并将其“

我一直在想,是否有办法让以下javascript函数在IE8和Chrome中工作:

var funct = function()
{
var ppt = new java.awt.Point(200,100);
alert(ppt.x);
} 

这只在Firefox中有效。有没有办法在IE 8和Chrome中启用全局Java包?

没有完全回答您的问题,但您可能会发现GWT(http://code.google.com/webtoolkit/)有帮助


它允许您用Java编写web应用程序,并将其“编译”成javascript,以便在任何现代浏览器中运行。它只支持标准Java库的一个子集——特别是它不支持Java.awt。

好了,就在这里。IE 8和Chrome不允许使用全局java包: i、 e您不能在javascript中直接使用java.lang.String或java.atw.Point。但是,如果您有一个小程序,则可以通过小程序轻松公开此类类。例如,如果您在小程序中导入java.awt.Point,并使用如下方法:

公共点createPoint(intx,inty)

现在,您应该可以从javascript访问小程序,并按如下方式调用其方法:

(javascript代码)


干杯

这在FireFox中应该如何工作?您可以在打开FireFox的html文件中创建一个脚本并运行该脚本。这就是它的工作原理。。。我惊奇地发现Firebug中的“java”返回一个“JavaObject”。新的java.awt.Point实际上是有效的。不知道为什么,在谷歌上找不到太多。当然有,因为firefox支持java。这使得程序员的任务相当简单。然而,为了在IE8和Chrome中实际使用相同的功能,我必须创建一个小程序,并通过它公开必要的功能…多么混乱…这与IE浏览器支持客户端VBScript而其他浏览器不支持的事实完全一样。每个浏览器都有自己的小技巧。。在我看来,依赖这样的东西是错误的,现在连微软自己都建议不要使用客户端VBScript,因为它不是跨浏览器的。总之,最好找到与您所需要的“纯”JavaScript等价的东西。:)谢谢你,亲爱的伊恩,不过GWT对我没有任何好处,原因有两点:1。我已经使用它两年了,它不包含我需要的功能。2.任何浏览器都不允许我尝试实现的目标!3.我有良好的意图,但即使是我也害怕我所取得的成就和它所带来的可能性……呵呵,你的意图是什么你希望访问用户系统上的文件吗?哈哈,那太容易了。。。实际上,我所做的是使用一个java小程序,这样我就可以使用javascript调用它的函数。但是,java小程序本身使用JNA(java本机访问)调用一些本机内容。最终,您得到的是调用本机函数的javascript。下面是这个东西的示意图:::javascript->java->native(user32、gdi32等)
var applet = document.getElementById("applettie");
var Point = applet.createPoint(20,30);
//now you have the Point object