如何在 React Native 中使用 Iframe?
How to use Iframe in react native?
我试图找到任何方法将 Iframe 添加到我的 React 本机应用程序中。
我找到了 react-iframe,但它对我不起作用。我跟着文件。我只是导入 react-iframe 并复制 iframe 标签来使用。
我的结果如下图所示。
我需要其他方式在 React 本机应用程序中使用 Iframe。谢谢你。
尝试使用react-native-webview
:
import { WebView } from 'react-native-webview';
....
<WebView
scalesPageToFit={true}
bounces={false}
javaScriptEnabled
style={{ height: 500, width: 300 }}
source={{
html: `
<!DOCTYPE html>
<html>
<head></head> // <--add header styles if needed
<body>
<div id="baseDiv">${iframeString}</div> //<--- add your iframe here
</body>
</html>
`,
}}
automaticallyAdjustContentInsets={false}
/>
您可以使用 iframeString
值,例如:
<iframe src="https://mdn-samples.mozilla.org/snippets/html/iframe-simple-contents.html"
title="iframe Example 1" width="400" height="300">
</iframe>
备注:
1) 因为 source.html
参数可以是任何 html 字符串,您也可以直接传递 iframeString
而无需任何 html 页面包装器。在我的案例中,我发现使用外部 html 包装器代码自定义显示的内容更容易。
2) 关于 iframe 和 rn-webview 的已知问题:
https://github.com/react-native-webview/react-native-webview/issues?q=iframe+is%3Aopen
3)Link吃零食:
https://snack.expo.dev/@florindobre99/webview-example
更多关于 webview 的信息:
https://github.com/react-native-community/react-native-webview
我回答我的问题。
我使用 webview 来显示 Iframe。
<WebView
source={{html: '<iframe width="100%" height="50%" src="https://www.youtube.com/embed/cqyziA30whE" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>'}}
style={{marginTop: 20}}
/>
如何直接在webview源属性中添加iframe link
例如:
<WebView
source={{uri: 'https://www.youtube.com/embed/cqyziA30whE'}}
style={{marginTop: 20}}
/>
我试图找到任何方法将 Iframe 添加到我的 React 本机应用程序中。
我找到了 react-iframe,但它对我不起作用。我跟着文件。我只是导入 react-iframe 并复制 iframe 标签来使用。
我的结果如下图所示。
我需要其他方式在 React 本机应用程序中使用 Iframe。谢谢你。
尝试使用react-native-webview
:
import { WebView } from 'react-native-webview';
....
<WebView
scalesPageToFit={true}
bounces={false}
javaScriptEnabled
style={{ height: 500, width: 300 }}
source={{
html: `
<!DOCTYPE html>
<html>
<head></head> // <--add header styles if needed
<body>
<div id="baseDiv">${iframeString}</div> //<--- add your iframe here
</body>
</html>
`,
}}
automaticallyAdjustContentInsets={false}
/>
您可以使用 iframeString
值,例如:
<iframe src="https://mdn-samples.mozilla.org/snippets/html/iframe-simple-contents.html"
title="iframe Example 1" width="400" height="300">
</iframe>
备注:
1) 因为 source.html
参数可以是任何 html 字符串,您也可以直接传递 iframeString
而无需任何 html 页面包装器。在我的案例中,我发现使用外部 html 包装器代码自定义显示的内容更容易。
2) 关于 iframe 和 rn-webview 的已知问题:
https://github.com/react-native-webview/react-native-webview/issues?q=iframe+is%3Aopen
3)Link吃零食:
https://snack.expo.dev/@florindobre99/webview-example
更多关于 webview 的信息:
https://github.com/react-native-community/react-native-webview
我回答我的问题。
我使用 webview 来显示 Iframe。
<WebView
source={{html: '<iframe width="100%" height="50%" src="https://www.youtube.com/embed/cqyziA30whE" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>'}}
style={{marginTop: 20}}
/>
如何直接在webview源属性中添加iframe link 例如:
<WebView
source={{uri: 'https://www.youtube.com/embed/cqyziA30whE'}}
style={{marginTop: 20}}
/>