necesito tu ayuda.
Uso el navegador web en mis aplicaciones Delphi para mostrar el mapa. Por razones desconocidas, dejó de funcionar en todas mis aplicaciones desde ayer. Todas mis aplicaciones funcionaron sin problemas durante años.
Código de ejemplo en delphi:
WebBrowser1.silent := true; WebBrowser1.Navigate('c:\temp\test.html');
Contenido de ejemplo de test.html:
<!doctype html> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <html> <head> <script src="https://api.mapy.cz/loader.js"></script> <script>Loader.load()</script> </head> <body style="margin: 0px;"> <div id="mapa" style="width:1900px; height:1160px;"></div> <script type="text/javascript"> var stred = SMap.Coords.fromJTSK(1077766.44,675681.75); var mapa = new SMap(JAK.gel("mapa"), stred, 19); mapa.addDefaultLayer(SMap.DEF_BASE).enable(); </script> </body> </html>
Intenté iniciar mis aplicaciones Delphi en diferentes computadoras con el mismo resultado: no funciona en ninguna computadora, no se muestra la página web de prueba.
Intenté crear una nueva aplicación de prueba en Delphi 10.4 CE y también en Turbo Delphi 2006, en ambos casos el mismo resultado: test.html no se muestra en webbroser. Puedo abrir otras páginas web en el navegador web, por ejemplo, google.cz.
Así que me parece que el problema puede ser con el contenido test.html, pero es posible abrir el mismo archivo html en navegadores como MS Edge, Opera, etc. desde la misma computadora sin ningún problema...
Ahora estoy un poco perdido, porque no soy un gran experto, agradecería que me aconsejaran cómo puedo resolver este problema.
Gracias
La razón por la cual el mapa mencionado ya no se muestra en TWebBrowser es el hecho de que TWebBrowser es solo un envoltorio para Internet Explorer. Y dado que con la última actualización del soporte del software de mapas para Internet Explorer 11 (última versión de IE disponible) se eliminó, significa que TWebBrowser ya no es capaz de mostrar dicho mapa correctamente.
Puede leer más en el registro de cambios de Map API aquí
Por lo tanto, me temo que tendrá que reemplazar el componente TWebBrowser en sus aplicaciones con TEdgeBrowser, que está disponible en Delphi 10.4 o posterior, o utilizar CEF4Delphi, que es un componente Delphi de código abierto para navegadores basados en cromo.
Puede leer más sobre TEdgeBrowser y cómo configurarlo en la documentación de Delphi