zoukankan      html  css  js  c++  java
  • DOCHOSTUIFLAG_HOST_NAVIGATES 标志位有可能导致WebBrowser控件工作异常

          在WebBrowser控件的IDocHostUIHandler::GetHostInfo() 方法中,针对IE7以及以上版本,新支持了DOCHOSTUIFLAG_HOST_NAVIGATES、DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION、DOCHOSTUIFLAG_USE_WINDOWLESS_SELECTCONTROL、DOCHOSTUIFLAG_USE_WINDOWED_SELECTCONTROL等几个新的标志位。其中DOCHOSTUIFLAG_HOST_NAVIGATES 标志位一定要慎用。经测试后发现,某些情况下该标志位会引起WebBrowser"停止响应"问题。

          具体表现如下:

    1) 设置该标志位后,对于通过脚本设置窗体大小位置的情况,相应事件将不会被触发。具体包括DWebBrowserEvents2中的WindowSetHeight、WindowSetLeft、WindowSetTop、WindowSetWidth 等事件。如果您想通过捕捉DWebBrowserEvents2的一系列事件来控制通过脚本中类似window.open() 产生的新窗体时。以上事件将不会通知即将创建的窗体大小和位置;

    2) 设置该标志位后,若在NewWindow2、NewWindow3中设定Cancel = true;那么会使WebBrowser进入"假死"状态,该状态的表现就是,在上次Cancel = true;取消创建新窗体的操作后,再次导航其它页面,WebBrowser将不会有任何的事件通知,并且WebBrowser也不会真正执行导航操作。当再次导航(调用Navigate或Navigate2方法)时才会恢复正常;

         对于WebBrowser这个神物,没事儿还是不要乱设Flag的好。

  • 相关阅读:
    python接口自动化5-Json数据处理
    python接口自动化4-绕过验证码登录(cookie)
    python接口自动化2-发送post请求
    python接口自动化1-发送get请求
    python+selenium个人学习笔记11-登录封装与调用
    [jzoj]5257.小X的佛光
    [jzoj]1417.数学题
    2017.08.15【NOIP提高组】模拟赛B组
    [jzoj]1383.奇怪的问题
    [jzoj]1229.Hanoi
  • 原文地址:https://www.cnblogs.com/michaellee/p/1324873.html
Copyright © 2011-2022 走看看