【发布时间】:2021-08-31 18:44:21
【问题描述】:
正如问题标题所说,我正在尝试使用 React Natives WebView 组件导航到 url 列表。以下是我尝试实现此目的的方法:
export default function App() {
const webViewScript = `
let urls = ["http://example1.com", "http://example2.com", "http://example3.com"];
urls.forEach((url) => {
window.location = url;
window.ReactNativeWebView.postMessage(document.documentElement.innerHTML);
});
true; // note: this is required, or you'll sometimes get silent failures
`;
return (
<WebView
source={{ uri: navUri }}
onMessage={(event) => {
// do something with `event.nativeEvent.data`
alert(event.nativeEvent.data);
}}
injectedJavaScript={webViewScript}
/>
);
}
但是,注入的 javascript 中的 foreach 循环不会阻塞,因此 example3.com 是唯一实际加载的 url。我考虑在 localStorage 中保留一个计数器变量并使用它来索引数组,在每次页面加载后递增,然后重定向到下一个 URL(因为局部变量会在页面更改时失去其状态)。但我觉得可能有更好的方法来完成我想要实现的目标,因此我正在与 SO 上的其他人联系以征求您的宝贵意见。
【问题讨论】:
标签: javascript react-native react-native-webview