gpt4 book ai didi

react-native - React Native WebView - 仅在用户交互的情况下在外部浏览器中打开链接

转载 作者:行者123 更新时间:2023-12-05 03:54:18 26 4
gpt4 key购买 nike

我有以下 WebView 组件,多次用于新闻文章中的各种嵌入

<WebView
useWebKit={true}
ref={(ref) => this.webview = ref}
javaScriptEnabled={true}
injectedJavaScript={"(" + injectedScript + ")()"}
onMessage={this.onMessage}
onNavigationStateChange={this.onNavigationStateChange}
{...this.props}
/>

和下面的导航状态变化监听器,用于在外部浏览器中打开链接

onNavigationStateChange = (event) => {
this.webview.stopLoading();
Linking.openURL(event.url);
}

问题是导航更改监听器似乎无法区分用户交互和自动页面重定向(社交媒体嵌入通常会这样做)。如何在外部浏览器中打开链接仅用于用户交互?

最佳答案

我不知道自动页面重定向是否会触发点击事件,但它们应该不会,所以你只能监听 click 事件,我想这只能由用户触发。

onNavigationStateChange = (navState) =>
{
if (navState.navigationType === 'click') {
// User clicked something
}
}

关于react-native - React Native WebView - 仅在用户交互的情况下在外部浏览器中打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61116550/

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