gpt4 book ai didi

javascript - React Native Webview 不重置注入(inject)的 JavaScript

转载 作者:行者123 更新时间:2023-11-28 04:15:45 26 4
gpt4 key购买 nike

当到达某个 URL 时,我必须检索 WebView 的 html 内容。为此,我在到达此 URL 时使用 WebView 组件提供的 insertJavaScript 函数注入(inject) window.postMessage(document.documentElement.innerHTML);

第一次工作正常,但是当重新启动后再次尝试相同的操作时,不会处理重定向,并且会在第一页调用注入(inject)的 JavaScript,就好像它从未被删除一样。此行为存在于 iOS 上,而不是 Android 上。

有人遇到过同样的问题或者有解决办法吗?

最佳答案

使用react-native-webview包:

import { WebView } from 'react-native-webview';

<WebView
ref={(ref) => { this.webview = ref; }}
source={{ uri: this.state.webViewUrl }}
originWhitelist={['*']}
javaScriptEnabledAndroid={true}
injectedJavaScript={jsCode}
onMessage={this._onMessage} // only if you want connection back
/>

你可以传递js代码:

const jsCode = `
document.querySelector('button.btn-success').addEventListener("click", function() {
window.ReactNativeWebView.postMessage(JSON.stringify({type: "click", message : "ok"}));
});
true;
`

关于javascript - React Native Webview 不重置注入(inject)的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45860747/

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