Browser IE9破坏了我的ActiveX浏览器代码

Browser IE9破坏了我的ActiveX浏览器代码,browser,internet-explorer-9,powerbuilder,Browser,Internet Explorer 9,Powerbuilder,我正在使用PowerBuilder应用程序中嵌入在窗口中的WebBrowser控件。这种用法的一部分是用于邮件合并,其中我加载一个带有导航(url,…)的文档,然后等待文档完成(ReadyState等于4,即完成) 之后,我想获取文档的主体,对其进行一些更改,然后打印它。但是document.body显示为null,这意味着它还没有真正加载。如果我在尝试获取主体之前插入调试器,或者放入MessageBox,那么它总是可以的 这在IE8中工作得很好,不需要任何休息或任何事情 我尝试过添加Yield

我正在使用PowerBuilder应用程序中嵌入在窗口中的WebBrowser控件。这种用法的一部分是用于邮件合并,其中我加载一个带有导航(url,…)的文档,然后等待文档完成(ReadyState等于4,即完成)

之后,我想获取文档的主体,对其进行一些更改,然后打印它。但是document.body显示为null,这意味着它还没有真正加载。如果我在尝试获取主体之前插入调试器,或者放入MessageBox,那么它总是可以的

这在IE8中工作得很好,不需要任何休息或任何事情

我尝试过添加Yield()调用、睡眠几秒钟等等,但都没有效果

我也在一台64位Windows7计算机上,不确定这是否相关


有什么好主意吗?谢谢。

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

在IE8和早期版本中,它没有引起任何问题。但在IE9中,它出于某种原因导致document.body为null,除非或直到我在调试器或MessageBox中执行了类似于中断的操作。因为这在邮件合并过程中不合适,所以我只是编码了一些东西,所以在那种情况下我没有将DesignMode设置为On,现在一切都好了