@@ -23,16 +23,17 @@ class NightscoutViewController: UIViewController {
2323
2424 guard let myUrl = URL ( string: url) else { return }
2525
26- webView. configuration. preferences. javaScriptEnabled = true
26+ let webpagePreferences = WKWebpagePreferences ( )
27+ webpagePreferences. allowsContentJavaScript = true
28+ webView. configuration. defaultWebpagePreferences = webpagePreferences
29+
2730 webView. navigationDelegate = self
2831 webView. uiDelegate = self
2932 webView. load ( URLRequest ( url: myUrl) )
3033
3134 let refreshControl = UIRefreshControl ( )
3235 refreshControl. addTarget ( self , action: #selector( reloadWebView ( _: ) ) , for: . valueChanged)
3336 webView. scrollView. addSubview ( refreshControl)
34-
35- webView. uiDelegate = self
3637 }
3738
3839 @objc func reloadWebView( _ sender: UIRefreshControl ) {
@@ -41,7 +42,6 @@ class NightscoutViewController: UIViewController {
4142 sender. endRefreshing ( )
4243 }
4344
44- // New code to clear web cache
4545 func clearWebCache( ) {
4646 let dataStore = WKWebsiteDataStore . default ( )
4747 let cacheTypes = Set ( [ WKWebsiteDataTypeDiskCache, WKWebsiteDataTypeMemoryCache] )
@@ -106,4 +106,15 @@ extension NightscoutViewController: WKNavigationDelegate, WKUIDelegate {
106106
107107 return nil
108108 }
109+
110+ func webView( _ webView: WKWebView , didFinish _: WKNavigation ! ) {
111+ let javascript = """
112+ var meta = document.querySelector('meta[name= " viewport " ]');
113+ if (meta) {
114+ meta.setAttribute('content', 'width=device-width, initial-scale=0.9, maximum-scale=5.0, user-scalable=yes');
115+ }
116+ """
117+
118+ webView. evaluateJavaScript ( javascript)
119+ }
109120}
0 commit comments