jes*_*ndk 5 javascript react-native
任何人都知道如何(如果可能的话)在React Native中的WebView中执行JS?
场景:我在WebView中显示了这个远程登录页面(网站),并且该网站具有与用户活动相对应的一系列事件.所有事件都会触发一个回调,每个回调都是WebView必须监听的(不是问题).
在每个回调中都有一个JavaScript函数的引用,必须在WebView中调用(这就是问题!).
所以从我的React Native应用程序中,我需要调用这个JavaScript函数,它放在我的WebView中加载的网站页面(源代码)上.
我拥有的东西:我用它监听回调onShouldStartLoadWithRequest
并操纵WebView的行为,它运行得很好.
关于JavaScript的执行,我尝试了这种方法,getWebViewHandle
但是没有这样做,至少不是我的座位.
我也查看了injectedJavaScript
属性,但问题是我不知道在回调被触发之前要执行什么JavaScript.
谁知道如何解决这个问题?
2018 年 11 月更新
网页视图组件现在支持injectJavaScript和injectedJavaScript道具。
例子:
<WebView
source={{ uri: 'https://github.com/facebook/react-native' }}
injectedJavaScript="window.alert('first message')"
injectJavaScript={() => {
return "window.alert('second message')";
}}
/>
Run Code Online (Sandbox Code Playgroud)
原答案
使用 iOS 和 Android 本机组件可以在 Webview 中调用 javascript 方法。但是目前 react-native 不提供 JavaScript 执行所需的 API。你可以在这个 github issue 中看到讨论。
但是,有一个3rd 方模块可以在您的应用程序和 Webview 之间提供双向通信。您可以在将一些本机代码集成到您的项目中后开始使用它。
归档时间: |
|
查看次数: |
5383 次 |
最近记录: |