This commit is contained in:
bekannax
2025-06-10 17:25:27 +07:00
parent 8dac77cc95
commit f9a46ebc8d

View File

@@ -176,6 +176,8 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa
chatView.navigationDelegate = self chatView.navigationDelegate = self
view = chatView view = chatView
print("\(logTag) :: loadView")
} }
private func getAlertLoadingActionCloseTitle() -> String { private func getAlertLoadingActionCloseTitle() -> String {
@@ -228,16 +230,19 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa
public func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) { public func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
showLoadingDialog() showLoadingDialog()
print("\(logTag) :: webView :: didStartProvisionalNavigation")
} }
public func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) { public func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
hideLoadingDialog() hideLoadingDialog()
showMessage(error.localizedDescription) showMessage(error.localizedDescription)
print("\(logTag) :: webView :: didFail")
} }
public func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: any Error) { public func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: any Error) {
hideLoadingDialog() hideLoadingDialog()
showMessage(error.localizedDescription) showMessage(error.localizedDescription)
print("\(logTag) :: webView :: didFailProvisionalNavigation")
} }
private func showMessage(_ message: String) { private func showMessage(_ message: String) {
@@ -260,16 +265,19 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa
} }
callJs = nil callJs = nil
} }
print("\(logTag) :: webView :: didFinish")
// hideLoadingDialog() // hideLoadingDialog()
} }
public func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> ()) { public func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> ()) {
if let _ = navigationAction.request.url?.host { if let _ = navigationAction.request.url?.host {
if (navigationAction.request.url?.absoluteString.contains(self.widgetOrg))! { if (navigationAction.request.url?.absoluteString.contains(self.widgetOrg))! {
print("\(logTag) :: webView :: navigationAction :: 1 :: \(navigationAction.request.url)")
decisionHandler(.allow) decisionHandler(.allow)
return return
} }
if (navigationAction.request.url?.absoluteString.contains(self.widgetUrl))! { if (navigationAction.request.url?.absoluteString.contains(self.widgetUrl))! {
print("\(logTag) :: webView :: navigationAction :: 2 :: \(navigationAction.request.url)")
decisionHandler(.allow) decisionHandler(.allow)
return return
} }
@@ -278,10 +286,12 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa
(navigationAction.request.url?.absoluteString.contains( "https://www.google.com/recaptcha/api/fallback?" ))! || (navigationAction.request.url?.absoluteString.contains( "https://www.google.com/recaptcha/api/fallback?" ))! ||
(navigationAction.request.url?.absoluteString.contains( "https://www.google.com/recaptcha/api2/bframe?" ))! (navigationAction.request.url?.absoluteString.contains( "https://www.google.com/recaptcha/api2/bframe?" ))!
) { ) {
print("\(logTag) :: webView :: navigationAction :: 3 :: \(navigationAction.request.url)")
decisionHandler(.allow) decisionHandler(.allow)
return return
} }
} }
print("\(logTag) :: webView :: navigationAction :: 3 :: \(navigationAction.request.url)")
decisionHandler(.cancel) decisionHandler(.cancel)
onLinkPressed(url: navigationAction.request.url!) onLinkPressed(url: navigationAction.request.url!)
} }
@@ -374,6 +384,7 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa
public func load(_ id: String, _ domain: String, _ language: String = "", _ clientId: String = "", _ apiToken: String = "", _ showCloseButton: Bool = true, css: String = "") { public func load(_ id: String, _ domain: String, _ language: String = "", _ clientId: String = "", _ apiToken: String = "", _ showCloseButton: Bool = true, css: String = "") {
print("\(logTag) :: load :: 1")
if apiToken != "" { if apiToken != "" {
ChatConfig.setApiToken(apiToken) ChatConfig.setApiToken(apiToken)
} }
@@ -426,6 +437,7 @@ open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessa
} }
chatView.load(URLRequest(url: url!)) chatView.load(URLRequest(url: url!))
chatView.allowsBackForwardNavigationGestures = true chatView.allowsBackForwardNavigationGestures = true
print("\(logTag) :: load :: 2")
} }
public func injectCss(style: String) { public func injectCss(style: String) {