SWT浏览器何时执行JavaScript“成功”?

时间:2016-12-14 12:27:38

标签: javascript java browser swt xpcom

我想知道 - 当调用org.eclipse.swt.browser.Browser方法执行时,

  • return boolean如何确定?
  • javaScript执行何时被视为“成功”?
  • 特别是,当我启动一些异步函数并等待响应时会发生什么?
  • 浏览器会等待回调吗?
  • 是否基于空调用堆栈成功并且没有错误?

提前致谢!

编辑:
我刚刚检查过:浏览器不会等待回调调用

1 个答案:

答案 0 :(得分:0)

据我在挖掘源代码时可以看出,结果将由以下任一方法决定:

  • Firefox:JS_EvaluateScriptForPrincipals
      

    如果脚本编译并成功执行,* rval将从脚本中处理的最后执行的表达式语句中接收值,并且JS_EvaluateScriptForPrincipals或JS_EvaluateUCScriptForPrincipals返回JS_TRUE。否则返回JS_FALSE,* rval中的值未定义。

  • WebKit:JSEvaluateScript
      

    评估脚本产生的值,如果抛出异常则返回NULL。

听起来好像,如果没有错误,将会返回true

就问题的异步部分而言,Browser不会等待执行异步任务。但是,您可以执行的操作是定义BrowserFunction(如this example所示),并在完成异步任务后从JavaScript调用该方法。