Bagikan melalui


WebView.ScriptNotify Kejadian

Definisi

Terjadi ketika konten yang terkandung dalam kontrol WebView meneruskan string ke aplikasi dengan menggunakan 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"/>

Jenis Acara

Contoh

Contoh kode berikut menunjukkan penggunaan peristiwa ScriptNotify di aplikasi yang dikompilasi untuk Windows 8. Dimulai dengan Windows 8.1, hilangkan baris yang terkait dengan 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.
}

Keterangan

Halaman HTML yang dihosting dapat mengaktifkan peristiwa ScriptNotify di aplikasi UWP Anda saat halaman memanggil window.external.notify dan meneruskan parameter string.

Catatan

Karena kejadian ini dimulai oleh kode eksternal, Anda harus berhati-hati dengan apa yang Anda masukkan ke dalam penanganan aktivitas. Untuk mencegah skrip berbahaya mengeksploitasi peristiwa ini, pastikan untuk mengaktifkannya hanya untuk URI tepercaya, seperti yang dijelaskan di bawah ini.

Windows 8.1

Untuk mengaktifkan halaman web eksternal untuk mengaktifkan peristiwa ScriptNotify saat memanggil window.external.notify, Anda harus menyertakan URI halaman di bagian ApplicationContentUriRules dari manifes aplikasi. (Anda dapat melakukan ini di Visual Studio pada tab URI Konten dari perancang Package.appxmanifest .) URI dalam daftar ini harus menggunakan HTTPS dan mungkin berisi kartubebas subdomain (misalnya, "https://.microsoft.com"), tetapi tidak dapat berisi kartubebas domain (misalnya, "https://.com" dan "https://."). Persyaratan manifes tidak berlaku untuk konten yang berasal dari paket aplikasi, menggunakan URI ms-local-stream://, atau dimuat menggunakan NavigateToString.

Catatan

Jika Anda memiliki lebih dari satu subdomain, Anda harus menggunakan satu wildcard untuk setiap subdomain. Misalnya, "https://*.microsoft.com" cocok dengan "https:// any.microsoft.com" tetapi tidak dengan "https:// this. any.microsoft.com."

Perubahan ini tidak memengaruhi aplikasi yang dikompilasi untuk Windows 8, bahkan saat berjalan di Windows 8.1.

AllowedScriptNotifyUris, AnyScriptNotifyUri, dan AllowedScriptNotifyUrisProperty tidak didukung dalam aplikasi yang dikompilasi untuk Windows 8.1.

Windows 8

Keterangan ini hanya berlaku untuk aplikasi yang dikompilasi untuk Windows 8, bahkan saat berjalan di Windows 8.1.

Jika konten dimuat ke dalam kontrol WebView menggunakan metode Navigasi , aplikasi harus ikut serta untuk menerima peristiwa ScriptNotify dengan menggunakan properti AllowedScriptNotifyUris , yang memiliki daftar URI yang dapat mengaktifkan ScriptNotify. Jika konten dimuat menggunakan NavigateToString, aplikasi akan menerima peristiwa ScriptNotify tanpa keikutsertaan. Atur properti AllowedScriptNotifyUris ke nilai yang dikembalikan oleh properti AnyScriptNotifyUri untuk menunjukkan bahwa halaman apa pun dapat mengaktifkan peristiwa ScriptNotify ke kontrol WebView ini.

Berlaku untuk

Lihat juga