【问题标题】:WebView Local Html And Canvas?WebView 本地 Html 和 Canvas?
【发布时间】:2018-09-25 07:00:02
【问题描述】:

至于实验,我在玩弄 WebView 组件并在本地 HTML 文件中加载。现在我想弄清楚的是,我的本地 HTML 文件中有一个画布元素,我正在画布中渲染一个游戏。如何将我的 React-Native 代码与本地 HTML 的画布脚本通信?我已经搜索了如何与 HTML webview 代码和 react-native 进行通信,他们说 WebView 有一个名为 injectionJavaScript 的道具,它需要一串代码才能执行到 webview。在此处查看文档。 https://facebook.github.io/react-native/docs/webview

但是在这种情况下,我将如何仅使用injectJavaScript 属性处理来自画布代码的游戏?还有另一种方法可以让我的 react-native 代码和本地 HTML/JS webview 代码之间进行通信???

旁注也检查这个网站,这也增强了我对我想要什么的解释。虽然我仍然不确定如何使用字符串化的 js 代码正确地完成我的游戏/画布代码...... https://www.undefinednull.com/2015/12/27/injecting-custom-javascript-into-react-natives-webview/

你们的任何答案现在对我来说都太有价值了,我已经尝试了一个星期来解决这个问题......

【问题讨论】:

    标签: javascript android react-native webview


    【解决方案1】:

    对于Android 中的 Java 或 Kotlin 代码与 WebView 中的 Javascript 之间的通信,唯一的方法是通过注解 @JavascriptInterface,它基本上为 JavaScript 代码提供了定义的方法。

    您还可以从您的 Java / Kotlin 代码中调用 Javascript 中定义的函数。但是,我建议您将这些函数绑定到window。所以你在 JS 中有一个函数,比如:window.test()

    Android 文档中还有this great Article,它解释了如何实现这一点。

    【讨论】:

    • 嘿!感谢您的回复,我暂时将其标记为最有用。我对 Kotlin 不太熟悉,但我肯定会检查它以及 JavascriptInterfaces。我一定会更新你的!
    • 非常感谢!如果您在某些时候不清楚 Android 文档,或者您在理解某些方面有困难,请问我,我希望能够帮助您:)
    猜你喜欢
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 2012-08-28
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 2022-06-25
    • 1970-01-01
    相关资源
    最近更新 更多