WebView.ScriptNotify Event

Se produce cuando el contenido del control WebView pasa una cadena a la aplicación mediante JavaScript.

Sintaxis


public event NotifyEventHandler ScriptNotify


<WebView ScriptNotify="eventhandler"/>


Información de eventos

Delegado NotifyEventHandler

Comentarios

Una página HTML hospedada puede provocar el evento ScriptNotify en su aplicación de la Tienda Windows cuando la página llama a window.external.notify y pasa un parámetro de cadena.

Nota  Puesto que este evento se activa mediante código externo, debe tener cuidado sobre lo que se coloca en el controlador de eventos. Para evitar que los scripts malintencionados aprovechen este evento, asegúrese de habilitarlo solo para los URI de confianza, como se describe a continuación.

Windows 8.1

Para permitir que una página web externa genere el evento ScriptNotify al llamar a window.external.notify, debe incluir el URI de la página en la sección ApplicationContentUriRules del manifiesto de la aplicación. (Puede hacerlo en Visual Studio en la pestaña URI de contenido del diseñador Package.appxmanifest). Los URI de esta lista deben emplear HTTPS y pueden contener comodines de subdominio (por ejemplo, "https://*.microsoft.com"), pero no pueden contener comodines de dominio (por ejemplo, "https://*.com" y "https://*.*"). El requisito de manifiesto no se aplica al contenido que procede del paquete de la aplicación, utiliza un URI ms-local-stream:// o se carga mediante NavigateToString.

Nota  Si tiene más de un subdominio, debe utilizar un comodín para cada uno de ellos. Por ejemplo, "https://*.microsoft.com" coincide con "https://any.microsoft.com" pero no con “https://this.any.microsoft.com."

Estos cambios no afectan a las aplicaciones compiladas para Windows 8, incluso cuando se ejecutan en Windows 8.1.

AllowedScriptNotifyUris, AnyScriptNotifyUri y AllowedScriptNotifyUrisProperty no son compatibles con las aplicaciones compiladas para Windows 8.1.

Windows 8

Estas notas solo se aplican a las aplicaciones compiladas para Windows 8, incluso cuando se ejecutan en Windows 8.1.

Si se carga contenido en el control WebView utilizando el método Navigate, la aplicación debe optar por recibir eventos ScriptNotify mediante la propiedad AllowedScriptNotifyUris, que tiene la lista de URI que pueden desencadenar el evento ScriptNotify. Si el contenido se carga mediante el método NavigateToString, la aplicación recibirá eventos ScriptNotify sin necesidad de participación. Establezca la propiedad AllowedScriptNotifyUris en el valor devuelto por la propiedad AnyScriptNotifyUri para indicar que cualquier página puede desencadenar eventos ScriptNotify en este control WebView.

Ejemplos

El ejemplo de código siguiente muestra el uso del evento ScriptNotify en aplicaciones compiladas para Windows 8. A partir de Windows 8.1, omita las líneas relacionadas con AllowedScriptNotifyUris.


public MyPage()
{
    this.InitializeComponent();
    MyWebView.ScriptNotify += MyWebView_ScriptNotify;

    // Here we have to set the AllowedScriptNotifyUri property because we are 
    // navigating to some site where we don't own the content and we want to 
    // allow window.external.notify() to pass data back to the app.
    List<Uri> allowedUris = new List<Uri>();
    allowedUris.Add(new Uri("http://www.bing.com"));
    MyWebView.AllowedScriptNotifyUris = allowedUris;
}

void MyWebView_ScriptNotify(object sender, NotifyEventArgs e)
{
    // Respond to the script notification.
}


Requisitos

Cliente mínimo admitido

Windows 8

Servidor mínimo admitido

Windows Server 2012

Espacio de nombres

Windows.UI.Xaml.Controls
Windows::UI::Xaml::Controls [C++]

Metadatos

Windows.winmd

Vea también

WebView
AllowedScriptNotifyUris

 

 

Mostrar:
© 2014 Microsoft