UIWebView 不会在 Swift 中重新加载新的 URL
UIWebView won't reload a new URL in Swift
在我想加载一个新的 URL 之前,我总是毫无问题地使用 UIWebView。使用下面的代码,第二个 url 由于某种原因不会被加载。你能找出原因吗? (plist 有域的例外情况!)
let webview = UIWebView()
webview.frame = CGRectMake(0, 0, view.bounds.width, view.bounds.height )
view.addSubview(webview)
var url = NSURL (string: "http://google.com")
var requestObj = NSURLRequest(URL: url!,
cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData,
timeoutInterval: 10.0)
webview.loadRequest(requestObj)
webview.reload()
//Wait 5 seconds to load another page
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 5 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
url = NSURL (string: "http://yahoo.com")
requestObj = NSURLRequest(URL: url!,
cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData,
timeoutInterval: 10.0)
webview.loadRequest(requestObj)
webview.reload()
}
调用 webview.loadRequest()
开始加载网络视图内容。调用 webview.reload()
重新加载已完成加载的最后一个请求。由于您在加载请求后立即调用 reload,因此 reload 将再次加载您的第一个请求 "google.com"。
删除 webview.reload()
调用将加载您的第二个请求。
在我想加载一个新的 URL 之前,我总是毫无问题地使用 UIWebView。使用下面的代码,第二个 url 由于某种原因不会被加载。你能找出原因吗? (plist 有域的例外情况!)
let webview = UIWebView()
webview.frame = CGRectMake(0, 0, view.bounds.width, view.bounds.height )
view.addSubview(webview)
var url = NSURL (string: "http://google.com")
var requestObj = NSURLRequest(URL: url!,
cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData,
timeoutInterval: 10.0)
webview.loadRequest(requestObj)
webview.reload()
//Wait 5 seconds to load another page
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 5 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
url = NSURL (string: "http://yahoo.com")
requestObj = NSURLRequest(URL: url!,
cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData,
timeoutInterval: 10.0)
webview.loadRequest(requestObj)
webview.reload()
}
调用 webview.loadRequest()
开始加载网络视图内容。调用 webview.reload()
重新加载已完成加载的最后一个请求。由于您在加载请求后立即调用 reload,因此 reload 将再次加载您的第一个请求 "google.com"。
删除 webview.reload()
调用将加载您的第二个请求。