当前位置: 首页 > 知识库问答 >
问题:

React Native Web Expo的WebView备选方案

云宾鸿
2023-03-14

我想在我的应用程序中显示一个外部网站。与Android/iOS的WebView完全相同。

Expo的React Native WebView不支持web平台。https://docs.expo.io/versions/latest/sdk/webview/

是否有一个世博会友好的替代方案,从web平台中的URL显示外部网站?

共有1个答案

高山
2023-03-14

这个问题需要更多细节但是,

您可以在平台上进行平台检查和升级。OS==“web”使用样式化的iframe显示外部网站

更新:

你还没说你在webview中渲染什么。所以我只是给你基本的代码。你需要为演示文稿做造型。

组成部分:

//native-webview.tsx
import React, { CSSProperties } from 'react';
import { Platform } from 'react-native';
import { WebView } from 'react-native-webview';

interface NativeWebViewProps {
    target: string;
}

export const NativeWebView = (props: NativeWebViewProps): JSX.Element => {
    if (Platform.OS === 'web') {
        return <iframe src={props.target} style={styles} />;
    }
    return <WebView source={{ uri: props.target }} />;
};

const styles: CSSProperties = {
    height: 600,
    width: 800
};

应用程序中使用。tsx

// App.tsx
import React from 'react';
import { StyleSheet, View } from 'react-native';
import { NativeWebView } from './src/components/native-webview';

export default function App() {
    return (
        <View style={styles.container}>
            <NativeWebView target="https://en.m.wikipedia.org" />
        </View>
    );
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        backgroundColor: '#fff',
        alignItems: 'center',
        justifyContent: 'center'
    }
});

编辑:修复了错误的导入。

 类似资料:
  • Firebase远程配置有其他选择吗?我需要为中国市场提供一个应用程序,我不确定它是否会起作用

  • 我有一个脚本,需要遍历数千个不同但简单的选项。 我可以使用if... elif来迭代它们,但是我想知道是否有比成千上万个elifs更快/更好的选择。举个例子 我将要做的事情通常是运行某种函数。

  • 我尝试将WebView添加到我的活动中: 在所有设备上,这工作正常,但在Android Lollipop 5.1(仅限)设备上,我在这一行中得到了例外: 我做错了什么,什么是Android Lollipop 5.1设备上解决方案的最佳方式。

  • 我试图向登录用户显示他们每次登录时尚未看到的通知数。为此,我有以下疑问: 问题是,随着通知数量的增加,这似乎需要一段时间。有没有一种方法可以通过连接做得更好?

  • webview标记用于在您的Electron应用中嵌入“来宾”内容,例如网页。 此内容包含在webview容器中。 应用内的嵌入式页面控制着如何显示此内容。 webview在与您的应用程序不同的进程中运行。 为确保恶意内容的安全性,webview与您的网页没有相同的权限。 这可以确保您的应用免受嵌入内容的侵害。 您的应用与嵌入页面之间的所有互动都将是异步的。 让我们考虑一个示例来了解在我们的Ele