ScriptNotify-Ereignis

WebView.ScriptNotify Event

Tritt ein, wenn der Inhalt, der im WebView-Steuerelement enthalten ist, eine Zeichenfolge an die Anwendung weitergibt, indem er JavaScript verwendet.

Syntax


public event NotifyEventHandler ScriptNotify


<WebView ScriptNotify="eventhandler"/>


Ereignisinformationen

Delegat NotifyEventHandler

Hinweise

Eine gehostete HTML-Seite kann das ScriptNotify-Ereignis in der Windows Store-App auslösen, wenn die Seite window.external.notify aufruft und einen Zeichenfolgenparameter übergibt.

Hinweis  Da dieses Ereignis von externem Code ausgelöst wird, sollten Sie sorgfältig darauf achten, was Sie im Ereignishandler ablegen. Um zu verhindern, dass dieses Ereignis von bösartigen Skripts ausgenutzt wird, sollten Sie es nur für vertrauenswürdige URIs aktivieren, wie nachfolgen beschrieben.

Windows 8.1

Um zu ermöglichen, dass eine externe Webseite das ScriptNotify-Ereignis auslöst, wenn window.external.notify aufgerufen wird, müssen Sie den URI der Seite im Abschnitt ApplicationContentUriRules des App-Manifests einschließen. (Sie können dies in Visual Studio auf der Registerkarte der Inhalt-URI des Package.appxmanifest-Designers ausführen.) Die URIs in dieser Liste müssen HTTPS verwenden und können Unterdomänenplatzhalter (beispielsweise "https://*.microsoft.com"), jedoch keine Domänenplatzhalter (beispielsweise "https://*.com" und "https://*.*") enthalten. Die Manifestanforderung gilt nicht für Inhalte, die aus dem App-Paket stammen, die einen ms-local-stream://-URI verwenden oder mit NavigateToString geladen werden.

Hinweis  Wenn Sie mehr als eine Subdomäne besitzen, müssen Sie für jede einen Platzhalter verwenden. Beispielsweise stimmt "https://*.microsoft.com" mit "https://any.microsoft.com", jedoch nicht mit "https://this.any.microsoft.com" überein.

Diese Änderungen betreffen keine Apps, die für Windows 8 kompiliert werden, selbst wenn sie auf Windows 8.1 ausgeführt werden.

AllowedScriptNotifyUris, AnyScriptNotifyUri und AllowedScriptNotifyUrisProperty werden nicht in Apps unterstützt, die für Windows 8.1 kompiliert wurden.

Windows 8

Diese Hinweise gelten nur für die Apps, die für Windows 8 kompiliert werden, selbst wenn diese unter Windows 8.1 ausgeführt werden.

Wenn Inhalt in das WebView-Steuerelement mithilfe der NavigateMethode geladen wird, muss die Anwendung sich anmelden, um ScriptNotify-Ereignisse über die AllowedScriptNotifyUris-Eigenschaft zu empfangen. Die Eigenschaft enthält eine URI-Liste, die ScriptNotify auslösen können. Wenn der Inhalt mit NavigateToString geladen wird, empfängt die Anwendung ScriptNotify-Ereignisse ohne die Opt-In-Option. Legen Sie die Eigenschaft AllowedScriptNotifyUris auf den Wert fest, der von der AnyScriptNotifyUri-Eigenschaft zurückgegeben wird, um anzugeben, dass jede Seite ScriptNotify-Ereignisse an dieses WebView-Steuerelement übertragen kann.

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung des ScriptNotify-Ereignisses in Apps, die für Windows 8 kompiliert wurden. Ab Windows 8.1 werden die Zeilen, die sich auf AllowedScriptNotifyUris beziehen, weggelassen.


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.
}


Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Namespace

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

Metadaten

Windows.winmd

Siehe auch

WebView
AllowedScriptNotifyUris

 

 

Anzeigen:
© 2017 Microsoft