当前试图检测反应原生 web 视图中页面的 URL 更改,以便在每次用户导航到 web 视图中加载的网站中的新页面时采取行动。我正在注入以下 javascript,但它仅在加载页面上运行,而不在导航到站点内的其他页面上运行。
我怎样才能让这个 javascript 片段在这个站点的每个页面上运行?
javascript 片段和 WebView 组件:
const App: () => React$Node = () => {
const injectedjs = `
let initialUrl = window.location.href;
window.alert(initialUrl)
let checkUrlChange = () => {
document.body.style.backgroundColor = 'blue';
const currentUrl = window.location.href;
if(currentUrl !== initialUrl){
window.alert('nav changed')
initialUrl = currentUrl;
}
}
setInterval(checkUrlChange, 1000);
true`
setTimeout(() => {
this.webref.injectJavaScript(injectedjs);
}, 3000);
return (
<View style={{ flex: 1 }}>
<WebView
ref={r => (this.webref = r)}
javaScriptEnabled = {true}
source={{ uri: 'https://www.amazon.ca/' }}
/>
</View>
);
};