您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
基於貼吧內建之文字備份系統的管理器
// ==UserScript== // @name Cache Manager for Tieba Ueditor // @version 0.7 // @description 基於貼吧內建之文字備份系統的管理器 // @include http://tieba.baidu.com/* // @author Shyangs // @grant none // @require http://cdn.jsdelivr.net/localforage/1.2.0/localforage.min.js // @icon http://tb.himg.baidu.com/sys/portrait/item/4daf736879616e6773fc03 // @namespace https://github.com/shyangs#cm4tu // @license GPLv3; http://opensource.org/licenses/gpl-3.0.html // ==/UserScript== // localStorage_key: localStorage_value // draft-66891597-635137-0: 1449481471315|<p><br></p> // draft-{{user_id}}-{{forum_id}}-{{thread_id}}: {{備份時間,1969年1月1日00:00:00起算的毫秒數}}|{{備份內容}} ;(function(w, $, _, reg){ if(w.top !== w.self)return; // Not in a frame var opacity = 0.85; var opacityImg = 0.4; var previewTextLength = 36; var bBgImg; var fOption = function(){ var arr = [['', Number.MAX_VALUE+'|<p>(请选择一个备份)</p>']]; var str = ''; var key; for(key in localStorage){ reg.test(key) && arr.push([key, localStorage.getItem(key)]); } arr.sort(function(a, b){ return Number(b[1].split('|')[0]) - Number(a[1].split('|')[0]); }); arr.forEach(function(item){ str += '<option value="'+ item[0] +'">'+ _.escape(item[1].split('|')[1].substr(0, previewTextLength+7).slice(3, -4)) + '</option>'; }); return str; }; var fCurrentDraftKey = function(){ var el = $('#cm4tu-ui-select')[0]; return el.getElementsByTagName('option')[el.selectedIndex].value; }; var fInsertBackupText = function(selector){ var key = fCurrentDraftKey(); var sHTML = key?localStorage.getItem(key).split('|')[1]:''; $(selector).html(sHTML); }; var fUIupdate = function(){ $('#cm4tu-ui-select').replaceWith('<select style="width: 100%" id="cm4tu-ui-select">'+fOption()+'</select>'); $("#cm4tu-ui-select").change(function(){fInsertBackupText('#cm4tu-ui-textarea');}); fInsertBackupText('#cm4tu-ui-textarea'); }; var fMain = function($toolbar){ $('<div id="cm4tu-tbbtn" class="edui-btn edui-btn-name-list"><div>▤ 暂存</div></div>') .css({ 'cursor': 'pointer', 'margin': '0 0 0 8px', 'color': '#3163B6'}) .appendTo($toolbar) .click(function(){ var $ui = $('#cm4tu-ui'); if($ui.length === 0){ $('<div id="cm4tu-ui" '+(bBgImg?'class="cm4tu-ui-bgImg"':'')+'>'+ '<div id="cm4tu-ui-title" style="text-align: center; text-decoration: underline;">Cache Manager for Tieba Ueditor<a id="cm4tu-ui-close" href="###" style="background-color: rgba(242, 217, 227, .8); float: right;">x</a></div>'+ '<div><select style="width: 100%" id="cm4tu-ui-select">'+fOption()+'</select></div>'+ '<div style="padding-top: 10px;"><div style="width: 100%; height: 250px; outline: gray solid thin; overflow:auto;" id="cm4tu-ui-textarea" contenteditable="false"></div></div>'+ '<div id="cm4tu-ui-bottom"><div id="cm4tu-btn-insert" class="div-inline cm4tu-btn">插入</div><div id="cm4tu-btn-delete" class="div-inline cm4tu-btn">删除此笔</div><div id="cm4tu-btn-clear" class="div-inline cm4tu-btn">全部删除</div><div class="div-inline"><input id="cm4tu-checkbox-bgImg" type="checkbox" '+(bBgImg?'checked':'')+'/>背景图片(<a href="http://tieba.baidu.com/f?kw=%E5%A4%8F%E8%AF%AD%E9%81%A5&ie=utf-8">夏語遙</a>)</div><div class="div-inline"><a href="http://tieba.baidu.com/f?kw=firefox">Firefox吧</a><a href="http://firefoxbar.github.io/">项目组</a></div>出品</div>'+ '</div>') .css({ 'z-index': 60006, 'cursor': 'move', 'bottom': '500px', 'left': '10%', 'width': '650px', 'height': '300px', 'padding': '15px 25px 35px 25px', 'background': 'rgba(156, 214, 174, '+opacity+')'}) .appendTo(document.body) .draggable({ // 讓可能有捲軸的#cm4tu-ui-textarea元素不可拖動,使捲軸正常工作 start: function(e, ui){ if ($(e.originalEvent.target).is('#cm4tu-ui-textarea')) e.preventDefault(); } }); $('#cm4tu-ui-select').change(function(){fInsertBackupText('#cm4tu-ui-textarea');}); $('#cm4tu-checkbox-bgImg').click(function(){ localforage.setItem('bBgImg', this.checked, function(value){ $('#cm4tu-ui').toggleClass('cm4tu-ui-bgImg'); bBgImg = value; }); }); fInsertBackupText('#cm4tu-ui-textarea'); $('#cm4tu-btn-insert').click(function(){ fInsertBackupText('#ueditor_replace'); $('#cm4tu-ui').hide(); }); $('#cm4tu-btn-delete').click(function(){ if(fCurrentDraftKey()==='')return; localStorage.removeItem(fCurrentDraftKey()); fUIupdate(); }); $('#cm4tu-btn-clear').click(function(){ var key; for(key in localStorage){ reg.test(key) && localStorage.removeItem(key); } fUIupdate(); $('#cm4tu-ui').hide(); }); $('#cm4tu-ui-close').click(function(){ $('#cm4tu-ui').hide(); return false; }); }else{ fUIupdate(); $ui.show(); } }); }; $('head').append($('<style>\ #cm4tu-ui *{\ opacity: '+opacity+';\ }\ .cm4tu-ui-bgImg:after{\ background: url(http://imgsrc.baidu.com/forum/pic/item/db8e083df8dcd100995fea6a718b4710b8122f07.jpg);\ opacity: '+opacityImg+';\ width: 700px;\ height: 350px;\ bottom: 0;\ right: 0;\ position: absolute;\ z-index: -1;\ content: "";\ }\ #cm4tu-ui-textarea{\ cursor: not-allowed;\ }\ .cm4tu-btn{\ background: rgb(1, 152, 88);\ cursor: pointer;\ }\ .div-inline{\ margin-left: 15px;\ padding: 2px;\ display: inline;\ }\ #cm4tu-ui a{\ color: blue !important;\ }\ </style>')); localforage.getItem('bBgImg', function(err, value){ if(null === value){ bBgImg = true; localforage.setItem('bBgImg', bBgImg); }else{ bBgImg = value; } }); var observer = new MutationObserver(function(mutations){ mutations.forEach(function(mutation){ if($('#cm4tu-tbbtn').length !== 0)return; var addedNodes = mutation.addedNodes; var ii = addedNodes.length; while(ii--){ var $toolbar = $(addedNodes[ii]).find('.edui-btn-toolbar'); if($toolbar.length === 0)continue; observer.disconnect(); fMain($toolbar); break; } }); }); observer.observe($('#tb_rich_poster_container')[0], {childList: true, subtree: true}); var $toolbar = $('.edui-btn-toolbar'); if($('#cm4tu-tbbtn').length === 0 && $toolbar.length !== 0){ fMain($toolbar); } })(window, window.$, window._, /^draft/);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址