【问题标题】:Close and open app and keep the last url visited in iOS webview关闭并打开应用程序并保留在 iOS webview 中访问的最后一个 url
【发布时间】:2022-01-05 06:02:39
【问题描述】:

我希望使用在 webview ios 应用上查看的最新 url 打开应用。 在 viewdidload() 中尝试过这个

    var hasHistoryUrl = false
    WebView.evaluateJavaScript("window.location.href") {
        (result,error)->Void in if (result != nil){
            hasHistoryUrl=true
        }
    }
    
    if (hasHistoryUrl){
       // let url = URL(string: historyUrl)
    } else {
        let url = URL(string: "https://www.url.com/")
        let request = URLRequest(url: url!)
        loadReq(request: request);
    }

在真实设备上不工作,在模拟器上总是以清除缓存打开。

【问题讨论】:

    标签: ios wkwebview


    【解决方案1】:

    当您打开您的应用程序时,所有变量初始化并且您之前的数据将消失。所以你需要在 userdefaults 中将最新访问的 url 保存为类似字符串-

    let url: String = "abcd.com"
    UserDefaults.standard.set(url, forKey: "MyUrl")
    

    当您打开应用程序时从用户默认设置获取 url -

    if let urlString = UserDefaults.string(forKey: ""MyUrl"") {
        // Do stuff
    }
    

    在您的代码中,将其插入为-

        WebView.evaluateJavaScript("window.location.href") {
            (result,error)->Void in if (result != nil){
                UserDefaults.standard.set(yourURL, forKey: "MyUrl")
            }
        }
        
        if let urlString = UserDefaults.string(forKey: ""MyUrl"") {
            // Do stuff
        } else {
            let url = URL(string: "https://www.url.com/")
            let request = URLRequest(url: url!)
            loadReq(request: request);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多