我的公司使用在WebViews中构建的Android应用程序,其中包含一些可通过JavaScript界面访问的本机代码。
webView.addJavascriptInterface(new JavaScriptInterface(this), "jsInt");
可以通过WebView中的JavaScript访问类JavaScriptInterface的成员。
<script> jsInt.nativeMethodCall(); </script>
我想知道Windows 8是否具有相同的功能。如果是这样,有人能指出我正确的方向吗?
答案 0 :(得分:2)
不完全相同的功能,但有一种机制可以在WebView中从JavaScript到C#进行来回通信。
另请注意,HTML 5 / JavaScript是Windows 8的本机开发选项,因此您的代码可能根本不需要在WebView中运行。您可以将应用程序移植到HTML5 / JS目标,然后与其他Windows运行时组件进行交互,这些组件确实可以用C#编写。
也就是说,对于WebView,它将托管在C#/ XAML应用程序中并托管HTML / JS(如在Android中):
InvokeScript将允许您在当前加载的WebView文档中从C#调用JavaScript方法
在您的C#代码中,您可以监听ScriptNotify个事件,以响应通过windows.external.notify传递的有效负载。
这两者都是XAML Web View Control example的一部分,可能会形成更像Android功能的基础。
答案 1 :(得分:0)