AxWebBrowser.Navigate2问题

时间:2010-12-23 08:19:32

标签: .net winforms axwebbrowser

我正在使用AxWebBrowser对象来渲染html / flash。我在表单中添加了这个对象。我在使用AxWebBrowser.Navigate2渲染到表单时发现了一个奇怪的问题。 但它不一致并且间歇性地发生(4/10)。

有时显示的内容为总空白,即白屏。有时只有边缘变为白色,其余的渲染内容都很好。

我无法理解这里的问题。我尝试了以下内容 - 使用“about:blank”调用Navigate2,然后使用实际URL调用 - 两次调用Navigate2。 - 使用Navigate而不是Naviagte2。

但问题仍然存在。

感谢您的任何帮助。

提前致谢。

2 个答案:

答案 0 :(得分:1)

这是一个老话题,但仍然把我的想法给别人......

在我的代码中,我首先调用了“Navigate2(ref urlStr,ref emptyStr,....)”,首先将urlStr值设置为“about:blank”,然后将urlStr值再次调用为“stackoverflow.com”。这对我有用。除此之外,我唯一能想到的是在Windows窗体上添加WebBrowser控件的方式。可以尝试一下。

webBrowserInstance.BeginInit();
webBrowserInstance.Parent = mainForm;
webBrowserInstance.EndInit();

另外,请确保添加对使用.Net框架构建的AxSHDocVw.dll,SHDocVw.dll程序集的引用。

我在我的一个webapp中使用此浏览器来捕获当前页面的屏幕截图。我也有渲染Flash的问题。我必须在托管此webapp的应用程序池上将“允许32位应用程序”属性设置为True。因此可能适用于改变目标平台可能有用的Windows应用程序。我猜闪存驱动程序还不支持64位机器,但我没有任何证据证明这一点。

答案 1 :(得分:0)

不知道你是否已经解决了这个问题,但我遇到了类似的问题,但在我的情况下,flash内容一直没有加载......原因是因为我正在构建我的项目以运行x64窗口并且因为那里对于Flash播放器来说,它不是64位,然后内容未加载。

要解决此问题,请更改项目属性中的平台目标: 项目 - [项目名称]属性 - 构建 - 目标平台:x86

希望这有帮助