当达到某个URL时,我必须检索WebView的html内容。为此,我在达到此URL时使用WebView组件提供的injectJavaScript函数注入window.postMessage(document.documentElement.innerHTML);
。
这在第一次工作正常,但是在重新启动后再次尝试相同的事情时,不会处理重定向,并且在第一页调用injectJavaScript,就好像它从未被删除一样。此行为存在于iOS上,而不是Android上。
任何人遇到同样的问题或者有解决方法吗?
答案 0 :(得分:0)
使用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;
`