gpt4 book ai didi

javascript - 在 WebView 源代码中执行 JavaScript

转载 作者:数据小太阳 更新时间:2023-10-29 06:10:27 24 4
gpt4 key购买 nike

有人知道如何(如果可能的话)在 React Native 的 WebView“内部”执行 JS 吗?

场景:我的 WebView 中显示了这个远程登录页面(网站),该网站有一系列与用户事件相对应的事件。所有事件都触发一个回调,WebView 必须监听(这不是问题)。
在每个回调中都有一个对 JavaScript 函数的引用,它必须在 WebView 内部调用(这就是问题所在!)。
因此,我需要从我的 React Native 应用程序调用这个 JavaScript 函数,该函数位于我的 WebView 中加载的网站页面(源)上。

我有什么:我用 onShouldStartLoadWithRequest 监听回调并以此操作 WebView 的行为,效果很好。
关于 JavaScript 执行,我已经尝试了 getWebViewHandle 方法,但没有成功,至少在我的座位上没有。
我也查看了 injectedJavaScript 属性,但问题是我不知道在触发回调之前要执行什么 JavaScript。

有人知道怎么解决吗?

最佳答案

2018 年 11 月更新

Webview 组件现在支持 injectJavaScriptinjectedJavaScript 属性。

例子:

<WebView
source={{ uri: 'https://github.com/facebook/react-native' }}
injectedJavaScript="window.alert('first message')"
injectJavaScript={() => {
return "window.alert('second message')";
}}
/>

原始答案

使用 iOS 和 Android native 组件可以在 Webview 中调用 javascript 方法。但是 react-native 目前没有提供执行 javascript 所需的 API。您可以在 this github issue 中看到讨论.

然而,有一个3rd party module这在您的应用程序和 Webview 之间提供双向通信。您可以在将一些 native 代码集成到您的项目中后开始使用它。

关于javascript - 在 WebView 源代码中执行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37304144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com