在我的 iPhone 应用程序中,我必须将移动网站加载到 Web View (包含在单独的 View Controller 中)。一切都很好,工作正常。
当到达特定的一组 URL 时,我需要退出 webview。问题是其中一些 url 不存在,因此页面无法完成加载(即使没有找到页面错误消息来检测当前 url。只是挂起)
想知道我是否必须在 webView 中启用任何设置以允许加载实际上不存在的页面(页面未找到错误)。
或
这是否有可能知道接下来要加载哪个 URL
func webViewDidStartLoad(webView: UIWebView)
override func viewDidLoad()
{
super.viewDidLoad()
myWebview.delegate = self
var returnUrlAppendedPaymmentLink = "www.existing_url.com"
let requestURL = NSURL(string: returnUrlAppendedPaymmentLink)
let request = NSURLRequest(URL: requestURL!)
myWebview.loadRequest(request)
}
func webViewDidFinishLoad(webView: UIWebView)
{
var currentUrl = webView.request?.URL?.absoluteString ?? ""
if (currentUrl == "www.special_url.com")
{
self.navigationController?.popViewControllerAnimated(true)
}
}
最佳答案
要拦截特定的 URL,请使用 UIWebView
的 shouldStartLoadWithRequest
委托(delegate)方法。
您可以在此方法中检查请求的 URL 以查看这是否是您的“特殊”URL,对这种情况进行处理并返回 false
这样 web View 就不会加载
关于ios - 当 URL 不存在时,UIWebview 无法完成加载页面并出现 "page NOT found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35227993/