Tengo un archivo HTML simple:
<html> <head> <script async src="https://URL"></script> </head> <body> <div class="class-name"></div> </body> </html> Cuando accedo a él con un navegador usando Windows: C:\foo.html?q=query , el archivo se carga correctamente.
Cuando accedo al mismo archivo, lo he agregado a mi proyecto de Android en el directorio de Assets , con una vista Custom WebView y un renderizador Custom Renderer en mi proyecto Xamarin.Forms como este: myCustomWebview.Uri = "foo.html" + "?q=" + queryString; Javascript no puede completar el div en el body correctamente. El mismo problema existe si cargo el archivo sin una cadena de consulta: myCustomWebview.Uri = "foo.html";
¿Cual es el trato? ¿Necesito establecer algún Permissions especial en AndroidManifest.xml para que Javascript funcione correctamente? ¿Necesito configurar una BuildAction específica en las propiedades del archivo HTML en mi proyecto de Android? ¿Necesito hacer algo más?
Coloque el archivo html en el directorio Assets con la acción de compilación AndroidAsset .
Utilice DependencyService para establecer la ruta exacta.
[assembly: Dependency (typeof(BaseUrl_Android))] namespace WorkingWithWebview.Android { public class BaseUrl_Android : IBaseUrl { public string Get() { return "file:///android_asset/"; } } } Establezca BaseUrl en HtmlWebViewSource y páselo a WebView.Source .
var source = new HtmlWebViewSource(); source.BaseUrl = DependencyService.Get<IBaseUrl>().Get(); webView.Source = source .Referirse a