1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import Foundation
- class NCRichdocument: NSObject, WKNavigationDelegate, WKScriptMessageHandler {
-
- @objc static let sharedInstance: NCRichdocument = {
- let instance = NCRichdocument()
- return instance
- }()
-
- var viewDetail: CCDetail!
- let appDelegate = UIApplication.shared.delegate as! AppDelegate
- @objc func viewRichDocumentAt(_ link: String, viewDetail: CCDetail) {
-
- self.viewDetail = viewDetail
-
- let contentController = WKUserContentController()
- contentController.add(self, name: "RichDocumentsMobileInterface")
- let configuration = WKWebViewConfiguration()
- configuration.userContentController = contentController
-
- let webView = WKWebView(frame: viewDetail.view.bounds, configuration: configuration)
- webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
- webView.navigationDelegate = self
-
- var request = URLRequest(url: URL(string: link)!)
- request.addValue("true", forHTTPHeaderField: "OCS-APIRequest")
- let language = NSLocale.preferredLanguages[0] as String
- request.addValue(language, forHTTPHeaderField: "Accept-Language")
-
- let userAgent : String = CCUtility.getUserAgent()
- webView.customUserAgent = userAgent
- webView.load(request)
-
- viewDetail.view.addSubview(webView)
- }
-
- public func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
-
- if (message.name == "RichDocumentsMobileInterface") {
- if message.body as! String == "close" {
- print("\(message.body)")
- }
- }
- }
-
- public func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
- if let serverTrust = challenge.protectionSpace.serverTrust {
- completionHandler(Foundation.URLSession.AuthChallengeDisposition.useCredential, URLCredential(trust: serverTrust))
- } else {
- completionHandler(URLSession.AuthChallengeDisposition.useCredential, nil);
- }
- }
-
- public func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
- print("didStartProvisionalNavigation");
- }
-
- public func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) {
- print("didReceiveServerRedirectForProvisionalNavigation");
- }
-
- public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
- print("didFinish");
- }
- }
|