WebViewControl.AddInitializeScript(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ContentLoading の直後、ページ上で他のスクリプトが実行される前に、スクリプトを WebViewControl に挿入します。
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)
パラメーター
- script
-
String
Platform::String
winrt::hstring
実装
M:Windows.Web.UI.IWebViewControl2.AddInitializeScript(System.String)
M:Windows.Web.UI.IWebViewControl2.AddInitializeScript(Platform::String)
M:Windows.Web.UI.IWebViewControl2.AddInitializeScript(winrt::hstring)
Windows の要件
デバイス ファミリ |
Windows 10, version 1809 (10.0.17763.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v7.0 で導入)
|
例
次のコードは、ページ読み込み時のスクリプト挿入の C# サンプルです。
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"));
InvokeScriptAsync を使用すると、アプリは WebViewControl にスクリプトを挿入して、追加の機能を提供したり、ページを変更したりできます。 ただし、InvokeScriptAsync には、スクリプトがいつ実行されるかについての保証はなく、 DOMContentLoaded が発生する前にアプリで呼び出された場合、スクリプトが前のページに挿入されるリスクがあります。 この例では、ページ内のスクリプトが実行される前に実行されるナビゲーション (または NavigationStarting 中) の前に、アプリでスクリプトを提供する方法を提供します。