Swift - (Consulta) - UIWebView - Abrir url en el navegador

 
Vista:
sin imagen de perfil

(Consulta) - UIWebView - Abrir url en el navegador

Publicado por jose antonio (1 intervención) el 19/05/2016 21:07:07
Hola buenas noches,
estoy creando UIWebView para visualizar el contenido de una web en la app pero hay ciertos videos de un determinado dominio (Brainshark.com) que quiero que en vez de que se abran en el WebView quiero que se abran aparte en el navegador ya sea safari o el que sea.

¿Sabe alguien como podria hacerlo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Solución para abrir videos de Brainshark en navegador externo

Publicado por Alejandro (12 intervenciones) el 21/02/2024 20:11:38
José, para lograr abrir los videos de Brainshark en un navegador externo en lugar de cargarlos en el `UIWebView`, puedes utilizar el método `shouldStartLoadWith` del delegado `UIWebViewDelegate`. Aquí hay un ejemplo de cómo hacerlo:

1. Conforma tu clase al protocolo `UIWebViewDelegate`:

1
2
3
class TuClaseViewController: UIViewController, UIWebViewDelegate {
    // ...
}

2. Asigna el delegado de tu `UIWebView` a la instancia de tu clase:

1
2
3
4
5
6
override func viewDidLoad() {
    super.viewDidLoad()
 
    tuWebView.delegate = self
    // Otros ajustes y carga de URL aquí...
}

3. Implementa el método `shouldStartLoadWith` para gestionar las solicitudes de carga:

1
2
3
4
5
6
7
8
9
10
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebView.NavigationType) -> Bool {
    if let url = request.url, let host = url.host, host.lowercased().contains("brainshark.com") {
        // Es un video de Brainshark, abre el enlace en el navegador externo
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
        return false  // Evita que el WebView cargue el enlace
    }
 
    // Continúa con la carga normal
    return true
}

Con este código, cuando el `UIWebView` intenta cargar una URL, verificará si pertenece a "brainshark.com". Si es así, abrirá la URL en el navegador externo y evitará que el `UIWebView` cargue la URL.

Recuerda ajustar el nombre de tu `UIWebView` y cualquier otro código relacionado con la carga de la URL según tus necesidades específicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar