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