【问题标题】:WebBrowser control: Navigation to the webpage was canceledWebBrowser 控件:取消导航到网页
【发布时间】:2013-05-07 15:20:11
【问题描述】:

设置

  • Windows 8(完整版)平板电脑
  • .NET 2.0 应用程序

我正在开发一个项目,其中 4 个 WebBrowser 控件在加载应用程序时同时导航到某个网页。这些网页具有相同的 HTML,但来自不同的 Web 服务器。

问题是其中一些页面在 WebBrowser 控件中显示“导航到网页已取消”消息。这仅在应用程序启动时发生。我已经实现了here 描述的解决方案,以获取返回的状态码,而且奇怪的是,它是 200 = OK 状态。

当我刷新页面时,它突然可以正常工作了。我怀疑问题可能是由同时导航引起的,但我不知道如何验证。

有什么想法吗?

【问题讨论】:

    标签: c# .net webbrowser-control


    【解决方案1】:

    好的,所以我最终触发了导航并等待它完成,然后再进行下一个导航,此后我再也没有遇到过问题。这是一个不需要花哨的解决方案的问题,我们没有时间深入挖掘,所以我们就这样做了。

    【讨论】:

    • 我过去遇到过这个问题。经过深入研究,它看起来像是来自 Microsoft 的安全 KB,阻止了 WebBrowser 控制器访问受信任的站点区域。
    • 我们在 Word 加载项中使用 System.Windows.Forms.WebBrowser 时遇到了同样的问题。我们正在使用 System.Windows.Forms.WebBrowser 预览临时 .mht 文件,并在文件下载提示中收到“导航到网页已取消”以及此消息:“您正在下载的文件无法打开默认程序。它已损坏或文件类型不正确。为安全起见,建议您取消下载"
    【解决方案2】:

    使用 OAuth 登录 Facebook 的案例:

    我从 WPF WebBrowser 导航到:

    https://graph.facebook.com/oauth/authorize?client_id=zzzzzzzzzzzzzzzz&redirect_uri=https://www.facebook.com/connect/login_success.html&type=user_agent&display=popup
    

    发生了一些变化,我得到:网页导航被取消

    从 Chrome 中我可以看到原因:

    {
       "error": {
          "message": "Can't load URL: The domain of this URL isn't included in the app's domains. To be able to load this URL, add all domains and sub-domains of your app to the App Domains field in your app settings.",
          "type": "OAuthException",
          "code": 191,
          "fbtrace_id": "GuhAfeO/85U"
       }
    }
    

    为什么会这样?

    以上链接仅适用于空的“有效 OAuth 重定向 URI”。添加 URL 以支持网站登录后,该应用停止工作。

    我去了我的设置并删除了网址。现在工作! https://developers.facebook.com/apps/zzzzzzzzzzzzzz/fb-login/settings/

    【讨论】:

      猜你喜欢
      • 2016-08-06
      • 2015-05-31
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多