当前为
// ==UserScript==
// @name Leetcode Timer
// @description:en Start a timer whenever a user loads a problem at Leetcode.com
// @version 1
// @grant none
// @include *://*leetcode.com/problems/*
// @author ketankr9
// @namespace https://greasyfork.org/users/564674
// ==/UserScript==
function countdownTimer() {
var difference = +new Date() - startTime;
var elapsed = "0";
var parts = {
days: Math.floor(difference / (1000 * 60 * 60 * 24)),
hours: Math.floor((difference / (1000 * 60 * 60)) % 24),
minutes: Math.floor((difference / 1000 / 60) % 60),
seconds: Math.floor((difference / 1000) % 60)
};
elapsed = Object.keys(parts)
.map(part => {
if (!parts[part]) return;
return `${parts[part]} ${part}`;
})
.join(" ");
document.getElementById("countdown").innerHTML = elapsed;
}
var f = function(div){
div.innerHTML = '<div id="countdown" style="font-size:20px;"></div>' + div.innerHTML;
startTime = +new Date();
setInterval(countdownTimer, 1000);
}
function waitForElementToDisplay(selector, time, f) {
var node = document.getElementsByClassName(selector);
console.log(node);
if(node.length > 0) {
console.log("Element Found");
f(node[0])
return;
}
setTimeout(function() {
waitForElementToDisplay(selector, time, f);
}, time);
}
var startTime;
waitForElementToDisplay("btns__1OeZ", 1000, f);