我正在使用嵌入PowerBuilder应用程序窗口中的WebBrowser控件。部分用于邮件合并,我用Navigate(url,...)加载文档,然后等待DocumentComplete(ReadyState等于4,即完成)。
之后,我想获取文档的正文,将其更改为一些,然后将其打印出来。但是那个document.body出现了null,意味着它还没有真正加载。如果我在调试器中打破,或者在尝试获取正文之前放入MessageBox,那么它总是正常的。
这在IE8中运行良好,无需任何中断或任何其他内容。
我已尝试添加Yield()调用,睡眠几秒钟等,但这些都没有帮助。
我也在64位Windows 7计算机上,不确定这是否相关。
有什么好主意吗?感谢。
答案 0 :(得分:1)
行。事实证明,在我的DocumentComplete事件中,我将DesignMode设置为On。当我合并一个文档然后让用户编辑它时,这是必需的。但是当我进行电子邮件合并,合并,打印到PDF然后通过电子邮件发送一个文档时,没有必要。
在IE8及更早版本中,它没有引起任何问题。但是在IE9中,它出于某种原因导致document.body为null,除非或者直到我在调试器或MessageBox中执行类似中断的操作。由于这在电子邮件合并过程中不合适,所以我只编写了一些内容,因此在这种情况下我没有将DesignMode设置为On,现在一切正常。