Saltar al contenido

¿Cómo detectar el navegador con Angular?

Este escrito ha sido evaluado por especialistas así aseguramos la exactitud de nuestro post.

Solución:

He usado esto antes y funcionó bien.

const isIEOrEdge = /msies|trident/|edge//i.test(window.navigator.userAgent)

Utilice el siguiente código:

// Opera 8.0+
    var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;

    // Firefox 1.0+
    var isFirefox = typeof InstallTrigger !== 'undefined';

    // Safari 3.0+ "[object HTMLElementConstructor]" 
    var isSafari = /constructor/i.test(window.HTMLElement) || (function (p)  return p.toString() === "[object SafariRemoteNotification]"; )(!window['safari'] || safari.pushNotification);

    // Internet Explorer 6-11
    var isIE = /*@[email protected]*/false || !!document.documentMode;

    // Edge 20+
    var isEdge = !isIE && !!window.StyleMedia;

    // Chrome 1+
    //var isChrome = !!window.chrome && !!window.chrome.webstore;
    // If isChrome is undefined, then use:
    var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
    // Blink engine detection
    var isBlink = (isChrome || isOpera) && !!window.CSS;

    var output = 'Detecting browsers by ducktyping:
'; output += 'isFirefox: ' + isFirefox + '
'; output += 'isChrome: ' + isChrome + '
'; output += 'isSafari: ' + isSafari + '
'; output += 'isOpera: ' + isOpera + '
'; output += 'isIE: ' + isIE + '
'; output += 'isEdge: ' + isEdge + '
'; output += 'isBlink: ' + isBlink + '
'; document.body.innerHTML = output;

Para las personas que todavía encuentran este hilo:

Si está en Angular 10 o superior, sugiero usar el PlatformModuleque se agregó al CDK de material angular en la versión 10.

https://material.angular.io/cdk/platform/api

Si te gusta la idea, tienes la libertad de dejar un tutorial acerca de qué te ha gustado de esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *