为啥 React Native WebView 在发布版本中转到 about:blank?
Posted
技术标签:
【中文标题】为啥 React Native WebView 在发布版本中转到 about:blank?【英文标题】:Why does React Native WebView go to about:blank in release build?为什么 React Native WebView 在发布版本中转到 about:blank? 【发布时间】:2017-11-16 07:34:54 【问题描述】:我有一个这样的组件:
class PayPalWebView extends Component
static propTypes =
payKey: PropTypes.string,
payPalLoginUrl: PropTypes.string,
onNavigationStateChange: PropTypes.func,
getPayPalLoginURL = () => this.props.payPalLoginUrl + this.props.payKey
render ()
return (
<WebView
source= url: this.getPayPalLoginURL()
scalesPageToFit=true
onNavigationStateChange=this.props.onNavigationStateChange
/>
)
我用它来处理我的 react 本机应用程序中的 PayPal 支付的登录流程。
模拟器中的开发版本可以正常工作并正确打开 PayPal 登录页面。 当我在模拟器中切换到发布构建配置时,它不再工作,只打开 about:blank。
该问题同时出现在 android 和 ios 上。然而,它今天早上突然开始在 iOS 上工作,而我没有改变任何东西。
我已确认getPayPalLoginURL
的输出正确,并将WebView
的source
属性设置为固定值。还尝试了不同的值,例如 url: "https://example.com"
以确保它与 PayPal URL 无关,但它再次仅在发布版本上失败。
我还发现了其他 SO 问题,人们建议在 WebView
上设置固定宽度,但也没有用。
非常感谢任何修复或调试的建议。
【问题讨论】:
【参考方案1】:替换
source= url: this.getPayPalLoginURL()
与
source= uri: this.getPayPalLoginURL()
检查this
【讨论】:
哇!就是这样。我不敢相信。甚至没有考虑过仔细检查,因为它在具有开发设置的模拟器中工作得很好。谢谢! (编辑:明天我会奖励它,只要时间限制到了) 这仅在 Android 上发生在我身上,onNavigationStateChange 正在返回 url “about:blank” - 感谢您将这个答案链接到其他一些 SO 帖子中。世博会 4.4.4 ; “react-native-webview”:“11.2.3”以上是关于为啥 React Native WebView 在发布版本中转到 about:blank?的主要内容,如果未能解决你的问题,请参考以下文章
WebView(react-native-webview)在 Expo SDK36 中获取错误代码 -1
React-native:如何自动保存 webview 当前网页?