![](/img/trans.png)
[英]iOS loadHtmlString in UIWebView doesn't work with Javascript
[英]iOS UIWebView loadHTMLString does not work
我尝试:
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)
}
是的,不为空
如果你打电话
self.webView.stringByEvaluatingJavaScriptFromString("document.body.outerHTML")!
loadHTMLString
是,由于UIWebView异步加载内容,因此在调用loadHTMLString
后loadHTMLString
情况。 在viewDidLoad
设置UIWebView
的委托,然后在委托方法中调用此EvaluationJS ...
func webViewDidFinishLoad(webView: UIWebView)
{
let body = self.webView.stringByEvaluatingJavaScriptFromString("document.body.outerHTML")!
println(body)
}
将您的html文件保存到您的项目中,然后将其加载到webview中,请参阅下文,如果这样做没有帮助,请检查此:- 链接
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.
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.