您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Program Guide for OTRKeyfinder.com
当前为
// ==UserScript== // @name OTRKeyfinder PG // @namespace http://userscripts.org/users/75950 // @description Program Guide for OTRKeyfinder.com // @include http://www.otrkeyfinder.com/?search=* // @include http://www.otrkeyfinder.com/index.php?search=* // @version 0.7.0 // @require http://userscripts.org/scripts/source/45988.user.js // ==/UserScript== var theLinks = Array(); var linkcount = 0; // SCRIPT VERSION CHECKER // VERSION 0.7.0 // Checks for updates every day and notifies you again after 14 days if you didn't update // Uses the @version token inside the ==UserScript== area var SVC = { currentVersion: "0.7.0", scriptName: "OTRKeyfinder PG", scriptNum: 47781, currentDate: null, latestVersion: null, userRequestCheck: null, trim: function (str, chars) { return SVC.ltrim(SVC.rtrim(str, chars), chars); }, ltrim: function (str, chars) { chars = chars || "\\s"; return str.replace(new RegExp("^[" + chars + "]+", "g"), ""); }, rtrim: function (str, chars) { chars = chars || "\\s"; return str.replace(new RegExp("[" + chars + "]+$", "g"), ""); }, versionInfo: { init: function () { SVC.currentDate = new Date(); var cv = parseInt( String(/[1-9].*/.exec(SVC.currentVersion)).replace(/\./g, "") ); // INITIALIZE LOCAL VALUES (FOR FIRST-TIME USE) if (!GM_getValue("latest")) GM_setValue("latest", cv ); if (!GM_getValue("notified")) GM_setValue("notified", false); if (!GM_getValue("lastChecked")) GM_setValue("lastChecked", (SVC.currentDate.getTime() - 1000*60*60*25) + ""); // UPDATE LOCAL VALUES (FOR FIRST-TIME USE AFTER REINSTALL NEWER VERSION) if (GM_getValue("latest") < cv) { GM_setValue("latest", cv); GM_setValue("notified", false); GM_setValue("lastChecked", SVC.currentDate.getTime() + ""); } }, verifyNotification: function() { SVC.userRequestCheck = false; var sp = SVC.currentDate.getTime() - parseInt(GM_getValue("lastChecked")); // CHECK SOURCE IF USER HAS BEEN NOTIFIED OF AN UPDATED VERSION BEFORE AND 14 DAYS HAVE PASSED if (GM_getValue("notified")) { if ( sp / (1000*60*60*24) > 14 ) SVC.versionInfo.startXmlHttp(); // CHECK SOURCE FOR THE LATEST VERSION IF ONE DAY HAS PASSED SINCE LAST CHECKED } else { if ( sp / (1000*60*60*24) > 1 ) SVC.versionInfo.startXmlHttp(); } }, startXmlHttp: function () { try { GM_xmlhttpRequest({ method: 'GET', url: "http://userscripts.org/scripts/review/" + SVC.scriptNum, onload: function(responseDetails) { if (responseDetails.status == 404) { if (SVC.userRequestCheck) SVC.versionInfo.manualErrorMsg(); } else if (responseDetails.status == 200) { var newElem = document.createElement('div'); newElem.innerHTML = responseDetails.responseText; //newElem.style.display = 'none'; //newElem.getElementsByClassName('ad')[0].innerHTML=''; //document.body.appendChild(newElem); var theSource = newElem.getElementsByTagName('pre')[0]; //alert(theSource.innerHTML); var uv = SVC.versionInfo.processResponseText(theSource); if (uv) { SVC.updatedVersion = parseInt(uv.replace(/\./g, "")); SVC.versionInfo.compareVersions(SVC.updatedVersion); } else { if (SVC.userRequestCheck) SVC.versionInfo.manualErrorMsg(); } //newElem.parentNode.removeChild(newElem); } } }); } catch(err) { } }, processResponseText: function (theNewElem) { var versionfound = false; var theVersionPart; var theLines = theNewElem.innerHTML.split('\n'); for(i=0; i<theLines.length; i++) { theLines[i]=SVC.trim(theLines[i]); if(theLines[i].indexOf('// @version')==0) { versionfound = true; theVersionPart = SVC.trim(theLines[i].substring(11)); } } if(versionfound) { return theVersionPart; } else { return false; } }, compareVersions: function (updatedVersion) { // DO NOTHING IF NO CHANGE IN VERSIONS if (updatedVersion <= GM_getValue("latest",0)) { if (SVC.userRequestCheck) alert('Auto-check completed!\n---------------------------\n\nYou are using the latest greasemonkey script \n\n~ ' + SVC.scriptName + ' ~ version ' + SVC.currentVersion + '.\n\n '); return; } // UPDATE LOCAL VALUES if (String(updatedVersion).length == 2) updatedVersion = "0" + String(updatedVersion); SVC.latestVersion = String(updatedVersion).replace(/\B/g, "."); GM_setValue("notified", true); GM_setValue("lastChecked", SVC.currentDate.getTime() + ""); // NOTIFY USER if (SVC.userRequestCheck) { var reply = confirm('Auto-check completed!\n---------------------------\n\nThe Greasemonkey Script\n~ ' + SVC.scriptName + ' ~\nhas recently been updated to v.' + SVC.latestVersion + '. \n\nYou are currently using version ' + SVC.currentVersion + '.\nWould you like to visit the download page at userscripts.org now?\n\n '); if (reply) GM_openInTab("http://userscripts.org/scripts/show/" + SVC.scriptNum); } else { var reply = confirm('Latest news for Greasemonkey Scripts!\n-----------------------------------------------\n\nThe Greasemonkey Script\n~ ' + SVC.scriptName + ' ~\nhas recently been updated to v.' + SVC.latestVersion + '. \n\nYour current working version is ' + SVC.currentVersion + '.\nWould you like to visit the download page at userscripts.org now?\n\n '); if (reply) GM_openInTab("http://userscripts.org/scripts/show/" + SVC.scriptNum); } }, autoChecking: function () { SVC.versionInfo.init(); SVC.versionInfo.verifyNotification(); }, manualChecking: function () { SVC.userRequestCheck = true; SVC.versionInfo.startXmlHttp(); }, manualErrorMsg: function () { var reply = confirm('Alert!\n-------\n\nAuto-checking for the latest version of the Greasemonkey Script ~ ' + SVC.scriptName + ' ~ has not been successful.\n\nYou may wish to try again later or visit the download page to check manually. For your information, your current working version is ' + SVC.currentVersion + '. \n\nWould you like to visit the download page at userscripts.org now?\n\n '); if (reply) GM_openInTab("http://userscripts.org/scripts/show/" + SVC.scriptNum); }, } }; window.addEventListener( 'load', function () { USP.theScriptName='OTRKeyfinder PG'; USP.init({theName:'ShowDivX', theText:'DivX anzeigen?', theDefault:true}, {theName:'ShowMP4', theText:'MP4 anzeigen?', theDefault:false}, {theName:'ShowHQ', theText:'HQ anzeigen?', theDefault:false}, {theName:'ShowHD', theText:'HD anzeigen?', theDefault:false} ); GM_registerMenuCommand('Einstellungen fuer ~'+USP.theScriptName+'~', USP.invoke); SVC.versionInfo.autoChecking(); theLinks = document.getElementsByClassName('searchResult'); linkcount = theLinks.length; if(linkcount>0) { // Show all var showMP4 = USP.getValue('ShowMP4'); var showHQ = USP.getValue('ShowHQ'); var showDivX = USP.getValue('ShowDivX'); var showHD = USP.getValue('ShowHD'); var SortOrder = USP.getValue('SortOrder'); // Get rid off not to be shown content for (var j=theLinks.length-1; j>=0; j--) { if ((showMP4==false && theLinks[j].textContent.indexOf('mp4.otrkey')!=-1) || (showHQ==false && theLinks[j].textContent.indexOf('HQ.avi.otrkey')!=-1) || (showDivX==false && theLinks[j].textContent.indexOf('mpg.avi.otrkey')!=-1) || (showHD==false && theLinks[j].textContent.indexOf('mpg.HD')!=-1)) { theLinks[j].parentNode.removeChild(theLinks[j]); } } // Set sort order Date/Time, update search var theCheckbox=document.getElementById('order2'); if(!theCheckbox.checked) { document.getElementById('order2').checked='checked'; document.getElementsByTagName('form')[0].submit(); } } }, true);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址