我试图用scriptEngine调用java中的文档--这是我的代码
ScriptEngineManager scriptEngineManager=new ScriptEngineManager();
ScriptEngine scriptEngine=scriptEngineManager.getEngineByName("nashorn");
scriptEngine.eval("function func(){" +
"document.location.href=someUrl;" +
"var text=document.getElementsByTagName('textarea')[0];"}"
);
Invocable invocable= (Invocable) scriptEngine;
((Invocable) scriptEngine).invokeFunction("func");它抛出一个异常
javax.script.ScriptException: ReferenceError: "document" is not defined in <eval> at line number 1发布于 2016-03-02 10:24:17
Java中的脚本引擎提供执行Javascript代码的能力,但不提供浏览器的模拟。
document、window和其他对象是由浏览器定义的,但ECMAScript规范(http://www.ecma-international.org/ecma-262/5.1/#sec-15)并没有要求它们出现。
https://stackoverflow.com/questions/35744204
复制相似问题