Условно отобразите сообщение пользователю о том, что мы поддерживаем только браузеры Chrome, firefox, edge, использующие угловые

#javascript #angular #typescript

Вопрос:

Я хочу показать сообщение о том, что мы поддерживаем браузеры Chrome, Safari, Firefox и Edge только условно, когда любой пользователь приходит из других браузеров, отличных от них, таких как Opera и т. Д. Итак, как этого добиться с помощью angular 10? Кто-нибудь может показать мне небольшой фрагмент кода?

Я пробовал использовать этот код, но он работает только для chrome.

 const userAgent = navigator.userAgent;
    let browser = "unkown";
    this.browserDetection = (/chrome|crios/i).test(userAgent) amp;amp; !(/opr|opera|chromium|edg|ucbrowser|googlebot/i).test(userAgent) ? 'Chrome' : browser;
    if(this.browserDetection === browser){
        this.displayMsg = "*Supported browser is Google Chrome"
    }
 

Спасибо.

Ответ №1:

Как правило, такой подход не идеален. Лучше решить вопрос о том, зачем вам нужно определять тип браузера.

Хорошая статья для чтения такова: https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent

Это дает несколько полезных советов и некоторые строки, которые следует искать в агенте пользователя при обнаружении различных браузеров.