您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
记录你在各个网站学习的时间
// ==UserScript== // @name timerecorder // @namespace * // @version 0.4 // @description 记录你在各个网站学习的时间 // @author passer21 // @match *://*/* // @icon https://img.zcool.cn/community/01271c5d391e43a80120695ccafcc2.jpg@1280w_1l_2o_100sh.jpg // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; // Your code here... const setcss = () => { var newstyles = ` /* CSS */ .button-86 { all: unset; width: 80px; height: 30px; font-size: 16px; background: transparent; border: none; position: relative; color: #f0f0f0; cursor: pointer; z-index: 1; padding: 10px 20px; display: flex; align-items: center; justify-content: center; white-space: nowrap; user-select: none; -webkit-user-select: none; touch-action: manipulation; } .button-86::after, .button-86::before { content: ''; position: absolute; bottom: 0; right: 0; z-index: -99999; transition: all .4s; } .button-86::before { transform: translate(0%, 0%); width: 100%; height: 100%; background: #28282d; border-radius: 10px; } .button-86::after { transform: translate(10px, 10px); width: 35px; height: 35px; background: #ffffff15; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); border-radius: 50px; } .button-86:hover::before { transform: translate(5%, 20%); width: 110%; height: 110%; } .button-86:hover::after { border-radius: 10px; transform: translate(0, 0); width: 100%; height: 100%; } .button-86:active::after { transition: 0s; transform: translate(0, 5%); }` var styleSheet = document.createElement("style") styleSheet.innerText = newstyles document.head.appendChild(styleSheet) } var startTime, endTime, timeSpent; const startcount = () => { // Get the current time when the page is loaded startTime = new Date(); //console.log(startTime); timeSpent = Number(localStorage.getItem("timeSpent")) || 0; // Get the previous time spent from localStorage or set it to zero if not found //console.log(timeSpent) } const stopcount = () => { // Get the current time when the page is unloaded endTime = new Date(); // Calculate the time difference in milliseconds var timeDiff = (endTime - startTime) / 1000; // Add the time difference to the previous time spent timeSpent += timeDiff; //console.log(timeSpent, endTime, startTime) // Save the new time spent in localStorage if (!isNaN(timeSpent)) { //console.log(timeSpent, 'when storage') localStorage.setItem("timeSpent", timeSpent); } } const GetTime = () => { let timer = localStorage.getItem("timeSpent"); //console.log(`total time is ${timer / 60} min`); return (timer / 60) } window.onload = function () { startcount(); //startcount(); }; window.onbeforeunload = function () { stopcount(); }; document.addEventListener("visibilitychange", function () { // If the document is hidden, stop the timer and save the time spent if (document.hidden) { stopcount(); } else { // If the document is visible, resume the timer and update the start time startcount(); } }); const showtime = () => { var iframe = document.createElement("iframe"); iframe.src = "about:blank"; document.body.appendChild(iframe); let spendingtime = GetTime() iframe.contentDocument.write(`<html><head><title>you time spending</title></head><body>你在这个网站的努力时长累计为${spendingtime}分钟</body></html>`); } const makebutton = () => { setcss() // Create a button element var button = document.createElement("button"); // Set the button text button.className = 'button-86' button.innerHTML = "time"; // Set the button style button.style.position = "fixed"; button.style.bottom = "0%"; button.style.right = "0"; // button.style.width = "50px"; // button.style.height = "50px"; // button.style.borderRadius = "50%"; // button.style.transform = "translate(0%, 0%)"; // button.style.backgroundColor = "blue"; // button.style.color = "white"; // button.style.border = "none"; // Add an event listener for the button click button.addEventListener("click", function () { // Do something when the button is clicked let spendingtime = GetTime() alert(`大神!您已经在这个网站上学习了${spendingtime}分钟了`); }); // Append the button to the document body document.body.appendChild(button); } makebutton() //comment it if you dont need it. //showtime() //uncomment it if you need. })();