Browse Source

Route clicked links in the web view to the default web browser

Grant Limberg 9 years ago
parent
commit
62befe006d
1 changed files with 17 additions and 1 deletions
  1. 17 1
      ZeroTier One/AboutViewController.swift

+ 17 - 1
ZeroTier One/AboutViewController.swift

@@ -9,13 +9,15 @@
 import Cocoa
 import WebKit
 
-class AboutViewController: NSViewController {
+class AboutViewController: NSViewController, WebPolicyDelegate {
 
 
     @IBOutlet var webView: WebView!
 
     override func viewDidLoad() {
         super.viewDidLoad()
+
+        webView.policyDelegate = self
         // Do view setup here.
         let bundle = NSBundle.mainBundle()
         let path = bundle.URLForResource("about", withExtension: "html")
@@ -24,5 +26,19 @@ class AboutViewController: NSViewController {
             webView.mainFrame.loadRequest(NSURLRequest(URL: url))
         }
     }
+
+
+    func webView(webView: WebView!,
+                 decidePolicyForNavigationAction actionInformation: [NSObject : AnyObject]!,
+                 request: NSURLRequest!,
+                 frame: WebFrame!,
+                 decisionListener listener: WebPolicyDecisionListener!) {
+        if (request.URL?.host) != nil {
+            NSWorkspace.sharedWorkspace().openURL(request.URL!)
+        }
+        else {
+            listener.use()
+        }
+    }
     
 }