您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Autosaves mindmaps on Text2Mindmap
// ==UserScript== // @name Text2Mindmap Autosave // @version 0.02 // @description Autosaves mindmaps on Text2Mindmap // @author Domination9987 // @match http*://www.text2mindmap.com/*********************************************************************************************************************** // @grant none // @namespace http://your.homepage/ // ==/UserScript== //Plans //* Allow autosave without refreshing - Add an event listener to the close button, and inititate then //* Add a method of changing autosave time (input box) var checkInt, saveInt; var timerInt = false; var currentTime = 0; var autosaveTime = localStorage.autosaveTime || 10; var saveCountdown = localStorage.saveCountdown || false; Init(); setTimeout(Init2, 1000); function Init(){ SaveFile(); } function Init2(){ if ($("#savingStateSaved").css("display") == "inline"){ CheckIfSaveNeeded(); saveInt = setInterval(CheckIfSaveNeeded, 3000); } else { SetText("(Auto N/A)"); } } //Check if required to time function CheckIfSaveNeeded(){ if ($(".saveMsg").css("display") === "none"){ window.onbeforeunload = null; SetText("(saved)"); StopTimer(); } else { if (timerInt === false){ window.onbeforeunload = function() { return "You have unsaved changes!"; }; timerInt = setInterval(Timer, 1000); clearInterval(saveInt); } } } //Timer, called every second function Timer(){ currentTime += 1; modulo = currentTime % autosaveTime; if (modulo === 0){ SaveFile(); SetText("(saving...)"); StopTimer(); } else { if (saveCountdown){ SetText("(autosave " + (autosaveTime - (modulo)).toString() + ")"); } else { SetText("(unsaved)"); } } } //Stops timer function StopTimer(){ clearInterval(timerInt); timerInt = false; } //Saving functions, called every 30 seconds function SaveFile(){ OpenSave(); checkInt = setInterval(CheckDone, 500); } function CheckDone(){ if ($("#savingFinished").css("display") == "block" || $("#savingStateUnsaved").css("display") == "block"){ CloseSave(); clearInterval(checkInt); TextFocus(); saveInt = setInterval(CheckIfSaveNeeded, 3000); } } //Changes the text function SetText(text){ $('.tab-pane td').eq(1).find('h4').text("Outline your text " + text); } //This function refocuses on the text area after being saved function TextFocus(){ scrollTop = $("#textArea").scrollTop(); scrollLeft = $("#textArea").scrollLeft(); $("#textArea").focus(); $("#textArea").scrollLeft(scrollLeft); $("#textArea").scrollTop(scrollTop); } //This function opens a hidden save box function OpenSave(){ $("#saveBtn").click(); $(".modal-backdrop").css("display", "none"); $("#saveModal").css("display", "none"); } //This function closes a hidden save box function CloseSave(){ $("#saveModal").css("display", ""); $(".modal-backdrop").css("display", ""); $(".icon-close").parent().click(); } //Keyboard Events $("#textArea").keydown(function (){ modulo = currentTime % autosaveTime; if (modulo > autosaveTime - 3){ currentTime += modulo - autosaveTime; } });