【问题标题】:Is there an equivalent of addJavascriptInterface() from Android in Windows 8?Windows 8 中的 Android 是否有相当于 addJavascriptInterface() 的功能?
【发布时间】:2012-12-21 05:55:49
【问题描述】:

我的公司使用内置于 WebViews 中的 Android 应用,并带有一些可通过 JavaScript 界面访问的原生代码。

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    功能不完全相同,但有一种机制可以在 WebView 中从 JavaScript 到 C# 来回通信。

    另外请记住,HTML 5/JavaScript 是 Windows 8 的本机开发选项,因此您的代码可能根本不需要在 WebView 中运行。您可以将应用程序移植到 HTML5/JS 目标,然后与其他确实可以用 C# 编写的 Windows 运行时组件进行交互。

    也就是说,对于 WebView,它将托管在 C#/XAML 应用程序中并托管 HTML/JS(如在 Android 中):

    InvokeScript 将允许您在当前加载的 WebView 文档中从 C# 调用 JavaScript 方法

    在您的 C# 代码中,您可以侦听 ScriptNotify 事件以响应通过 windows.external.notify 传递的有效负载。

    这两者都是XAML Web View Control example 的一部分,并且可以构成类似于 Android 功能的基础。

    【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2012-06-18
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 2011-09-22
      • 2010-09-23
      • 2014-04-02
      • 2023-03-31
      • 1970-01-01
      相关资源
      最近更新 更多