[英]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.