gpt4 book ai didi

react-native - React Native Webview如何使用injectJavascript

转载 作者:行者123 更新时间:2023-12-04 05:23:26 26 4
gpt4 key购买 nike

我正在尝试在由 react-native WebView 加载的网页中设置一个全局变量。我正在尝试使用 injectJavascript 属性设置全局变量,但我收到一个错误消息,告诉我 injectJavascript 应该是一个函数。

如何格式化 injectJavaScript 函数以将消息作为全局变量传递到加载的网页?谢谢你。

class Browser extends React.Component {

render() {
const { url } = this.props;
return (
<View>
<WebView
source={{ uri: url }}
injectJavaScript={
"window.testMessage = 'hello world'"
}
/>
</View>
);
}
}

最佳答案

如果你只是想设置全局变量,你可以使用注入(inject)的 JavaScript 属性,它会在 View 加载时将你的 js 代码注入(inject)到网页中。您可以简单地将js代码作为字符串传递。

如果您想从任何函数设置全局变量,那么您可以执行以下操作:
首先引用webview。

<WebView
ref={ref => (this.webview = ref)}
...
/>

然后每当你想注入(inject) js 代码时,请执行以下操作:
this.webview.injectJavaScript('window.testMessage = "hello world"; void(0);');

查看链接以供引用。

https://snack.expo.io/Hke6dJFAW

关于react-native - React Native Webview如何使用injectJavascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49159577/

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