所以我一直在尝试在React Native的Webview中加载一个HTML页面,但是无法做到这一点,看不出我弄错了什么。
Webview显示表单,但不断加载(我正在使用onLoadStart和onLoadEnd监视加载Webview的时间),当我单击表单中的按钮时没有任何反应,我只是得到一个错误在控制台中说。 http load failed error code -999
。
以下是我一直在尝试加载的HTML:
<!DOCTYPE html>
<html lang="en" style="position: relative; float: left; width: 100%; height: 100%;">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<style type="text/css">
.button{
border: none;
display: inline-block;
background-color:#603a7e;
color: #ffffff;
padding: 15px 20px;
border-radius: 6px;
font-weight: 900;
}
.button:focus{
background-color:#724695;
color: #ffffff;
}
</style>
</head>
<body style="position: relative; float: left; width: 100%; height: 100%; display: flex; align-items: center; padding: 0px 0px; margin: 0px 0px;">
<form action="http://payment-url.com" method="POST" style="text-align: center; position: relative; float: left; width: 100%; height: initial;">
<input type="hidden" name="names" value="John Doe" />
<input type="hidden" name="amount" value="100000" />
<input type="hidden" name="email_address" value="mail@jd.co" />
<input type="hidden" name="phone_number" value="080XXXXXXXX" />
<input type="hidden" name="currency" value="NGN" />
<input type="hidden" name="merch_txnref" value="XXXXXXXXX" />
<input type="hidden" name="merchantid" value="XXXXXXX" />
<button type="submit" class="button">Make Payment Now</button>
</form>
</body>
</html>
这是我的Webview实现:
<WebView source={{html: this.state.source}} style={[Styles.misc.spanned]}
javaScriptEnabled={true} initialScale={100}
onLoadStart={this._loadStart.bind(this)} onLoadEnd={this._loadEnd.bind(this)}/>
知道我可能在这里做错了吗?似乎无法弄明白,提前谢谢。
注意:我正在为iOS和Android开发,但在iOS工作时进行测试。