在UIWebView中打开一些项目,在外部浏览器中打开其他项目

时间:2016-01-08 16:17:55

标签: ios swift uiwebview

我正在创建一个嵌入UIWebView的html5应用程序。我已将webview委托给控制器,并且在shouldStartLoadWithRequest上,我正在寻找要在外部浏览器上打开或不打开的url模式。

它的工作完美!

但是当手机没有连接时,我正在加载本地html文件。因为在第一次请求时,shouldStartLoadWithRequest返回FALSE,所以offline.html没有加载

任何人都这样做了吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

设置路径后立即尝试:

do {
    let path = NSBundle.mainBundle().pathForResource("offline", ofType: "html", inDirectory:"offline")
    let string = try String(contentsOfFile: path!, encoding:NSUTF8StringEncoding)
    webView.loadHTMLString(string, baseURL: NSURL(string: "http://"))
} catch {
    print(error)
}

let url = NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("offline", ofType:"html", inDirectory: "offline")!)
let request = NSURLRequest(URL: url);
webView.loadRequest(request);

我尝试了它并且有效。

确保您的“离线”目录是一个文件夹(蓝色)而不是一个组(黄色)。

希望得到这个帮助。

答案 1 :(得分:0)

我发现了问题。我没有触发错误-1003(找不到主机)!完全取消开关工作!