JavaScript phpversion function

A JavaScript equivalent of PHP’s phpversion
function phpversion () {
  // http://kevin.vanzonneveld.net
  // +   original by: Brett Zamir (http://brett-zamir.me)
  // %        note 1: We are using this to get the JavaScript version (since this is JavaScript and we can't get the PHP version anyways)
  // %        note 2: The return value will depend on your client's JavaScript version
  // %        note 3: Uses global: php_js to store environment info
  // *     example 1: phpversion();
  // *     returns 1: '1.8'

  var xhtml = true,
    s = {},
    firstScript = {},
    d = this.window.document,
    c = 'createElement',
    cn = 'createElementNS',
    xn = 'http://www.w3.org/1999/xhtml',
    g = 'getElementsByTagName',
    gn = 'getElementsByTagNameNS';

  // BEGIN REDUNDANT
  this.php_js = this.php_js || {};
  // END REDUNDANT

  var getVersion = function (app) {
    var att = '',
      minVers = 0,
      versionString = '',
      temp_jsversion = undefined;
    if (this.php_js.jsversion !== undefined) {
      return this.php_js.jsversion;
    }
    while (this.php_js.jsversion === temp_jsversion && minVers < 10) {
      temp_jsversion = '1.' + minVers;
      if (gn) {
        firstScript = d[gn](xn, 'script')[0];
      }
      if (!firstScript) {
        firstScript = d[g]('script')[0];
        xhtml = false;
      }
      if (d[cn] && xhtml) {
        s = d[cn](xn, 'script');
      } else {
        s = d[c]('script');
      }

      if (app) { // Check with standard attribute (but not cross-browser standardized value?) as per Mozilla
        att = 'type';
        versionString = 'application/javascript;version=1.';
      } else {
        att = 'language'; // non-standard
        versionString = 'JavaScript1.';
      }

      s.setAttribute(att, versionString + minVers);
      s.appendChild(d.createTextNode("this.php_js.jsversion=" + "'1." + minVers + "'"));
      firstScript.parentNode.insertBefore(s, firstScript);
      s.parentNode.removeChild(s);
      minVers++;
    }
    return this.php_js.jsversion;
  };
  getVersion(true);
  getVersion(false);

  return this.php_js.jsversion;
}

Example 1
phpversion();

Should return
'1.8'
Теги:
phpversion
Добавлено: 26 Июля 2018 21:24:11 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...