WebView.AddWebAllowedObject(String, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
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)
Параметры
Примеры
В этом примере показано, как украсить класс атрибутом AllowForWeb .
using Windows.Foundation.Metadata;
namespace MyRuntimeComponent
{
[AllowForWeb]
public sealed class MyNativeClass
{
public void NativeMethod()
{
...
}
...
}
}
В этом примере демонстрируется использование события NavigationStarting для внедрения объекта при начале навигации.
<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());
}
}
Вот как получить доступ к собственному объекту в скрипте на веб-странице.
<script type='text/javascript'>
nativeObject.nativeMethod(); // Call the projected WinRT method.
</script>
Комментарии
Используйте этот метод для предоставления собственного объекта среда выполнения Windows в качестве глобального параметра в контексте документа верхнего уровня в WebView. Чтобы объект среда выполнения Windows проецировался, он должен быть гибким и украшен атрибутом AllowForWeb.
Примечание
Классы среды выполнения, созданные с помощью расширений компонентов Microsoft Visual Basic, C# или Visual C++ (C++/CX), по умолчанию являются гибкими. Дополнительные сведения см. в разделах Потоки и маршалинг и Использование объектов среда выполнения Windows в многопоточной среде.
Объект, передаваемый в AddWebAllowedObject, должен быть импортирован из компонента среда выполнения Windows, который отделен от сборки приложения. Это необходимо, чтобы атрибут AllowForWeb был свойством, определяемым подсистемой безопасности WebView . Если вы используете класс из проекта приложения, AddWebAllowedObject не работает.
Необходимо вызывать AddWebAllowedObject при каждом переходе WebView на новую страницу, которая обращается к собственному объекту. Событие WebView.NavigationStarting можно использовать для внедрения объекта при начале навигации.