How to detect browser in Ember

1.9k Views Asked by At

Does Ember have built-in way to detect browser? Something like this if using this library(bowser)

    if (bowser.msie) {
        ...
    } else if (bowser.gecko) {
        ...
    } else if (bowser.webkit) {
        ...
    }

Or, I can just npm install bowser, then import it and use it in Ember

3

There are 3 best solutions below

0
On

Ember UserAgent is an Ember addon which exposes a userAgent service, making it easy to detect browser, device, OS and more.

It works in both browser & Fastboot environments and is as simple as:

const userAgent = this.get('userAgent');

userAgent.get('browser.isChrome'); // Boolean
userAgent.get('engine.isWebKit'); // Boolean
userAgent.get('os.info'); // => { name: 'Ubuntu', version: '11.10' }
userAgent.getDevice(); // => { model: 'iPhone 7', type: 'mobile', vendor: 'Apple'}
0
On

I guess there won't be any builtin way in ember to detect browser AFAIK. Usually this kind of job will be delegated to ember addon, may be try ember-browser-checker if this is not fulfilled your requirement then you can consider any npm/bower libraries like you found bowser.

0
On

I implemented a little browsercheck as service be aware that this is not secure, but works for simple needs