阻止WebView打开浏览器ANDROID [react-native]

问题描述 投票:0回答:2

我正在使用 WebView 开发一个反应本机应用程序。 这是网页视图的代码:

    <WebView
      ref={webView}
      onLoad={onLoad}
      onMessage={() => {}}
      originWhitelist={["*"]}
      source={{ uri: PLATFORM_URL }}
      onNavigationStateChange={onNavigationStateChange}
    />

我想在单击某些按钮时阻止网络视图打开浏览器。 特别是,我在目标空白上苦苦挣扎,在 iOS 中它实际上在 webview 内重定向,但在 Android 上它会打开浏览器。

我找到了一种可能的解决方案,即注入能够删除所有 target-blank 的 javascript 代码。

这是唯一的解决方案吗?或者有没有办法拦截 webview 将打开网络浏览器?

谢谢你

react-native webview
2个回答
1
投票

我希望这会有所帮助,尽管已经晚了。尝试像这样使用 props onShouldStartLoadWithRequest

<WebView
 source={{uri:'https://stackoverflow.com/'}}
 onShouldStartLoadWithRequest={request => {
  if (request.url.includes('https')) {
      return false;
  } else return true;
 }}
 />

0
投票

似乎为时已晚,但我会给出我找到的简单解决方案。

setSupportMultipleWindows={false}

此属性可防止在 Android 中打开浏览器。

© www.soinside.com 2019 - 2024. All rights reserved.