uncaught JavaScript runtime exception: ReferenceError: “window” is not defined
2015年2月10日
没有评论
java 调用js的时候,遇到报 uncaught JavaScript runtime exception: ReferenceError: “window” is not defined 错误。
google一把,发现原因在于被调用的js 引用了浏览器环境变量window ,而该变量并没有加载进来。
解决方法如下。
import org.mozilla.javascript.Context; import org.mozilla.javascript.tools.shell.Global; import org.mozilla.javascript.tools.shell.Main; public class JavaRunJs { public static void main(String[] args) { Context cx = Context.enter(); Global scope = new Global(cx); cx.setOptimizationLevel(-1); cx.setLanguageVersion(Context.VERSION_1_7); Main.processFile(cx, scope, "env.js"); Main.processFile(cx, scope, "输入你要加载的js"); System.out.println((String)cx.evaluateString(scope, "输入你要执行的js代码", "js", 1, null)); } }
依赖的jar和js如下