我有一个简单的WebView,想知道其中的哪个单词被点击了。例如,如果用户点击图片上文章中的任何单词,例如“气球”,我想捕获它。
这是代码和渲染。
export default class App extends React.Component {
render() {
return (
<View style={{top:100, height: 500, backgroundColor:'red' }}>
<WebView
source={{uri: 'https://www.reuters.com/article/us-art-banksy/we-just-got-banksy-ed-balloon-girl-painting-self-destructs-at-sale-idUSKCN1MG0B4?feedType=RSS&feedName=artsNews'}}
style={{height:"200", marginTop: 20}}
/>
</View>
);
}
}
更新: 这就是我使WebView基于@pritesh答案传递回JS事件的方式。
<WebView
source={{uri: 'https://www.reuters.com/article/us-art-banksy/we-just-got-banksy-ed-balloon-girl-painting-self-destructs-at-sale-idUSKCN1MG0B4?feedType=RSS&feedName=artsNews'}}
style={{height:"200", marginTop: 20}}
javaScriptEnabled={true}
injectedJavaScript={`document.body.addEventListener('click',
function(e){
window.postMessage("Message from WebView","*");
console.log(e);
})`}
onMessage={e => console.log("message", e)}
/>
答案 0 :(得分:1)
在我的头顶上,您可以尝试的一种方法是使用WebView的injectJavascript或injectedJavascript
道具。因此,您可以在身体上注册某种侦听器,并使用它来检测什么被按下,例如:
<WebView
ref={c => this._webview = c}
javaScriptEnabled={true}
injectedJavaScript={`document.body.addEventListener('click', function(e){
console.log(e)
})`}
/>
但是您要检查一下如何将回调从Webview传递到React。