问题标签 [react-native-webview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2750 浏览

react-native - React Native - 在导航到/从包含嵌入在他们自己的 WebView 中的多条推文的页面之后,空指针取消引用

我目前正在为工作构建的应用程序主要集中在显示文章上。其中一些包含 Twitter 嵌入(在网络版本上),由于 API 由我们的两个应用程序共享,我也收到了 HTML 嵌入。每当我尝试在源设置为 HTML 和 Twitter JS 脚本以进行样式设置的 WebView 中显示推文时,页面要么正确加载,但在我按下返回(使用 react-navigation)时崩溃,或者它只是在加载时崩溃但仅打开安卓。

我尝试了以下方法:

  • 使用社区支持的 WebView而不是内置的包。我也在那里打开了一个问题

  • 从 WebView 中删除 JS 脚本。

  • 改用injectedJavaScript道具。

  • 安装 TwitterKit 以使用本机嵌入,不幸的是 Twitter 不再支持 :(

这就是我呈现 WebView 的方式:

这是来自 Android Studio 的堆栈跟踪(我什至没有得到 RedBox,只是一个普通的旧硬崩溃)。

0 投票
1 回答
151 浏览

javascript - iOS 中的 ReactNative FusionChart 事件不会发出/触发。只有第一个会发出

FushionChartevents道具似乎无法在react-native-fusioncharts. 只有事件对象中的第一个键(键值对)会触发/发射。

在下面的示例中,console.log("bI");将记录,但不会记录任何其他事件。甚至onInitialized因为它取决于renderComplete事件。

但是如果我们注释掉beforeInitialize事件,下一个事件就会起作用,依此类推。 只有当我们不发送道具或传递空对象onInitialized时,事件才会起作用。events

更新

仅在 iOS 中出现,在 Android 中运行良好。

更新 2

检查此博客中的第 2 点,在“3.onMessage/postMessage”下。

问题是在 iOS 中进行连续的 window.postMessage 调用将导致您的第一次调用丢失,因为每次在传递消息之前都会覆盖 url,因此最后一次调用会获胜


方案 1

方案 2

版本::
react-native0.59.4
react-native-webview:5.8.1
fusioncharts:3.13.5
react-native-fusioncharts:3.0.0

0 投票
1 回答
1333 浏览

react-native - react-native-webview 避免使用键盘(iOS)

根据我的经验, react-native-webview很难在 iOS 上按我想要的方式运行。当显示键盘并且其内容被键盘隐藏时,它不会自动更改其高度。

它的行为也很奇怪,被KeyboardAvoidingView包裹了。就我而言,它似乎将 WebView 的内容调整得太多,大约是键盘高度的两倍。当我手动监听键盘打开/关闭事件并相应地调整 WebView 的高度时,出现了同样的行为:

我找到了一个解决方案,不是最优的,但也是一个解决方案。我的答案贴在下面。

0 投票
1 回答
1946 浏览

react-native - 无法识别 ReactNativeWebView

我正在使用react-native-webview并尝试将消息从 JavaScript 发布到 RN。

我正在使用该window.ReactNativeWebView.postMessage()方法,但无法解决ReactNativeWebView无法识别的问题,并出现以下错误:

我正在使用以下内容:

  • “反应”:“16.8.3”,
  • “反应原生”:“0.59.8”,
  • "react-native-webview": "^5.12.0",

这看起来很简单,所以我不知道我要去哪里错了。

0 投票
1 回答
4874 浏览

android - React-native-webview: net::ERR_FAILED

错误描述: 第一次打开我的应用程序时,网站在 WebView 中正确加载。然后我转到主屏幕,过了一会儿我返回应用程序并收到以下错误:

有没有人见过这个错误?

这是来自 Android Studio 的一些日志,它们可能相关/有用,也可能不相关。

重现: 我只能在发布中重现此错误 - 而不是在调试中。此错误发生在第一次加载应用程序后,然后离开它并在几个小时后返回应用程序。也许它与缓存有关。

当我强制退出应用程序时,问题仍然存在。如果我重新安装该应用程序,它可以工作一段时间。

预期行为: 网站应完全加载。

截图/视频: 错误

环境: - 操作系统:Android(华为 P20 Pro 和其他多款 Android 手机) - 操作系统版本:Android 8 - react-native 版本:59.3 - react-native-webview 版本:5.6.2

0 投票
4 回答
7202 浏览

react-native - 如何从 WebView 向 React Native 发送消息?

我已经成功地将消息从 React Native (RN) 发送到 WebView。

我正在努力解决的问题是将消息从 WebView 传回给 RN。没有显示错误 - 只是消息永远不会通过。

这是我正在使用的代码:

反应本机代码

网页查看代码

0 投票
1 回答
1545 浏览

javascript - react-native-webview 仅在 react-navigation tabNavigator 的活动选项卡上开始加载

我正在使用设置为的bottomTabNavigator。对于屏幕,我呈现react-native-webview。正在调用渲染函数,因为我可以看到 console.log 但实际的 webview 直到选项卡变为活动状态才开始加载。我开始的选项卡立即开始加载。lazyfalse

标签

航海家

这发生在react-navigation从 1.x 升级到 3.x 并升级react-nativereact-native-webview. 我希望 webview 立即开始加载,而不仅仅是在可见时。

0 投票
0 回答
177 浏览

react-native - 在反应本机 Web 视图初始加载和后续请求中设置 cookie

我正在尝试在需要身份验证的反应本机 Web 视图中加载 asp.net 应用程序。用户已经登录到移动应用程序,并且我在存储中保存了身份验证 cookie。我正在寻找一种方法将此身份验证 cookie 传递到我的 asp.net 页面,以响应本机 Web 视图以自动对用户进行身份验证,而无需再次登录。我希望为 web 视图中加载的 asp.net 应用程序的每个后续请求发送 cookie。请指教。谢谢

0 投票
1 回答
3414 浏览

android - React Native display PDF in Android web view

I have a React Native app in which at some page I've got a web view (react-native-webview) for displaying PDFs from our server.

In iOS everything works fine, in Android, whenever I try to view the file I got:

Cannot downoad files as permission was denined. Please provide permission to write to storage, in order to download files.

I've then added <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> to my manifest. Now, I'm getting the following alert:

enter image description here

I think it's pretty scary and very stupid from a user experience perspective. I'm not accessing photos, media, or files, all I'm trying to do is to display a simple PDF inside a web view. I don't want my users to be presented such alert.

When I tap allow, it says Downloading... and downloads the PDF like a file that can be opened outside my app. I don't want this behavior, I want PDF to render inside web view just like iOS does.

How can I display PDFs in Android using React Native web view, without a scary dialog which has nothing to do with what I'm actually trying to do?

(I'm on React Native 0.59.9, Android 8.1, Android SDK 28, react-native-web-view 5.12.0)

0 投票
1 回答
866 浏览

react-native - 使用 ios 上的 expo 保持登录 React Native WebView

在我的 react native expo 应用程序中,我有两个屏幕,

一个用于登录页面,用户将在其中放置凭据,成功登录后,它将被重定向到 webview 页面。

在网页内部,我正在尝试获取主页内容,但它被重定向到ios. 但是在android中使用后domStorageEnabled={true}我得到了主页。

如何仅使用应用程序登录而不从索引页面登录(网页登录)获取主页?请提供解决方案。

提前致谢。