gpt4 book ai didi

ios - 检查 WebView 中的 URL 是否已更改?

转载 作者:行者123 更新时间:2023-11-28 15:49:04 26 4
gpt4 key购买 nike

我正在尝试检查 web View 中的 URL 是否已更改。例如,如果我最初加载一个页面,如 Wordpress 登录页面,我想知道它何时更改并被重定向到登录页面。我尝试使用此资源 enter link description here但答案似乎不完整并且不起作用。

 func validateUrl (stringURL : NSString) -> Bool {

var urlRegEx = "((https|http)://)((\\w|-)+)(([.]|[/])((\\w|-)+))+"
let predicate = NSPredicate(format:"SELF MATCHES %@", argumentArray:[urlRegEx])
var urlTest = NSPredicate.predicateWithSubstitutionVariables(predicate)

return predicate.evaluateWithObject(stringURL)
}

urlTest 从未被调用,所以我不确定它的目的。

  if (validateUrl(stringURL: "http://google.com")) {
//will return true
print("Do Stuff");
}
else {
print("OTHER STUFf")
//If it is false then do stuff here.
}

然后调用这个函数

 func webView(WebViewNews: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
if (validateUrl(request.URL().absoluteString())) {
//if will return true
print("Do Stuff");
}
}

我在代码末尾添加了一个返回函数,但该示例不包含返回。我在 Webview 方面的经验很少,所以任何建议或帮助将不胜感激。

最佳答案

使用 UIWebViewDelegate 的 webViewDidFinishLoad 函数获取加载到您的 webview 中的当前 URL。每次 webview 加载 URL 时,都会调用 webViewDidFinishLoad 函数。

class YourClass: UIViewController, UIWebViewDelegate {

let initialURL = URL(string: "https://www.google.com.pe/")
@IBOutlet weak var webView:UIWebView!

override func viewDidLoad() {
super.viewDidLoad()
webView.loadRequest( URLRequest(url: initialURL) )
}

func webViewDidFinishLoad(_ webView: UIWebView) {
if webView.request != URLRequest(url: initialURL!) {
//DO YOUR STUFF HERE
}
}

}

关于ios - 检查 WebView 中的 URL 是否已更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42586378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com