Partager via


WebView.ScriptNotify Événement

Définition

Se produit lorsque le contenu contenu dans le contrôle WebView transmet une chaîne à l’application à l’aide de JavaScript.

public:
 virtual event NotifyEventHandler ^ ScriptNotify;
// Register
event_token ScriptNotify(NotifyEventHandler const& handler) const;

// Revoke with event_token
void ScriptNotify(event_token const* cookie) const;

// Revoke with event_revoker
WebView::ScriptNotify_revoker ScriptNotify(auto_revoke_t, NotifyEventHandler const& handler) const;
public event NotifyEventHandler ScriptNotify;
function onScriptNotify(eventArgs) { /* Your code */ }
webView.addEventListener("scriptnotify", onScriptNotify);
webView.removeEventListener("scriptnotify", onScriptNotify);
- or -
webView.onscriptnotify = onScriptNotify;
Public Custom Event ScriptNotify As NotifyEventHandler 
<WebView ScriptNotify="eventhandler"/>

Type d'événement

Exemples

L’exemple de code suivant illustre l’utilisation de l’événement ScriptNotify dans les applications compilées pour Windows 8. À compter de Windows 8.1, omettez les lignes associées à 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.
}

Remarques

Une page HTML hébergée peut déclencher l’événement ScriptNotify dans votre application UWP lorsque la page appelle window.external.notify et transmet un paramètre de chaîne.

Notes

Étant donné que cet événement est initié par du code externe, vous devez faire attention à ce que vous placez dans le gestionnaire d’événements. Pour empêcher les scripts malveillants d’exploiter cet événement, veillez à l’activer uniquement pour les URI approuvés, comme décrit ci-dessous.

Windows 8.1

Pour permettre à une page web externe de déclencher l’événement ScriptNotify lors de l’appel de window.external.notify, vous devez inclure l’URI de la page dans la section ApplicationContentUriRules du manifeste de l’application. (Vous pouvez le faire dans Visual Studio sous l’onglet URI de contenu du concepteur Package.appxmanifest .) Les URI de cette liste doivent utiliser HTTPS et peuvent contenir des caractères génériques de sous-domaine (par exemple, « https://.microsoft.com »), mais ils ne peuvent pas contenir de caractères génériques de domaine (par exemple, « https://.com » et « https://. »). La configuration requise pour le manifeste ne s’applique pas au contenu qui provient du package d’application, qui utilise un URI ms-local-stream:// ou qui est chargé à l’aide de NavigateToString.

Notes

Si vous avez plusieurs sous-domaines, vous devez utiliser un caractère générique pour chaque sous-domaine. Par exemple, « https://*.microsoft.com » correspond à « https:// any.microsoft.com » mais pas à « https:// cette. any.microsoft.com. »

Ces modifications n’affectent pas les applications compilées pour Windows 8, même lorsqu’elles s’exécutent sur Windows 8.1.

AllowedScriptNotifyUris, AnyScriptNotifyUri et AllowedScriptNotifyUrisProperty ne sont pas pris en charge dans les applications compilées pour Windows 8.1.

Windows 8

Ces remarques s’appliquent uniquement aux applications compilées pour Windows 8, même en cas d’exécution sur Windows 8.1.

Si du contenu est chargé dans le contrôle WebView à l’aide de la méthode Navigate , l’application doit accepter de recevoir des événements ScriptNotify à l’aide de la propriété AllowedScriptNotifyUris , qui contient la liste des URI pouvant déclencher ScriptNotify. Si le contenu est chargé à l’aide de NavigateToString, l’application reçoit des événements ScriptNotify sans l’adhésion. Définissez la propriété AllowedScriptNotifyUris sur la valeur retournée par la propriété AnyScriptNotifyUri pour indiquer que n’importe quelle page peut déclencher des événements ScriptNotify sur ce contrôle WebView .

S’applique à

Voir aussi