如何从Java运行一些使用ActiveX的JS

时间:2012-12-21 14:10:15

标签: java javascript activex

我必须在java(1.5)swing程序中使用一个设备。 问题是供应商不提供Java的API。 它们提供Visual C ++支持,python,JS,VBSCript API

不幸的是,即使在Windows平台上,JDK的脚本引擎和Rhino也不支持activex。

运行这个简单的代码时

public static void main(String[] args) {
    ScriptEngine runtime = null;
    try {
        runtime = new ScriptEngineManager().getEngineByName("javascript");
        Object o =  runtime.eval( new FileReader( "something.js" ) );
    } catch (Exception ex) {
        System.out.println(ex.getMessage());
    }
}

我收到类似

的错误
sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "ActiveXObject"

我理解为'没有activex支持'(如果我错了,请纠正我)

我可以在java中使用任何与activex兼容的javascript解释器吗?

我正在评估的一个选项是使用Jacob控制Java中的IE。使IE不可见并执行一些使用activeX显示结果的JS脚本。 然后......以某种方式从页面正文中获取数据。

如果有人已经这样做了,请告诉我它是否有效:) 我对这个选项的未来发展感到困惑

我的环境是windows7,IE8,java5,eclipse

谢谢

0 个答案:

没有答案