WebViewControl.AddInitializeScript(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inserisce uno script in un controllo WebViewControl subito dopo ContentLoading , ma prima dell'esecuzione di qualsiasi altro script nella pagina.
public:
virtual void AddInitializeScript(Platform::String ^ script) = AddInitializeScript;
void AddInitializeScript(winrt::hstring const& script);
public void AddInitializeScript(string script);
function addInitializeScript(script)
Public Sub AddInitializeScript (script As String)
Parametri
- script
-
String
Platform::String
winrt::hstring
Implementazioni
Requisiti Windows
Famiglia di dispositivi |
Windows 10, version 1809 (è stato introdotto in 10.0.17763.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v7.0)
|
Esempio
Il codice seguente è un esempio C# di inserimento di script nel caricamento della pagina:
WebViewControl webViewControl;
// Replace the window.external with a custom object that does postMessage. The app
// script uses ScriptNotify and InvokeScriptAsync to implement PostMessage and invoke
// a messageReceived handler.
String script = @"var realExternal = window.external;
var customExternal = {
postMessage: (message) => { realExternal.notify('PostMessage: ' + message); },
messageReceived: null,
};
window.external = customExternal;";
void ScriptNotifyCallback(WebViewControl sender, WebViewControlScriptNotifyEventArgs args)
{
String response = GetResponseForPostFromWebView(args.value);
sender.InvokeScriptAsync("eval", $"window.external.messageReceived({response});");
}
webViewControl.ScriptNotify += ScriptNotifyCallback;
webViewControl.AddInitializeScript(script);
webViewControl.Navigate(new Uri("http://mydomain.com"));
Usando InvokeScriptAsync, un'app può inserire script in un Controllo WebView per fornire funzionalità aggiuntive o modificare la pagina. Tuttavia, InvokeScriptAsync non garantisce quando viene eseguito lo script e, se l'app lo chiama prima che VENGA generato DOMContentLoaded , esiste il rischio che lo script venga inserito nella pagina precedente. Questo esempio consente all'app di fornire uno script prima della navigazione (o durante NavigationStarting) che verrà eseguito prima dell'esecuzione di qualsiasi script nella pagina.