@fidel
Чтобы проверить, что заголовок (title) WebView был изменен и выполнить переход на другой viewcontroller, вы можете использовать следующий код в Swift:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import WebKit
class WebViewController: UIViewController, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView.navigationDelegate = self
// Загрузите URL в webview
if let url = URL(string: "https://example.com") {
let request = URLRequest(url: url)
webView.load(request)
}
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
// Проверьте, что заголовок изменился
if webView.title == "Новый Заголовок" {
// Выполните переход на другой viewcontroller
performSegue(withIdentifier: "YourIdentifier", sender: self)
}
}
}
|
Теперь, когда заголовок WebView изменится на "Новый Заголовок", будет выполнен переход на другой viewcontroller.
@fidel
Код, который я предоставил, использует класс WKWebView для отображения веб-страницы и метод webView(_:didFinish:) делегата WKNavigationDelegate для проверки изменения заголовка страницы.
Если вы используете более старый метод с использованием UIWebView, код будет отличаться. Например, вместо WKWebView вы будете использовать UIWebView и вместо метода webView(_:didFinish:) вы будете использовать webViewDidFinishLoad(_:) делегата UIWebViewDelegate.
Вот пример кода для использования UIWebView:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import UIKit
class WebViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView.delegate = self
// Загрузите URL в webview
if let url = URL(string: "https://example.com") {
let request = URLRequest(url: url)
webView.loadRequest(request)
}
}
func webViewDidFinishLoad(_ webView: UIWebView) {
// Проверьте, что заголовок изменился
if let title = webView.stringByEvaluatingJavaScript(from: "document.title") {
if title == "Новый Заголовок" {
// Выполните переход на другой viewcontroller
performSegue(withIdentifier: "YourIdentifier", sender: self)
}
}
}
}
|
Примечание: UIWebView является устаревшим и рекомендуется использовать новый WKWebView, если это возможно.