您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show hidden info on Quickmatch page
当前为
// ==UserScript== // @name OkC Hidden Quickmatch Info // @namespace http://thlayli.detrave.net // @version 1.3 // @description Show hidden info on Quickmatch page // @author Nathan Blume // @match http://www.okcupid.com/quickmatch* // @grant none // ==/UserScript== // show nonsensical attractiveness number var showAttractiveness = false; // automatically skip certain profiles - set to "true" to use autoSkip options below var autoSkipEnabled = false; // auto skip settings var autoSkipMatch = 50; // skip if less than this match percentage var autoSkipEnemy = 50; // skip if more than this enemy percentage // autoSkipCases skips profiles based on [orientation-gender-status] (see info below) var autoSkipCases = []; // autoSkip instrctions: Enter sets of three numbers inside the brackets. // Numbers should be separated by hyphens and surrounded by quotes. // Multiple sets can be entered separated by commas. // // Number key: // orientation: 0 = ignore, 1 = straight, 2 = gay, 3 = bi // gender: 0 = ignore, 1 = male, 2 = female // status: 0 = ignore, 1 = single, 2 = seeing-someone, 3 = married, 4 = available, 5 = open-relationship, 8 = mostly-nonmonogamous // // e.g. ["1-3-0"] skips bi males // e.g. ["1-2-0","1-2-3"] skips gay males and married straight females var secret_orientation; var secret_gender; var secret_status; function updateMoreInfo(){ if(!$("enemy")){ $("match").firstElementChild.innerHTML += ' <span style="color: #949aa6; display: inline;" id="enemy"></span>'; } if(!$("more_info")){ $("left").innerHTML = "<div id=\"more_info\"></div>" + $("left").innerHTML; } switch(Quickmatch.stack[0].orientation) { case 1: secret_orientation = "Straight"; break; case 2: secret_orientation = "Gay"; break; case 3: secret_orientation = "Bisexual"; break; default: secret_orientation = Quickmatch.stack[0].orientation; } switch(Quickmatch.stack[0].tracking_gender) { case 1: secret_gender = "Male"; break; case 2: secret_gender = "Female"; break; default: secret_gender = Quickmatch.stack[0].tracking_gender; } switch(Quickmatch.stack[0].status) { case 1: secret_status = "Single"; break; case 2: secret_status = "Seeing Someone"; break; case 3: secret_status = "Married"; break; case 4: secret_status = "Available"; break; case 5: secret_status = "Open Relationship"; break; case 8: secret_status = "Mostly Nonmonogamous"; break; default: secret_status = Quickmatch.stack[0].status; } $("enemy").innerHTML = '| <strong class="percent">' + Quickmatch.stack[0].epercentage + '</strong>% Enemy'; $("more_info").innerHTML = "<h2>More Info</h2>" + "Screen Name: <a href=\"http://www.okcupid.com/profile/" + Quickmatch.stack[0].sn + "?cf=quickmatch\">" + Quickmatch.stack[0].sn + "</a><br />Gender: " + secret_gender + "<br />Orientation: " + secret_orientation + "<br />Status: " + secret_status; if(Quickmatch.stack[0].attractiveness && showAttractiveness === true) $("more_info").innerHTML += "<br />Attractiveness: " + Quickmatch.stack[0].attractiveness; $("more_info").innerHTML += "<br /><br />"; } function autoSkip(){ if(autoSkipEnabled == true){ if(Quickmatch.stack[0].epercentage >= autoSkipEnemy){ document.getElementById("quickmatch-dislike").click(); } if(Quickmatch.stack[0].fpercentage < autoSkipMatch){ document.getElementById("quickmatch-dislike").click(); } if(autoSkipCases.length > 0){ for(i=0;i<autoSkipCases.length;i++){ skipCase = autoSkipCases[i].split("-"); console.debug(skipCase); orientationSkip = skipCase[0]; genderSkip = skipCase[1]; statusSkip = skipCase[2]; orientationSkipMatch = false; genderSkipMatch = false; statusSkipMatch = false; if(orientationSkip == 0 || Quickmatch.stack[0].orientation == orientationSkip) orientationSkipMatch = true; if(genderSkip == 0 || Quickmatch.stack[0].tracking_gender == genderSkip) genderSkipMatch = true; if(statusSkip == 0 || Quickmatch.stack[0].status == statusSkip) statusSkipMatch = true; if(orientationSkipMatch == true && genderSkipMatch == true && statusSkipMatch == true){ console.debug('skipping ' + Quickmatch.stack[0].sn); document.getElementById("quickmatch-dislike").click(); } } } } } var startTracing = function (onnew) { window.ajaxRequestComplete = 'no';//Make as a global javascript variable window.ajaxRequestStarted = 'no'; XMLHttpRequest.prototype.uniqueID = function() { if (!this.uniqueIDMemo) { this.uniqueIDMemo = Math.floor(Math.random() * 1000); } return this.uniqueIDMemo; }; XMLHttpRequest.prototype.oldOpen = XMLHttpRequest.prototype.open; var newOpen = function(method, url, async, user, password) { ajaxRequestStarted = 'open'; /*alert(ajaxRequestStarted);*/ this.oldOpen(method, url, async, user, password); }; XMLHttpRequest.prototype.open = newOpen; XMLHttpRequest.prototype.oldSend = XMLHttpRequest.prototype.send; var newSend = function(a) { var xhr = this; var onload = function() { ajaxRequestComplete = 'loaded'; //print info to page updateMoreInfo(); autoSkip(); }; var onerror = function( ) { ajaxRequestComplete = 'Err'; /*alert(ajaxRequestComplete);*/ }; xhr.addEventListener("load", onload, false); xhr.addEventListener("error", onerror, false); xhr.oldSend(a); }; XMLHttpRequest.prototype.send = newSend; }; startTracing(); updateMoreInfo(); autoSkip();