Greasy Fork is available in English.

showClock figuccio

Mostra un orologio dragabile

  1. // ==UserScript==
  2. // @name showClock figuccio
  3. // @namespace https://greasyfork.org/users/237458
  4. // @description Mostra un orologio dragabile
  5. // @match *://*/*
  6. // @license MIT
  7. // @author figuccio
  8. // @version 0.9
  9. // @grant GM_setValue
  10. // @grant GM_getValue
  11. // @grant GM_registerMenuCommand
  12. // @grant GM_addStyle
  13. // @require https://code.jquery.com/jquery-3.6.0.min.js
  14. // @require https://code.jquery.com/ui/1.12.1/jquery-ui.js
  15. // @license MIT
  16. // @noframes
  17. // @icon data:image/gif;base64,R0lGODlhEAAQAKECABEREe7u7v///////yH5BAEKAAIALAAAAAAQABAAAAIplI+py30Bo5wB2IvzrXDvaoFcCIBeeXaeSY4tibqxSWt2RuWRw/e+UQAAOw==
  18. // ==/UserScript==
  19. var $ = window.jQuery;
  20. $(document).ready(function() {
  21. // Mostra l'orologio iniziale e prepara la data
  22. setInterval(showClock, 70);
  23.  
  24. function showClock() {
  25. var d = new Date();
  26. var t = d.toLocaleTimeString();
  27. var mm = d.getMilliseconds();
  28. var date = new Date().toLocaleString('it', {'weekday': 'short', 'month': '2-digit', 'day': '2-digit', 'year': 'numeric'});
  29.  
  30. if (document.getElementById("clockDiv")) document.getElementById("clockDiv").innerHTML = date + " " + t + ":" + mm;
  31. }
  32.  
  33. // Crea un elemento orologio
  34. var clock = document.createElement('div');
  35. clock.id = "clockDiv";
  36. clock.title = 'Time';
  37. clock.setAttribute("style", "position: fixed; left: 0px; top: 0px; font-family: arial; font-size: 18px; z-index: 99999999!important; background-color: red; color: white; border: 2px solid blue; width: auto; padding-left: 2px; padding-right: 2px; cursor: move;");
  38. document.body.appendChild(clock);
  39.  
  40. // Rendi il div trascinabile utilizzando jQuery UI
  41. $("#clockDiv").draggable({
  42. containment: "window", // Assicura che l'elemento draggable sia confinato alla finestra del browser
  43. stop: function(event, ui) {
  44. // Salva la posizione del div nell'oggetto local storage
  45. GM_setValue("clockPosition", ui.position);
  46. }
  47. });
  48.  
  49. // Aggiungi stile per la stampa (mostra/nasconde clock)
  50. var head, style;
  51. head = document.getElementsByTagName('head')[0];
  52. if (!head) { return; }
  53. style = document.createElement('style');
  54. style.type = 'text/css';
  55. style.innerHTML = "@media print {div#clockDiv {display: none;}} @media screen {div#clockDiv {display: block;}}";
  56. head.appendChild(style);
  57.  
  58. // Mostra o nascondi l'orologio quando si fa clic su un collegamento di menu
  59. GM_registerMenuCommand("Mostra/Nascondi Orologio", function() {
  60. var clockDiv = document.getElementById("clockDiv");
  61. if (clockDiv.style.display === "none") {
  62. clockDiv.style.display = "block";
  63. } else {
  64. clockDiv.style.display = "none";
  65. }
  66. });
  67.  
  68. // Ripristina la posizione del div dall'oggetto local storage se esiste
  69. var savedPosition = GM_getValue("clockPosition");
  70. if (savedPosition) {
  71. $("#clockDiv").css(savedPosition);
  72. }
  73.  
  74. showClock();
  75. });