ios - 当 URL 不存在时,UIWebview 无法完成加载页面并出现 "page NOT found"错误

标签 ios swift webview

在我的 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,请使用 UIWebViewshouldStartLoadWithRequest 委托(delegate)方法。

您可以在此方法中检查请求的 URL 以查看这是否是您的“特殊”URL,对这种情况进行处理并返回 false 这样 web View 就不会加载

关于ios - 当 URL 不存在时,UIWebview 无法完成加载页面并出现 "page NOT found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35227993/

相关文章:

cocoa - 更改 WebView 行为以模拟 Cocoa 界面元素

iphone - 每天下午 5 点重复 UILocalNotification

swift - 如何在 swift 中打印大量 10 的 25 次方的所有数字?

android - 在 webview 中添加进度对话框

java - Android WebView 自定义 header

ios - Swift TableView Controller Segue 无法自动工作

ios - 如何以编程方式在自定义表格 View 中附加搜索栏

ios - 仅当在 Swift 中更改为 ON 状态时如何从开关调用选择器?

iOS swift : Parsing response json with AFNetworking

swift - (lldb) 错误 : anonymous closure argument not contained in a closure