IE9破坏了我的ActiveX WebBrowser代码

时间:2011-06-17 18:35:09

标签: browser internet-explorer-9 powerbuilder

我正在使用嵌入PowerBuilder应用程序窗口中的WebBrowser控件。部分用于邮件合并,我用Navigate(url,...)加载文档,然后等待DocumentComplete(ReadyState等于4,即完成)。

之后,我想获取文档的正文,将其更改为一些,然后将其打印出来。但是那个document.body出现了null,意味着它还没有真正加载。如果我在调试器中打破,或者在尝试获取正文之前放入MessageBox,那么它总是正常的。

这在IE8中运行良好,无需任何中断或任何其他内容。

我已尝试添加Yield()调用,睡眠几秒钟等,但这些都没有帮助。

我也在64位Windows 7计算机上,不确定这是否相关。

有什么好主意吗?感谢。

1 个答案:

答案 0 :(得分:1)

行。事实证明,在我的DocumentComplete事件中,我将DesignMode设置为On。当我合并一个文档然后让用户编辑它时,这是必需的。但是当我进行电子邮件合并,合并,打印到PDF然后通过电子邮件发送一个文档时,没有必要。

在IE8及更早版本中,它没有引起任何问题。但是在IE9中,它出于某种原因导致document.body为null,除非或者直到我在调试器或MessageBox中执行类似中断的操作。由于这在电子邮件合并过程中不合适,所以我只编写了一些内容,因此在这种情况下我没有将DesignMode设置为On,现在一切正常。