强制React-Native Webview将URL加载为Mobile?

时间:2019-02-24 18:13:07

标签: 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中的Web视图:

<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}

2 个答案:

答案 0 :(得分:0)

灵感来自Sanyam的评论,您需要设置用户代理才能将其加载为移动设备:

<WebView
    userAgent={DeviceInfo.getUserAgent() + " - MYAPPNAME - android "}
    {...otherProps}
/>

答案 1 :(得分:0)

使用用户代理。

注意:这仅适用于Android。对于iOS,请使用此链接Change User-Agent

<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"
/>