javascript - 从 Windows 运行时组件触发 WebView 内的 javascript 事件
问题描述
我正在寻找一种方法来从 C# 代码中触发 javascript 中的自定义事件,该 C# 代码是在具有AllowForWeb
属性的 Windows 运行时组件中编写的。我知道像这样的另一种方式(触发从javascript到C#的事件)
public delegate void NotifyAppHandler( string str );
[AllowForWeb]
public sealed class WebViewInjectionObject
{
public event NotifyAppHandler OnNotifyApp;
public void NotifyApp( string str )
{
OnNotifyApp?.Invoke( str );
}
}
然后,您可以在 C# 中订阅该事件并像这样从 javascript 触发它
nativeObject.notifyApp(JSON.stringify(callInfo));
哪里nativeObject
被注入了WebView
withAddWebAllowedObject
现在我正在寻找相反的解决方案。我想在 javascript 中创建一个事件,并再次使用来自 Windows 运行时组件的注入对象从 C# 触发它。您可以假设我可以控制将在其中运行的 javascript 代码,WebView
并且可以在需要时进行更改。
注意:由于这个问题我不能使用/不想使用,所以需要做这个非常非正统的事情InvokeScriptAsync
解决方案
推荐阅读
- java - 动态 Web 项目 (Eclipse) 中的 java.lang.UnsupportedClassVersionError
- r - 在R中的多个特定单词之间提取一串单词
- android - 加密内容的文件共享
- laravel - 在查询中使用 groupBy() 时如何在刀片视图中显示 Laravel 关系数据
- python - 未能获得正整数
- cocoa - 光标奇怪的行为:重置为默认值
- json.net - SwaggerUI 5.0.0 忽略 JsonProperty 名称
- python - 在 Ubuntu 16.04 Python 3.7 中,这些要求无法为 Odoo 13 安装
- python - 如何使用 Python 将 Web 服务的非常大的 JSON 响应转换为 CSV?
- android - 如何在游戏结束屏幕上显示最终分数和高分?