我试试:
let body = "<body>.. ANYTHING ..</body>"
self.webView.loadHTMLString(body, baseURL: NSURL(string: "www.google.com")!)
或
self.webView.loadHTMLString(body, baseURL: nil)
如果我打印:
self.webView.stringByEvaluatingJavaScriptFromString("document.body.outerHTML")!
此印刷品:
<body></body>
那不是我的整个HTML ..
有什么想法吗?
身体来自
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
if error == nil {
let body = NSString(data: data, encoding: NSUTF8StringEncoding)
}
是的,不是空的
答案 0 :(得分:2)
如果你打电话
self.webView.stringByEvaluatingJavaScriptFromString("document.body.outerHTML")!
调用loadHTMLString
之后的是期望的行为,因为UIWebView异步加载内容。在UIWebView
中设置viewDidLoad
的委托,然后在委托方法中调用此evaluateJS ...
func webViewDidFinishLoad(webView: UIWebView)
{
let body = self.webView.stringByEvaluatingJavaScriptFromString("document.body.outerHTML")!
println(body)
}
答案 1 :(得分:0)
将您的html文件保存到您的项目中,然后在webview中加载html,请参阅下面的内容,如果这不起作用请检查: - link
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
// Do any additional setup after loading the view, typically from a nib.
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let localfilePath = NSBundle.mainBundle().URLForResource("test", withExtension: "html");
let myRequest = NSURLRequest(URL: localfilePath!);
webView.loadRequest(myRequest);
//or use as below
let myHTMLString:String! = "<h1>Hello Pizza!</h1>"
webView.loadHTMLString(myHTMLString, baseURL: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}