2017-02-15 7 views
-1

Я пишу приложение Windows, которое использует wxWebView (Trident) для отображения страниц, обслуживаемых с внутреннего сервера, который привязывается к интерфейсу localhost на эфемерном порту. У меня возникла проблема, когда, если на главном компьютере нет активных внешних IP-интерфейсов (например, ноутбук в режиме самолета), экземпляр wxWebView отказывается загружать страницу и отправляет событие сбоя при загрузке страницы со строкой "INET_E_DOWNLOAD_FAILURE". Когда это произойдет, я могу заставить внешний браузер (включая интернет-проводник) загружать страницу с моего веб-сервера, поэтому я знаю, что интерфейсы (loop) loopback работают. Есть ли способ настроить экземпляр wxWebView, чтобы он загружал страницу?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)' 
+0

Вы можете воспроизвести образец веб-просмотра? Кроме того, какую версию библиотеки вы используете? Какой компилятор? Какую ОС вы тестируете? – Igor

+0

@Igor Я использую wxWidgets 3.1.0 с Visual Studio 2015. Я вижу то же поведение в образце. Я тестирую на окнах 10. –

+0

Вы случайно попробовали событие EVT_WEBVIEW_ERROR для перенаправления на ваш веб-сервер при возникновении ошибки. – macroland

ответ

0

После поиска напрасно методов, которые могут быть использованы для настройки экземпляра IWebBrowser2, я решил полностью свалить двигатель Trident и удалось заставить wxWebViewChromium работать. Если кто-то сталкивается с чем-то похожим на это, им нужно знать, что текущая версия wxWebViewChromium не работает с последней версией CEF.

0

Примечание: не ответ, но комментарий/вопрос @ Джон 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 года, а API CEF изменился.

Вы хотите опубликовать здесь изменения, внесенные вами в wxWebViewChromium? спасибо

+0

Я не знал достаточно, чтобы заставить wxWebViewChromium работать с текущей сборкой cef. Вместо этого я нашел более старую версию, совместимую с: cef_binary_3.1180.823. –

Смежные вопросы