在之前的JavaScript错误之后,不会评估正文中的脚本标记

时间:2011-03-08 08:40:00

标签: java javascript htmlunit

我有一个HTML文件,其中postIt()标记内定义了JavaScript方法(例如)<script>。它的标记前面有两个不再存在的外部JavaScript文件的引用。所有这些<script>代码都在<body>内。

我必须将WebClient.setThrowExceptionOnFailingStatusCode设置为false,以便我可以继续使用不存在的JavaScript文件。

但是当我尝试拨打page.executeJavascript("postIt()")时,我发现参考未找到错误!

  1. 这是什么原因,我们是否有可能的解决方法?
  2. JavaScript引擎是否在自己的线程中运行?

2 个答案:

答案 0 :(得分:6)

大多数JavaScript引擎在遇到parsetime / compiletime错误时会停止解析/评估代码,就像其他编译器一样。

这是一个功能,而不是错误。

解决方法是修复错误。

答案 1 :(得分:0)

嗯,事实证明,我调用的JavaScript代码不正确,后者又将我的代码重定向到404页面。但由于我将webClient.setThrowExceptionOnFailingStatusCode()webClient.setPrintContentOnFailingStatusCode()设置为false,因此HtmlUnit没有通知我。

因此,对于这些问题,我们需要打开上面的标记,并删除所有JavaScript错误。