-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdevice.js
70 lines (53 loc) · 1.67 KB
/
device.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
LIMO.namespace('LIMO')(function (ns) {
ns.Device = LIMO.extend(Object, {
isIPhone: function () {
return navigator.userAgent.indexOf('(iPhone;') != -1;
},
getIPhoneVersion: function(){
if(!this.isIPhone()){
throw new Error('is not iphone device');
}
var m = navigator.userAgent.match(/iPhone OS ([0-9]+)_/);
return m[1];
},
isIPad: function () {
return navigator.userAgent.indexOf('(iPad;') != -1;
},
isIPod: function () {
return navigator.userAgent.indexOf('(iPod;') != -1;
},
isAndroid: function () {
return navigator.userAgent.indexOf('Android') != -1;
},
isTizen: function(){
return navigator.userAgent.indexOf('Tizen') != -1;
},
isPc: function () {
if (!this.isMobileSize() && !this.isIPad() && !this.isAndroid()) {
return true;
}
return false;
},
hasEvent: function(name){
return (function () {
return (name in this);
})();
},
isTouch: function () {
return this.hasEvent('ontouchstart');
},
getWidth: function () {
return screen.width;
},
getHeight: function () {
return screen.height;
},
isLandscape: function () {
return Math.abs(window.orientation) === 90;
},
isMobileSize: function () {
return this.getWidth() <= 640 && this.getHeight() <= 1136;
}
});
ns.device = new ns.Device();
});