您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds some useful icons to the neoboards
- // ==UserScript==
- // @name Neopets - Neoboard Enhancements
- // @author Jawsch
- // @match http://www.neopets.com/island/tradingpost.phtml*
- // @include http://www.neopets.com/neoboards/topic.phtml?topic=*
- // @version 0.0.1.20180611113234
- // @namespace Diceroll / Jawsch ;D
- // @description Adds some useful icons to the neoboards
- // ==/UserScript==
- var do_tradingpost_also = true; // enable it if you'd like. :P (set to true)
- ///////////
- $.urlParam = function(url, name) {
- var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(url);
- if (results===null) {
- return null;
- } else {
- return results[1] || 0;
- }
- };
- var linkmap = { // for urls and images
- trade: {
- "url": "http://www.neopets.com/island/tradingpost.phtml?type=browse&criteria=owner&search_string=%s",
- "img": "http://images.neopets.com/icons/trades.gif",
- "hint": "View this user's other trades!"
- },
- auction: {
- "url": "http://www.neopets.com/genie.phtml?type=find_user&auction_username=%s",
- "img": "http://images.neopets.com/icons/ul/auctions.gif",
- "hint": "View this user's auctions!"
- },
- shop: {
- "url": "http://www.neopets.com/browseshop.phtml?owner=%s",
- "img": "http://i.imgur.com/zTqY0jn.png",
- "hint": "View this user's shop!"
- },
- gallery: {
- "url": "http://www.neopets.com/gallery/index.phtml?gu=%s",
- "img": "http://images.neopets.com/trophies/222_1.gif",
- "hint": "View this user's gallery!"
- },
- stamp: {
- "url": "http://www.neopets.com/stamps.phtml?owner=%s",
- "img": "http://i.imgur.com/lb3Ms90.png",
- "hint": "View this user's stamp album!"
- },
- neomail: {
- "url": "http://www.neopets.com/neomessages.phtml?type=send&recipient=%s",
- "img": "http://images.neopets.com/icons/ul/neomail.gif",
- "hint": "Neomail this user!"
- },
- };
- function buildAccountLinks(obj, string) {
- var result = "";
- function sprintf(str, repl) {
- return str.replace("%s", repl);
- }
- $.each(obj, function(k, v) {
- result += '<a title="' + v['hint'] + '" href="' + sprintf(v['url'], string) + '" target="_blank"><img src="' + sprintf(v['img'], string) + '" width="20px" height="20px"></a> ';
- });
- return result;
- }
- // Trading Post
- if(document.URL.indexOf("/island/tradingpost") != -1 && do_tradingpost_also === true) {
- reports = $("a[href*='autoform_abuse']"); // we'll put the links before this.
- $.each(reports, function(index, value) {
- user = $.urlParam($(this).attr("href"), "offender");
- $(this).before(buildAccountLinks(linkmap, user) + " | ");
- });
- }
- // NeoBoards
- if(document.URL.indexOf("neoboards/topic.phtml") != -1) {
- $(".topicAuthor.sf").each(function(index, value) {
- user = $.urlParam($(this).find("a[href*='userlookup']").eq(0).attr("href"), "user");
- $(this).find("a[href*='userlookup']").eq(0).after("<hr noshade size='1' color='#D1D1D1'>" + buildAccountLinks(linkmap, user));
- // aaaand the pet page
- pet = $.urlParam($(this).find("a[href*='petlookup']").eq(1).attr("href"), "pet");
- if (pet) { // I mean...can people post if they have no pet? Eh, this will make sure it doesn't break if they can.
- $(this).find("a[href*='petlookup']").eq(1).after("<br><a href='http://www.neopets.com/~" + pet + "' target='_blank'><img src='http://images.neopets.com/games/arcade/cat/word_games_30x30.png' height='20px' width='20px'></a>");
- // removes "Active Neopet" text
- html = $(this).find("a[href*='petlookup']").parent().parent().html();
- $(this).find("a[href*='petlookup']").parent().parent().html(html.replace("Active Neopet", ""));
- }
- });
- }