Compartir vía


Alertas de JavaScript de WebView en Windows

Esta característica específica de la plataforma permite a WebView mostrar alertas de JavaScript en un cuadro de diálogo de mensajes de UWP. Se consume en XAML configurando la propiedad adjunta WebView.IsJavaScriptAlertEnabled en un valor boolean:

<ContentPage ...
             xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        <WebView ... windows:WebView.IsJavaScriptAlertEnabled="true" />
        ...
    </StackLayout>
</ContentPage>

Como alternativa, se puede consumir desde C# mediante la API fluida:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...

var webView = new Xamarin.Forms.WebView
{
  Source = new HtmlWebViewSource
  {
    Html = @"<html><body><button onclick=""window.alert('Hello World from JavaScript');"">Click Me</button></body></html>"
  }
};
webView.On<Windows>().SetIsJavaScriptAlertEnabled(true);

El método WebView.On<Windows> especifica que esta característica especifica de la plataforma solo se ejecutará en la Plataforma universal de Windows. El método WebView.SetIsJavaScriptAlertEnabled, del espacio de nombres Xamarin.Forms.PlatformConfiguration.WindowsSpecific, se usa para controlar si las alertas de JavaScript están habilitadas. Además, el método WebView.SetIsJavaScriptAlertEnabled se puede usar para alternar las alertas de JavaScript llamando al método IsJavaScriptAlertEnabled para devolver información sobre si están habilitados:

_webView.On<Windows>().SetIsJavaScriptAlertEnabled(!_webView.On<Windows>().IsJavaScriptAlertEnabled());

El resultado es que las alertas de JavaScript se puedan mostrar en un cuadro de diálogo de mensaje de UWP:

Alerta de JavaScript de WebView específica de la plataforma