在Windows 8中是否有来自Android的addJavascriptInterface()?

时间:2012-12-20 16:05:14

标签: android windows windows-8 webview internet-explorer-10

我的公司使用在WebViews中构建的Android应用程序,其中包含一些可通过JavaScript界面​​访问的本机代码。

webView.addJavascriptInterface(new JavaScriptInterface(this), "jsInt");

可以通过WebView中的JavaScript访问类JavaScriptInterface的成员。

<script> jsInt.nativeMethodCall(); </script>

我想知道Windows 8是否具有相同的功能。如果是这样,有人能指出我正确的方向吗?

2 个答案:

答案 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)