Java8,Nashorn:无法加载外部.js脚本文件

时间:2015-11-30 02:26:50

标签: java-8 nashorn

我是Nashorn的新手并尝试加载我的第一个js文件,如下所示:

public static void main(String[] args) {
        final ScriptEngineManager manager = new ScriptEngineManager();
        final ScriptEngine engine = manager.getEngineByName("nashorn");

        try {   
            engine.eval("load('https://cdn.jsdelivr.net/sockjs/1.0.3/sockjs.min.js')");

        }catch(final ScriptException e) {
            System.err.println(e);
        }

    }

我得到以下例外:

javax.script.ScriptException: TypeError: Cannot read property "prototype" from undefined in http://cdn.jsdelivr.net/sockjs/1.0.3/sockjs.min.js at line number 3

此外,当我尝试评估以下内容时:

engine.eval("load('https://code.jquery.com/jquery-1.11.3.min.js')");

eval()方法根本没有返回 - 它只是停留在调试上(使用Eclipse)。

知道为什么原型没有定义,为什么我不能评估jquery js文件?

谢谢!

1 个答案:

答案 0 :(得分:1)

Nashorn是兼容ECMAScript5的JavaScript引擎。 WebSocket API不是ECMAScript 5的一部分,而是浏览器API。那是因为你得到了例外。