您的位置:首页 > 移动开发

UIWebView获得网页内容(HTML源码)、加载本地HTML文件

2016-07-05 10:46 483 查看

获取网页内容

在使用UIWebView加载一个网页的时候,有时候需要获得此页面的源码,可以使用UIWebView执行JS代码来获得:

//加载网址
let req = NSMutableURLRequest.init(URL: NSURL.init(string: "http://zhaoyabei.github.io/")!)
web.loadRequest(req)

//输出网页内容
let lJs = "document.documentElement.innerHTML"
let lHtml1 = web.stringByEvaluatingJavaScriptFromString(lJs)
print("\(lHtml1)")

输出内容为:

<head>\n  <meta charset=\"UTF-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\">\n\n\n\n<meta http-equiv=\"Cache-Control\" content=\"no-transform\">\n<meta http-equiv=\"Cache-Control\" content=\"no-siteapp\">\n\n\n\n\n\n\n\n\n\n\n\n\n  \n  \n  <link href=\"/vendors/fancybox/source/jquery.fancybox.css?v=2.1.5\" rel=\"stylesheet\" type=\"text/css\">\n\n\n\n\n  \n  \n  \n  \n\n  \n    \n    \n  \n\n  \n\n  \n\n  \n\n  \n\n  \n    \n    \n    <link href=\"//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext\" rel=\"stylesheet\" type=\"text/css\">\n  \n\n\n\n\n\n\n<link href=\"/vendors/font-awesome/css/font-awesome.min.css?v=4.4.0\" rel=\"stylesheet\" type=\"text/css\">\n\n<link href=\"/css/main.css?v=5.0.1\" rel=\"stylesheet\" type=\"text/css\">\n\n\n  <meta name=\"keywords\" content=\"ZhaoYaBei\">\n\n\n\n\n\n\n\n\n  <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/favicon.ico?v=5.0.1\">\n\n\n\n\n\n\n<meta name=\"description\" content=\"Blog of development\">\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:title\" content=\"也无风雨也无晴\">\n<meta property=\"og:url\" content=\"http://yoursite.com/index.html\">\n<meta property=\"og:site_name\" content=\"也无风雨也无晴\">...


加载本地HTML文件

加载工程中名为“index.html”文件

//获得路径
let path = NSBundle.mainBundle().pathForResource("index", ofType: "html")
let content = try? NSString.init(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
//baseUrl
let baseUrl = NSURL.init(fileURLWithPath: NSBundle.mainBundle().bundlePath)
//加载
web.loadHTMLString(content as! String, baseURL: baseUrl )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: