JSFiddle - React, Tailwind, and code Playground

by alessandro_pezzato

JavaScript

(function () {

  var ctrlDown = false;
  var dotDown = false;

  var toggleWebgl = function () {
    if (!window.WebGLRenderingContext || (localStorage.getItem('forceNoWebgl') === 'true')) {
      alert('Questo computer non supporta la grafica 3d');
      return;
    }
    if (localStorage.getItem('webgl') === 'disabled') {
      /* abilita */
      localStorage.setItem('webgl', 'enabled');
    } else {
      /* disabilita */
      localStorage.setItem('webgl', 'disabled');
    }
    window.location.reload();
  };

  var checkCombo = function () {
    if (ctrlDown && dotDown) {
      toggleWebgl();
    }
  };

  $(document).keydown(function (key) {
    switch (parseInt(key.which, 10)) {
    case 17:
      ctrlDown = true;
      checkCombo();
      break;
    case 190:
      dotDown = true;
      checkCombo();
      break;
    default:
      break;
    }
  });

  $(document).keyup(function (key) {
    switch (parseInt(key.which, 10)) {
    case 17:
      ctrlDown = false;
      break;
    case 190:
      dotDown = false;
      break;
    default:
      break;
    }
  });

}());

var forceDisableWegl = function () {
  localStorage.setItem('webgl', 'disabled')
  localStorage.setItem('forceNoWebgl', 'true')
};