【问题标题】:wxWebView Page Load Fails with no Internet ConnectionwxWebView 页面加载失败,没有 Internet 连接
【发布时间】:2017-07-04 16:32:41
【问题描述】:

我正在编写一个 Windows 应用程序,它使用 wxWebView (Trident) 来显示从绑定到临时端口上的本地主机接口的内部服务器提供的页面。我遇到了一个问题,如果主机没有启用任何活动的外部 IP 接口(例如处于飞行模式的笔记本电脑),wxWebView 实例拒绝加载页面并发送带有字符串的页面加载失败事件“INET_E_DOWNLOAD_FAILURE”。发生这种情况时,我可以让外部浏览器(包括 Internet Explorer)从我的 Web 服务器加载页面,这样我就知道环回接口正在工作。有什么方法可以配置 wxWebView 实例以使其加载页面?

当我在 webview 示例应用程序中尝试此操作时,我可以在日志窗口中看到以下内容:

13:33:33: Navigation request to 'res://ieframe.dll/navcancl.htm#http://www.wxwidgets.org/' (target='')
13:33:33: Title changed; title='http://www.wxwidgets.org/'
13:33:33: Navigation complete; url='http://www.wxwidgets.org/'
13:33:33: Title changed; title='Navigation Canceled'
13:33:33: Document loaded; url='http://www.wxwidgets.org/'
13:34:12: Navigation request to 'http://localhost:57588/stations.html' (target='')
13:34:12: Error; url='http://localhost:57588/stations.html', error='wxWEBVIEW_NAV_ERR_CONNECTION (INET_E_DOWNLOAD_FAILURE)'

【问题讨论】:

  • 你能重现它的 webview 示例吗?另外,您使用的是什么版本的库?什么编译器?你在什么操作系统上测试它?
  • @Igor 我在 Visual Studio 2015 中使用 wxWidgets 3.1.0。我在示例中看到了相同的行为。我正在 Windows 10 上进行测试。
  • 当错误发生时你有没有尝试过EVT_WEBVIEW_ERROR事件重定向到你的网络服务器。
  • @macroland 我正在处理错误事件。这就是我知道错误类型的方式。不幸的是,没有什么可以重定向的。应用程序中的所有服务都是本地的。尽管如此,网络视图甚至拒绝尝试加载页面。
  • @JonTrauntvein,你试过调试它吗?失败的功能是否来自 WinAPI?

标签: windows visual-c++ wxwidgets iwebbrowser2


【解决方案1】:

在徒劳地寻找可用于配置 iWebBrowser2 实例的方法后,我决定完全放弃 Trident 引擎并设法让 wxWebViewChromium 工作。如果有人遇到类似情况,他们需要注意当前版本的 wxWebViewChromium 似乎不适用于最新版本的 CEF。

【讨论】:

    【解决方案2】:

    注意:不是答案,而是对@Jon Trauntvein 的评论/问题,因为我没有足够的声誉来发表评论

    我也决定放弃 wxWebView IE 引擎,因为它不会呈现 Google Maps 多边形。

    在这里讨论,如果你想知道

    https://forums.wxwidgets.org/viewtopic.php?f=1&t=43186

    所以,我正在尝试构建当前的 CEF 版本

    https://bitbucket.org/chromiumembedded/cef

    进入 wxWebViewChromium

    https://github.com/sjlamerton/wxWebViewChromium

    但是这个项目已经 4 年了,而且 CEF API 发生了变化。

    您愿意在这里发布您对 wxWebViewChromium 所做的更改吗? 谢谢

    【讨论】:

    • 我不知道如何让 wxWebViewChromium 与当前版本的 cef 一起工作。相反,我找到了一个兼容的旧版本:cef_binary_3.1180.823。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    相关资源
    最近更新 更多