0
代码如何在UIWebView加载请求之前设置sessionStorage?
这是我一直在努力做的事情:
import UIKit
import WebKit
class WebViewViewController: UIViewController {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string: "http://example.com/index.html")
webView.stringByEvaluatingJavaScript(from: "sessionStorage.setItem('exampleKey','exampleValue');")
let request = URLRequest(url: url! as URL)
webView.loadRequest(request)
}
}
问题
然而,寻找模拟器sessionStorage的Safari中的控制台时不包含exampleKey
。
问题
我怎样才能加载http://example.com/index.html
之前设置的sessionStorage?由亚历山大·拉腊提出
编辑
解决方案并不为我工作。
import UIKit
import WebKit
class WebViewViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string: "http://example.com/index.html")
let request = URLRequest(url: url! as URL)
webView.delegate = self
webView.loadRequest(request)
}
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
webView.stringByEvaluatingJavaScript(from: "sessionStorage.setItem('exampleKey','exampleValue');")
return true
}
}
这是行不通的。你测试过这个解决方案吗? – adrianp