diff options
author | Git <git@what.cd> | 2012-08-11 08:00:15 +0000 |
---|---|---|
committer | Git <git@what.cd> | 2012-08-11 08:00:15 +0000 |
commit | 8f340b001b8e6585e43791b01df1eed5d4be8f8b (patch) | |
tree | 4fb68f039cbbc392ba740467e5291a6fab539cdc /static/functions/detect_mobile.js | |
parent | 08cb7c2eb842ae29a879d617117f35d68fef585c (diff) | |
download | Gazelle-8f340b001b8e6585e43791b01df1eed5d4be8f8b.zip Gazelle-8f340b001b8e6585e43791b01df1eed5d4be8f8b.tar.gz Gazelle-8f340b001b8e6585e43791b01df1eed5d4be8f8b.tar.bz2 |
Empty commit
Diffstat (limited to 'static/functions/detect_mobile.js')
-rw-r--r-- | static/functions/detect_mobile.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/static/functions/detect_mobile.js b/static/functions/detect_mobile.js new file mode 100644 index 0000000..1ce72b8 --- /dev/null +++ b/static/functions/detect_mobile.js @@ -0,0 +1,80 @@ +var ANDROID_COOKIE_NAME = "mobile_checked_android"; +var OTHER_COOKIE_NAME = "mobile_checked_other"; +var MOBILE_SITE_URL = "https://m.what.cd/"; +var ANDROID_APP_URL = "http://bit.ly/git_wa_stable"; + +var isMobile = { + Android: function() { + return navigator.userAgent.match(/Android/i) ? true : false; + }, + BlackBerry: function() { + return navigator.userAgent.match(/BlackBerry/i) ? true : false; + }, + iOS: function() { + return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false; + }, + Windows: function() { + return navigator.userAgent.match(/IEMobile/i) ? true : false; + }, + Any: function() { + return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows()); + }, + NotAndroid: function() { + return (isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows()); + } +}; + +if(isMobile.Android()) { + if(!hasCookie(ANDROID_COOKIE_NAME)) { + setCookie(ANDROID_COOKIE_NAME, true, 365); + var result=confirm("A Android App is available for What.CD, would you like to download it?"); + if (result==true) { + window.location = ANDROID_APP_URL; + } + } +} + +else if(isMobile.NotAndroid()) { + if(!hasCookie(OTHER_COOKIE_NAME)) { + setCookie(OTHER_COOKIE_NAME, true, 365); + var result=confirm("A mobile version of What.CD is available, would you like to use it?"); + if (result==true) { + window.location = MOBILE_SITE_URL; + } + } +} + + +function setCookie(c_name,value,exdays) +{ +var exdate=new Date(); +exdate.setDate(exdate.getDate() + exdays); +var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); +document.cookie=c_name + "=" + c_value; +} + +function getCookie(c_name) +{ +var i,x,y,ARRcookies=document.cookie.split(";"); +for (i=0;i<ARRcookies.length;i++) +{ + x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); + y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); + x=x.replace(/^\s+|\s+$/g,""); + if (x==c_name) + { + return unescape(y); + } + } +} + + +function hasCookie(c_name) +{ +var checked=getCookie(c_name); + if (checked != null) + { + return true; + } + return false; +} |