React Native v-0.63 中的 WebView v-11.2.3 组件未加载其内容(使用 expo cli)

Posted

技术标签:

【中文标题】React Native v-0.63 中的 WebView v-11.2.3 组件未加载其内容(使用 expo cli)【英文标题】:WebView v-11.2.3 component from React Native v-0.63 not loading its content (using expo cli) 【发布时间】:2021-05-21 15:40:29 【问题描述】:

正如问题所说,我的 Webview 组件不会加载其内容。我在与 WebView 相关的控制台中没有弹出错误或任何问题。我正在使用博览会。

另一方面,在使用 iframe 时,我在 Web 浏览器上加载内容运行测试时没有问题,但在移动设备上运行测试时无法正常工作。我在这里尝试了其他人提出的所有解决方案,但似乎没有任何效果。我什至尝试使用 html 而不是 uri 在 WebView 中使用 iframe,还将 WebView 组件嵌套到 View 中并赋予它 flex:1 但屏幕上仍然没有出现任何内容,但右上角有一个小红点。

如您所见,我使用注释代码完成的所有测试。第一个(已注释)函数使用 Iframe 组件,第二个(未注释)仅是 WebView。 我的代码如下所示:

import React from 'react';
import  StyleSheet, Text, Button, View, Dimensions  from 'react-native';
import Iframe from 'react-iframe';
import Header from './Header';
import ButtonMenu from './ButtonMenu';
import  WebView  from 'react-native-webview';


const deviceHeight = Dimensions.get('window').height;
const deviceWidth = Dimensions.get('window').width;


// export default function NatureQuestGps(navigation) 
//     return (
      
//         <View style=styles.pageNatureQuest>
//         <View style=styles.headerContainer>
//         <Header/>
//         <ButtonMenu color='#49AC72' onPress=()=> navigation.toggleDrawer() />
//         </View>
//         <Iframe  url="https://www.google.com/maps/d/embed?mid=11fEhEZiv72kKKy7XbbQ3GIufEcTpWUa2"
//         
//         
//         display="initial"
//         position="relative"/>
//         </View>
    
//     );
// 

export default function NatureQuestGps() 
  return (
    <View style= flex: 1, alignItems: 'flex-end' >
      <WebView 
      source=  uri: 'https://www.google.com/maps/d/embed?mid=11fEhEZiv72kKKy7XbbQ3GIufEcTpWUa2'
      style=styles.webview
      javascriptEnabled=true
      domStorageEnabled=true
      startInLoadingState=false
      scalesPageToFit=true
      />
    </View>
  );



const styles = StyleSheet.create(
    pageNatureQuest:
      flex:1,
      flexDirection:'column',
      alignItems:'center',
    ,
    headerContainer: 
      width:'100%',
      backgroundColor:'#ededed',
      ,

    webview: 
      flex: 1,
      backgroundColor: 'yellow',
      width: deviceWidth,
      height: deviceHeight
    
  ); 

提前感谢任何花时间提供帮助的人

【问题讨论】:

【参考方案1】:

我找到了解决方案,事实证明,WebView 组件在使用 EXPO 在移动设备中进行测试时有效,但在我的浏览器中加载了 naver,而 iframe 在我的浏览器中有效但在我的移动设备中无效。无论如何,答案是,如果您希望 google maps trail 或 parcour 适用于移动设备和 web,您将需要一个库来创建您自己的地图路线和小径。但是,如果您只是制作移动应用程序,请选择 WebView 组件,尽管它可能无法在您的计算机浏览器中进行测试。

【讨论】:

以上是关于React Native v-0.63 中的 WebView v-11.2.3 组件未加载其内容(使用 expo cli)的主要内容,如果未能解决你的问题,请参考以下文章

[React Native] Disable and Ignore Yellow Box Warnings in React Native

react native 开发app

React Native 在 Airbnb 的起起落落

在 React Native 中使用 @stomp/stompjs 的 Web 套接字连接

React native中的“react-native-vector-icons”问题

react-native-maps 中的当前位置