Detect

Discussion in 'JS Plugin Releases (RMMV)' started by Yuuta Kirishima, May 8, 2016.

  1. Yuuta Kirishima

    Yuuta Kirishima Software Engineer/Professional Mayonnaise Player Veteran

    Messages:
    548
    Likes Received:
    131
    Location:
    North Carolina
    First Language:
    Engilsh
    Primarily Uses:
    RMMV
    Synopsis
     
    I made this because I needed this. This snippet gives functions to detect the user's browser or operating system. 
    Detectable Browsers are: Google Chrome, Mozilla Firefox, Internet Explorer, Microsoft Edge, and Safari. Detectable Operating systems are Linux, Unix, Windows and Mac
     
    How does it work?
     
    Detect the browser by calling the function 

    Code:
    Detect.browser()

    This function will return one the following as a string:

    Code:
     "Google Chrome", "Mozilla Firefox", "Internet Explorer", "Microsoft Edge", "Safari"
    

    If you have a browser that you would like added please tell me and a I will add it if deemed necessary.
     
    Detect the operating system or mobile device by calling the function

    Code:
    Detect.OS()

    This function will return one of the following as a string:


    "Windows", "Mac OS", "Unix", "Linux", "iOS", "Android", "Windows Phone"


    Updates:


    5/8/2016 - Can detect mobile devices
    Code:
    Download detect.js


    var Detect = {
    browser: function() {
    var n = navigator.userAgent.indexOf(" Edge/") >= 0,
    e = !!window.opera || navigator.userAgent.indexOf(" OPR/") >= 0,
    o = "undefined" != typeof InstallTrigger,
    i = (Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor") > 0, !!window.chrome && !e && !n),
    r = !!document.documentMode;
    return 1 == e ? "Opera" : 1 == o ? "Mozilla Firefox" : 1 == i ? "Google Chrome" : 1 == r ? "Internet Explorer" : 1 == n ? "Microsoft Edge" : void 0
    },
    OS: function() {
    var n = "Unknown OS";
    return -1 != navigator.appVersion.indexOf("Win") && (n = "Windows"), -1 != navigator.appVersion.indexOf("Mac") && (n = "MacOS"), -1 != navigator.appVersion.indexOf("X11") && (n = "UNIX"), -1 != navigator.appVersion.indexOf("Linux") && (n = "Linux"), navigator.userAgent.indexOf("iPhone") >= 0 && (n = "iOS"), navigator.userAgent.indexOf("Android") >= 0 && (n = "Android"), navigator.userAgent.indexOf("Windows Phone") >= 0 && (n = "Windows Phone"), n
    }
    };



    I recommend that you place this in the libs/ folder instead of the plugins folder to make the Detect function universal for all plugins.
     
    Usage
    Feel free to use in commercial or non-commercial credit is appreciated but not necessary.
     
    Last edited by a moderator: May 9, 2016
    #1
    Victor Sant and EternalShadow like this.
  2. Tsukihime

    Tsukihime Veteran Veteran

    Messages:
    8,230
    Likes Received:
    3,055
    Location:
    Toronto
    First Language:
    English
    Would it be possible to detect whether they're on a mobile device?
     
    #2
  3. Yuuta Kirishima

    Yuuta Kirishima Software Engineer/Professional Mayonnaise Player Veteran

    Messages:
    548
    Likes Received:
    131
    Location:
    North Carolina
    First Language:
    Engilsh
    Primarily Uses:
    RMMV
    Why didn't I think of that, possibly, however I might not be able to using the navigator.appVersion property.


    Edit: Actually it is possible using the navigator.userAgent property, I tested in Chrome emulator will add it asap.


    Edit 2: Added mobile device detection for iOS, Android, and Windows Phone. 
     
    Last edited by a moderator: May 9, 2016
    #3

Share This Page