How can I configure a JotForm form to automagically capture browser version information, and supply that as part of the respondent's feedback?

  • Profile Image
    aturner
    Asked on March 03, 2013 at 01:37 PM

    We'd like to configure our JotForm form instance to determine the respondent's browser information (browser type and version), and supply the information with the form submission -- without having the respondent manually supply this information.  Is there a way to grab the browser information and supply it as a hidden field value?  How can we do this?

  • Profile Image
    sidharth_kch
    Answered on March 03, 2013 at 02:11 PM

    @ aturner

    You can achieve this with simple javascript code. 

    Steps: 

    1. Please copy the below code in your form.

    2. Create a hidden textbox in your form.

    3. Populate this hidden textbox with browser info by call these:

    BrowserDetect.browser - To get Browser name

    BrowserDetect.version - To get Version info

    BrowserDetect.OS - To get Operating system info

    Please let us know if you need further assistance.

    Thanks,

    Sidharth

     

    Code to copy in your form:

    <script type="text/javascript">
      <!--
      var BrowserDetect = {
      init: function () {
      this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
      this.version = this.searchVersion(navigator.userAgent)
      || this.searchVersion(navigator.appVersion)
      || "an unknown version";
      this.OS = this.searchString(this.dataOS) || "an unknown OS";
      },
      searchString: function (data) {
      for (var i=0;i<data.length;i++) {
      var dataString = data[i].string;
      var dataProp = data[i].prop;
      this.versionSearchString = data[i].versionSearch || data[i].identity;
      if (dataString) {
      if (dataString.indexOf(data[i].subString) != -1)
      return data[i].identity;
      }
      else if (dataProp)
      return data[i].identity;
      }
      },
      searchVersion: function (dataString) {
      var index = dataString.indexOf(this.versionSearchString);
      if (index == -1) return;
      return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
      },
      dataBrowser: [
      {
      string: navigator.userAgent,
      subString: "Chrome",
      identity: "Chrome"
      },
      { string: navigator.userAgent,
      subString: "OmniWeb",
      versionSearch: "OmniWeb/",
      identity: "OmniWeb"
      },
      {
      string: navigator.vendor,
      subString: "Apple",
      identity: "Safari",
      versionSearch: "Version"
      },
      {
      prop: window.opera,
      identity: "Opera",
      versionSearch: "Version"
      },
      {
      string: navigator.vendor,
      subString: "iCab",
      identity: "iCab"
      },
      {
      string: navigator.vendor,
      subString: "KDE",
      identity: "Konqueror"
      },
      {
      string: navigator.userAgent,
      subString: "Firefox",
      identity: "Firefox"
      },
      {
      string: navigator.vendor,
      subString: "Camino",
      identity: "Camino"
      },
      { // for newer Netscapes (6+)
      string: navigator.userAgent,
      subString: "Netscape",
      identity: "Netscape"
      },
      {
      string: navigator.userAgent,
      subString: "MSIE",
      identity: "Explorer",
      versionSearch: "MSIE"
      },
      {
      string: navigator.userAgent,
      subString: "Gecko",
      identity: "Mozilla",
      versionSearch: "rv"
      },
      { // for older Netscapes (4-)
      string: navigator.userAgent,
      subString: "Mozilla",
      identity: "Netscape",
      versionSearch: "Mozilla"
      }
      ],
      dataOS : [
      {
      string: navigator.platform,
      subString: "Win",
      identity: "Windows"
      },
      {
      string: navigator.platform,
      subString: "Mac",
      identity: "Mac"
      },
      {
      string: navigator.userAgent,
      subString: "iPhone",
      identity: "iPhone/iPod"
      },
      {
      string: navigator.platform,
      subString: "Linux",
      identity: "Linux"
      }
      ]
     
      };
      BrowserDetect.init();
     
      // -->
      </script>