java - 强制 React-Native webview 将 url 加载为移动设备?

标签 java android react-native android-webview

在带有 android studio 的 java 中,我通过添加以下代码来实现这一点:

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);

webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDisplayZoomControls(false);

webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);

但我不知道如何在 React-Native 中做到这一点,我尝试了一些 css 样式,但没有任何效果。

这是我在 React 中的 WebView :

<WebView
  ref="WebView"
  scalesPageToFit={true}
  onLoadStart={this.onLoadStart}
  onLoadEnd={this.onLoadEnd}
  source = {{ uri:this.props.navigation.getParam('main_url', 
  'https://xxxx.xxx/')}}
  style={{backgroundColor: 'transparent',width: '100%'}}
/>:null}

最佳答案

使用用户代理。

注意:这曾经仅适用于 Android。对于 iOS,您可以使用此链接 Change User-Agent 现在它似乎可以在 iOS 和 Android 上运行

<Webview
  userAgent="Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3714.0 Mobile Safari/537.36"
/>

关于java - 强制 React-Native webview 将 url 加载为移动设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54854960/

相关文章:

java - 如何修复 Android Studio 中 React Native App 丢失的符号和包?

java - 如何从单个持久单元访问多个数据库模式?

java - 对功能 (SAM) 接口(interface)变量使用属性 getter 方法引用

java - 不通过 Play 商店更新 Android APK

android - 在 Android NDK 中从源代码构建 SurfaceFlinger 并使用测试目录内容

react-native - 将属性声明为样式时,Eslint react/no-typos 规则会引发错误

java - 是否有网站可以远程上传mysql数据库并连接Java Swing应用程序

java函数通过自定义异常返回值是一个好方法吗?

Android:停止将应用程序带入前台的新 Activity

ios - React Native libc++abi.dylib : terminating with uncaught exception of type NSException