Advertisement
SeriousVenom

WebView_Test

Jan 31st, 2021
1,439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.91 KB | None | 0 0
  1. //
  2. //  ViewController.swift
  3. //  Evrika
  4. //
  5. //  Created by SeriousVenom on 30.01.2021.
  6. //
  7.  
  8. import UIKit
  9. import WebKit
  10.  
  11. var refController: UIRefreshControl = UIRefreshControl()
  12.  
  13. class ViewController: UIViewController, UIWebViewDelegate, WKNavigationDelegate, WKUIDelegate {
  14.  
  15.    
  16.     let webView: WKWebView = {
  17.         let prefs = WKWebpagePreferences()
  18.         prefs.allowsContentJavaScript = true
  19.         let configuration = WKWebViewConfiguration()
  20.         configuration.defaultWebpagePreferences = prefs
  21.         let webView = WKWebView(frame: .zero,
  22.                                 configuration: configuration)
  23.         return webView
  24.     }()
  25.  
  26.    // @IBOutlet weak var webView: WKWebView!
  27.    // @IBOutlet weak var activityIndicator: UIActivityIndicatorView
  28.    
  29.     override func viewDidLoad() {
  30.         super.viewDidLoad()
  31.        
  32.         self.webView.navigationDelegate = self
  33.         self.webView.uiDelegate = self
  34.        
  35.         view.addSubview(webView)
  36.         guard let url = URL(string: "https://evrikaspace.ru") else {
  37.             return
  38.         }
  39.         webView.load(URLRequest(url: url, cachePolicy:NSURLRequest.CachePolicy.returnCacheDataElseLoad))
  40.         webView.customUserAgent = "iPad/Chrome/SomethingRandom"
  41.        
  42.         let statusBarFrame = UIApplication.shared.statusBarFrame
  43.         let statusBarView = UIView(frame: statusBarFrame)
  44.         self.view.addSubview(statusBarView)
  45.         statusBarView.backgroundColor = .systemBackground
  46.         DispatchQueue.main.asyncAfter(deadline: .now()+5){
  47.             self.webView.evaluateJavaScript("document.body.innerHTML") {result, error in guard let html = result as? String, error == nil else {
  48.                 return
  49.             }
  50.             print(html)
  51.             }
  52.         }
  53.     }
  54.    
  55.     override func viewDidLayoutSubviews() {
  56.         super.viewDidLayoutSubviews()
  57.         webView.frame = view.bounds
  58.     }
  59.  
  60.    
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement