Веб-просмотр в Android больше не отображается правильно, как на iOS-стороне приложения - PullRequest
0 голосов
/ 21 октября 2019

Я работал над решением, которое позаботилось бы о том, чтобы пользователь мог открывать гиперссылки в веб-просмотре во внешнем браузере, но теперь пользовательский интерфейс в веб-представлении Android становится меньше, а веб-представление iOS остается неизменным.

До того, как это началось, я добавил onNavigationStateChange свойство в ArticleDetails компонент:

 <View style={styles.content}>
            {Boolean(this.props.article.VideoID) && (
              <VimeoVideo videoId={this.props.article.VideoID.toString()} />
            )}
            {Boolean(this.props.article.Summary) && (
              <Text style={styles.boldParragraph}>
                {this.props.article.Summary}
              </Text>
            )}
            {this.props.article.Sections.map(s => (
              <WebViewAutoHeight
                key={s.Body.substr(10)}
                source={{
                  //prettier-ignore
                  html: `<body style="font-family: -apple-system, Roboto, sans-serif; background-color: ${lightTheme.grey2} !important; color: ${v2Colors.charcoalDarkest}; font-size: ${moderateScale(14, 0.2)}px;">${s.Body}</body>`
                }}
                onNavigationStateChange={event => {
                  if (event.url !== uri) {
                    Linking.openURL(event.url);
                  }
                }}
              />
            ))}
          </View>

Что я заметил, так это то, что если я перейду к компоненту WebViewAutoHeight.js и закомментирую эту строку:

const WebViewAutoHeight = props => (
  <AutoHeightWebView
    // style={[styles.webview, props.style ? props.style : {}]}
    {...props}
  />
);

Веб-просмотр на Android возвращается в нормальное русло. Я попытался вставить условное условие if, которое посмотрело бы, является ли операционная система iOS, и если да, то запустите эту строку, но у меня было много синтаксических ошибок.

Как я могу реализовать описанный выше стиль, только если это iOS, а не Android?

...