WebView.AddWebAllowedObject(String, Object) 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.
Aggiunge un oggetto Windows Runtime nativo come parametro globale al documento di primo livello all'interno di un controllo WebView.
public:
virtual void AddWebAllowedObject(Platform::String ^ name, Platform::Object ^ pObject) = AddWebAllowedObject;
void AddWebAllowedObject(winrt::hstring const& name, IInspectable const& pObject);
public void AddWebAllowedObject(string name, object pObject);
function addWebAllowedObject(name, pObject)
Public Sub AddWebAllowedObject (name As String, pObject As Object)
Parametri
Esempio
In questo esempio viene illustrato come decorare una classe con l'attributo AllowForWeb .
using Windows.Foundation.Metadata;
namespace MyRuntimeComponent
{
[AllowForWeb]
public sealed class MyNativeClass
{
public void NativeMethod()
{
...
}
...
}
}
In questo esempio viene illustrato l'utilizzo dell'evento NavigationStarting per inserire un oggetto all'inizio della navigazione.
<WebView x:Name="webView" Source="https://www.contoso.com/index.html"
NavigationStarting="webView_NavigationStarting"/>
private void webView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
if (args.Uri.Host == "www.contoso.com")
{
webView.AddWebAllowedObject("nativeObject", new MyNativeClass());
}
}
Ecco come accedere all'oggetto nativo in uno script nella pagina Web.
<script type='text/javascript'>
nativeObject.nativeMethod(); // Call the projected WinRT method.
</script>
Commenti
Utilizzare questo metodo per esporre un oggetto Windows Runtime nativo come parametro globale nel contesto del documento di primo livello all'interno di un controllo WebView. Affinché un oggetto Windows Runtime venga proiettato, deve essere agile e decorato con l'attributo AllowForWeb.
Nota
Per impostazione predefinita, le classi di runtime create con le estensioni del componente Microsoft Visual Basic, C# o Visual C++ (C++/CX) sono agile. Per altre informazioni, vedi Threading e marshalling e Uso di oggetti Windows Runtime in un ambiente multithreading.
L'oggetto passato in AddWebAllowedObject deve essere importato da un componente Windows Runtime separato dall'assembly dell'app. Ciò è necessario affinché l'attributo AllowForWeb sia identificato dalla proprietà del sottosistema di sicurezza WebView . Se usi una classe dal progetto dell'app, AddWebAllowedObject non funziona.
È necessario chiamare AddWebAllowedObject ogni volta che WebView viene spostato su una nuova pagina che accede all'oggetto nativo. È possibile utilizzare l'evento WebView.NavigationStarting per inserire l'oggetto all'inizio della navigazione.