代码之家  ›  专栏  ›  技术社区  ›  Chris Morley

雅虎“白色屏幕”与WebBrowser对象

  •  1
  • Chris Morley  · 技术社区  · 15 年前

    使用Microsoft.NET WebBrowser控件有时会导致出现白色屏幕。Yahoo.com就是一个很好的例子,它可以根据你的IE设置来实现。我发现,通过更改Internet Explorer中的Internet选项,这些相同的设置也会影响WebBrowser对象,使WebBrowser对象能够正确地“查看”Yahoo。

    我的问题是,如何编写代码来临时更改Internet Explorer的设置,然后在更改后再重新更改?我意识到这里有各种各样的安全问题。我只是没有找到一种方法来更改WebBrowser对象实例的设置。只有当我在全球范围内将安全性更改为High时,它才能正常工作。如果可能的话,我也可能对全局切换启用保护模式位感兴趣。

    我不在乎这是否会在Vista中触发安全警报。我的意思是,显然,用户必须清除程序,以便管理员访问这些类型的设置。

    谢谢

    -克里斯。

    1 回复  |  直到 15 年前
        1
  •  1
  •   EricLaw    15 年前

    更改IE安全设置不是正确的方法;除此之外,OneCare、安全中心和其他机构会投诉,用户将面临风险。

    相反,您要做的是实现一个IInternetSecurityManager,并告诉您的web浏览器控件使用您实现的安全管理器。ProcessURLAction函数将为每个安全决策调用,您可以返回最适合您的应用程序的任何结果(启用/禁用/提示)。