2017-02-15 3 views
-1

Ich schreibe eine Windows-Anwendung, die ein wxWebView (Trident) verwendet, um Seiten anzuzeigen, die von einem internen Server bereitgestellt werden, der an die Schnittstelle localhost auf einem ephemeren Port bindet. Ich bin auf ein Problem gestoßen, bei dem die wxWebView-Instanz die Seite lädt, wenn der Host-Computer keine aktiven externen IP-Schnittstellen aktiviert hat (z. B. ein Laptop im Flugzeugmodus) und ein Seitenladefehlerereignis mit einer Zeichenfolge von "INET_E_DOWNLOAD_FAILURE". Wenn dies passiert, kann ich einen externen Browser (einschließlich Internet Explorer) die Seite von meinem Webserver laden, damit ich weiß, dass die Loopback-Schnittstelle (n) funktioniert. Gibt es eine Möglichkeit, die wxWebView-Instanz so zu konfigurieren, dass sie die Seite lädt?wxWebView schlägt das Laden von Seiten ohne Internetverbindung fehl

Als ich dies in der Webansicht Beispielanwendung versuche, kann ich folgendes im Log-Fenster sehen:

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

können Sie es reproduzieren das Webview-Beispiel? Welche Version der Bibliothek verwenden Sie? Welcher Compiler? An welchem ​​Betriebssystem testeest du es? – Igor

+0

@Igor Ich verwende WxWidgets 3.1.0 mit Visual Studio 2015. Ich sehe das gleiche Verhalten in der Probe. Ich teste auf Windows 10. –

+0

Haben Sie zufällig 'EVT_WEBVIEW_ERROR' Ereignis versucht, um auf Ihren Webserver umleiten, wenn der Fehler auftritt. – macroland

Antwort

0

Nach vergeblich nach Methoden suchen, die verwendet werden könnten, die IWebBrowser2 Instanz zu konfigurieren, habe ich beschlossen, um die Trident-Engine komplett zu entladen und wxWebViewChromium zum Laufen zu bringen. Wenn jemand mit einer ähnlichen Situation konfrontiert wird, muss er wissen, dass die aktuelle Version von wxWebViewChromium nicht mit der neuesten Version von CEF zu funktionieren scheint.

0

Hinweis: keine Antwort, sondern ein Kommentar/Frage zu @ Jon Trauntvein, weil ich nicht genug Ruf zu kommentieren haben Sie

ich auch beschlossen, die wxWebView IE-Engine fallen zu lassen, weil es nicht Google Maps nicht machen Polygone.

hier diskutiert, wenn Sie

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

so wissen wollen, ich

https://github.com/sjlamerton/wxWebViewChromium

einen aktuellen CEF build

https://bitbucket.org/chromiumembedded/cef

in wxWebViewChromium aufzubauen versuche

aber dieses Projekt ist 4 Jahre alt und die CEF API wurde geändert.

Möchten Sie hier die Änderungen an wxWebViewChromium posten? danke

+0

Ich wusste nicht genug, um wxWebViewChromium mit dem aktuellen Build von Cef zu arbeiten. Stattdessen habe ich eine ältere Version gefunden, die kompatibel ist: cef_binary_3.1180.823. –

Verwandte Themen