从 UIWebView swift 编辑 html 代码
Edit html code from UIWebView swift
我正在我的应用程序中展示一个 WebView,但是,我想在我展示的网站上进行一些修改。例如,如果我加载 google.com,我可能想要更改 "google search" 按钮的文本。我该怎么做?
问的类似问题都在Objective C里,好像没用。
提前谢谢你。
我认为这对您有所帮助。在 Swift3
@IBOutlet weak var webView: UIWebView!
var firstLoad = true
override func viewDidLoad() {
super.viewDidLoad()
self.webView.delegate = self
self.webView.loadRequest(URLRequest(url: URL(string: "https://www.google.com.pk/")!))
// Do any additional setup after loading the view, typically from a nib.
}
func webViewDidFinishLoad(_ webView: UIWebView) {
let evaluate: String = "document.getElementById('main-title').value='\("New title")';"
webView.stringByEvaluatingJavaScript(from: evaluate)
//or
if firstLoad {
firstLoad = false
let html: String? = webView.stringByEvaluatingJavaScript(from: "document.documentElement.outerHTML")
//Edit html here, by parsing or similar.
webView.loadHTMLString(html!, baseURL: Bundle.main.resourceURL)
//print HTML for testing
print("HTML \(html!)")
}
}
我正在我的应用程序中展示一个 WebView,但是,我想在我展示的网站上进行一些修改。例如,如果我加载 google.com,我可能想要更改 "google search" 按钮的文本。我该怎么做?
问的类似问题都在Objective C里,好像没用。 提前谢谢你。
我认为这对您有所帮助。在 Swift3
@IBOutlet weak var webView: UIWebView!
var firstLoad = true
override func viewDidLoad() {
super.viewDidLoad()
self.webView.delegate = self
self.webView.loadRequest(URLRequest(url: URL(string: "https://www.google.com.pk/")!))
// Do any additional setup after loading the view, typically from a nib.
}
func webViewDidFinishLoad(_ webView: UIWebView) {
let evaluate: String = "document.getElementById('main-title').value='\("New title")';"
webView.stringByEvaluatingJavaScript(from: evaluate)
//or
if firstLoad {
firstLoad = false
let html: String? = webView.stringByEvaluatingJavaScript(from: "document.documentElement.outerHTML")
//Edit html here, by parsing or similar.
webView.loadHTMLString(html!, baseURL: Bundle.main.resourceURL)
//print HTML for testing
print("HTML \(html!)")
}
}