在Safari中,我的注册表单JavaScript代码工作正常,但在UIWebView和WKWebView中,该表单未加载。
这是我要审核的代码。
import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate {
@IBOutlet weak var Webview: UIWebView!
var webView: WKWebView!
var websites = ["lampecompany.com", "lampecompany.com"]
override func loadView() {
webView = WKWebView()
webView.navigationDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://" + websites[0])!
webView.load(URLRequest(url: url) as URLRequest)
webView.allowsBackForwardNavigationGestures = true
}
主页面打开正确,然后菜单 - >应用,在此屏幕上应用此处表单不显示。
以下是两张截图。 Safari和WKWebView。
有关此问题的任何帮助,我的WKWebView开始表现得像Safari一样,并且正如Safari浏览器那样正确地打开每一个和所有内容。
当我将此网站链接放在此WKWebView浏览器中时,它的工作原理。 https://github.com/mbarnig/WKWebView
所以为什么不在我的代码中。我在我的应用程序中使用了相同的代码但是静脉。
先谢谢你!
答案 0 :(得分:5)
您的网页注册表单(iframe)存在SSL问题。
在iOS中,如果您要加载http网址,则必须在App Transport Security Settings
文件中添加info.plist
。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
我通过以下方式找到了问题。
请参阅下面的网页控制台日志。
错误:无法加载资源:发生了SSL错误,并且与 https://www.lampeplacementservices.com/LampeOptin/LampeOptinReferralForm.html的安全连接