【问题标题】:pass string from C# to Javascript with Phonegap and Windows Phone 8使用 Phonegap 和 Windows Phone 8 将字符串从 C# 传递到 Javascript
【发布时间】:2014-12-18 16:13:08
【问题描述】:

在开发插件时,如何将我的 C# 函数的结果获取到我的 javascript。

例如在 official cordova doc 中使用 echo 插件

当我将结果从 C# 传递给 Javascript 调用时

DispatchCommandResult(new PluginResult(PluginResult.Status.OK, "{result:\"super awesome!\"}"));

请问我怎样才能在我的 javascript 代码中得到结果(我怎样才能得到:“超级棒”)?

【问题讨论】:

  • 那么你想将一个变量从 C# 传递给 JavaScript 吗?

标签: javascript cordova windows-phone-8


【解决方案1】:

当您从C# 发送状态为OK 的插件结果时,将调用win 回调,并将结果与​​此相关联。

例如,您的 javascript 插件从 javascript 调用:

cordova.exec(win, fail, "Echo", "echo", ["input string"]);

所以你必须创建一个会得到结果的 win 函数:

function win(result) {
    alert(result);
}

【讨论】:

    【解决方案2】:

    你可以直接写字符串:

    <script> var JavascriptBlah = '<%=yourString%>'</script>
    

    或者使用InvokeScript方法调用函数来设置字符串:

    webBrowser.InvokeScript("yourStringSetter", "yourString");
    

    demo of a simple setter in js

    source for the first solution

    【讨论】:

    • 请您编辑它并提供一个带有 echo 插件的示例?
    • 我不知道 echo 插件是如何工作的。我问你是否想传递一个字符串,因为我知道该怎么做。我使用第二种解决方案。如果您可以执行 c#,并且您已将应用程序包装在网络浏览器中,您也可以这样做。
    • 我可以使用 Phonegap 执行 C# 方法,并通过 javascript 调用它(包装它)。然后我想将我获得的变量传递给这个方法给 JS。这是可能的,但在这里解释得不是很好:docs.phonegap.com/en/3.5.0/….
    • 这里是github的完整示例
    • 这是在您的 JS 中调用的代码行:cordova.exec(win, fail, "Echo", "echo", ["input string"]);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 2015-10-10
    • 2013-12-15
    相关资源
    最近更新 更多