WebView.AddWebAllowedObject(String, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt dem Dokument der obersten Ebene in einer WebView ein natives Windows-Runtime-Objekt als globalen Parameter hinzu.
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)
Parameter
- name
-
String
Platform::String
winrt::hstring
Der Name des Objekts, das für das Dokument in der WebView verfügbar gemacht werden soll.
- pObject
-
Object
Platform::Object
IInspectable
Das Objekt, das für das Dokument in der WebView verfügbar gemacht werden soll.
Beispiele
In diesem Beispiel wird gezeigt, wie eine Klasse mit dem AllowForWeb-Attribut dekoriert wird.
using Windows.Foundation.Metadata;
namespace MyRuntimeComponent
{
[AllowForWeb]
public sealed class MyNativeClass
{
public void NativeMethod()
{
...
}
...
}
}
Dieses Beispiel veranschaulicht die Verwendung des NavigationStarting-Ereignisses zum Einfügen eines Objekts, wenn die Navigation beginnt.
<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());
}
}
Hier erfahren Sie, wie Sie in einem Skript auf der Webseite auf das native Objekt zugreifen.
<script type='text/javascript'>
nativeObject.nativeMethod(); // Call the projected WinRT method.
</script>
Hinweise
Verwenden Sie diese Methode, um ein natives Windows-Runtime-Objekt als globalen Parameter im Kontext des Dokuments der obersten Ebene in einer WebView verfügbar zu machen. Damit ein Windows-Runtime -Objekt projiziert werden kann, muss es agil sein und mit dem AllowForWeb-Attribut versehen sein.
Hinweis
Laufzeitklassen, die mit Microsoft Visual Basic-, C#- oder Visual C++-Komponentenerweiterungen (C++/CX) erstellt wurden, sind standardmäßig agil. Weitere Informationen finden Sie unter Threading and Marshaling und Using Windows-Runtime-Objekte in einer Multithreadumgebung.
Das an AddWebAllowedObject übergebene Objekt muss aus einer Windows-Runtime Komponente importiert werden, die von der App-Assembly getrennt ist. Dies ist erforderlich, damit das AllowForWeb-Attribut eine Eigenschaft ist, die vom WebView-Sicherheitssubsystem identifiziert wird. Wenn Sie eine Klasse aus Ihrem App-Projekt verwenden, funktioniert AddWebAllowedObject nicht.
Sie müssen AddWebAllowedObject jedes Mal aufrufen, wenn WebView zu einer neuen Seite navigiert wird, die auf das native Objekt zugreift. Sie können das WebView.NavigationStarting-Ereignis verwenden, um das Objekt einzuschleusen, wenn die Navigation beginnt.