| OLD | NEW |
| 1 ### CoffeeScript version of the browser detection from MooTools ### | 1 ### CoffeeScript version of the browser detection from MooTools ### |
| 2 | 2 |
| 3 ua = navigator.userAgent.toLowerCase() | 3 ua = navigator.userAgent.toLowerCase() |
| 4 platform = navigator.platform.toLowerCase() | 4 platform = navigator.platform.toLowerCase() |
| 5 UA = ua.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|ve
rsion[\s\/:]([\w\d\.]+)|$)/) or [null, 'unknown', 0] | 5 UA = ua.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|ve
rsion[\s\/:]([\w\d\.]+)|$)/) or [null, 'unknown', 0] |
| 6 mode = UA[1] == 'ie' && document.documentMode | 6 mode = UA[1] == 'ie' && document.documentMode |
| 7 | 7 |
| 8 browser = | 8 browser = |
| 9 name: if UA[1] is 'version' then UA[3] else UA[1] | 9 name: if UA[1] is 'version' then UA[3] else UA[1] |
| 10 version: mode or parseFloat(if UA[1] is 'opera' && UA[4] then UA[4] else UA[2]
) | 10 version: mode or parseFloat(if UA[1] is 'opera' && UA[4] then UA[4] else UA[2]
) |
| 11 | 11 |
| 12 platform: | 12 platform: |
| 13 name: if ua.match(/ip(?:ad|od|hone)/) then 'ios' else (ua.match(/(?:webos|an
droid)/) or platform.match(/mac|win|linux/) or ['other'])[0] | 13 name: if ua.match(/ip(?:ad|od|hone)/) then 'ios' else (ua.match(/(?:webos|an
droid)/) or platform.match(/mac|win|linux/) or ['other'])[0] |
| 14 | 14 |
| 15 browser[browser.name] = true | 15 browser[browser.name] = true |
| 16 browser[browser.name + parseInt(browser.version, 10)] = true | 16 browser[browser.name + parseInt(browser.version, 10)] = true |
| 17 browser.platform[browser.platform.name] = true | 17 browser.platform[browser.platform.name] = true |
| 18 | 18 |
| 19 module.exports = browser | 19 module.exports = browser |
| OLD | NEW |