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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zyb050607/article/details/51829357

获取网页内容


在使用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&amp;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 )

猜你喜欢

转载自blog.csdn.net/zyb050607/article/details/51829357
今日推荐