您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Local user tags for the neoboards
- // ==UserScript==
- // @name Neoboard User Tagger
- // @namespace neotagger
- // @description Local user tags for the neoboards
- // @include *://www.neopets.com/neoboards/*
- // @version 1.1
- // @grant none
- // @require https://greasyfork.org/scripts/34286-grant-none-shim/code/grant%20none%20shim.js?version=224672
- // @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js
- // ==/UserScript==
- var usersOnPage = [];
- var savedTags = []; // [["username","tag"],["username","tag"]]
- $(document).ready(function(){
- addStyle();
- loadSavedData();
- usersOnPage = $.merge($('a[href*="randomfriend.phtml?user="] > b').parent(), $('a[href*="userlookup.phtml?user="] > strong').parent());
- createTags();
- });
- function addStyle() {
- $("body").prepend("<style>.neotag{border: 1px solid; padding: 0px 3px 1px; border-radius: 3px; background: #FFFFFF; color: #4D4D4D; display: inline-block; cursor: pointer;} .neotag:hover{background: #C4DEFF;}</style>");
- }
- function loadSavedData() {
- if(GM_getValue("savedTags")){
- savedTags = JSON.parse(GM_getValue("savedTags"));
- }
- }
- function saveData() {
- GM_setValue("savedTags", JSON.stringify(savedTags));
- }
- function createTags() {
- // remove any existing tags so we can
- // add them with updated information
- $('.neotag').remove();
- for (var i = 0; i < usersOnPage.length; i++) {
- var tagText = "-";
- for (var j = 0; j < savedTags.length; j++) {
- if (savedTags[j][0] == getUsernameFromElement($(usersOnPage[i]))) {
- tagText = savedTags[j][1];
- }
- }
- $(usersOnPage[i]).after(" <div class='neotag' data-username='" + getUsernameFromElement($(usersOnPage[i])) + "'>" + tagText + "</div>");
- }
- $('.neotag').click(function(){setTag(this);});
- }
- function getUsernameFromElement(element) {
- return $(element).attr("href").split("?user=")[1];
- }
- function setTag(tag) {
- var setTagUsername = $(tag).attr("data-username");
- var currentTag = "";
- for (var i = 0; i < savedTags.length; i++) {
- if (savedTags[i][0] == setTagUsername) {
- currentTag = savedTags[i][1];
- break;
- }
- }
- var newTag = prompt("Enter a tag for " + setTagUsername, currentTag);
- if (newTag.trim() == "") {
- for (var i = savedTags.length - 1; i > 0; i--) {
- if (savedTags[i][0] == setTagUsername) {
- savedTags.splice(i, 1);
- }
- }
- } else {
- var foundName = false;
- for (var i = 0; i < savedTags.length; i++) {
- if (savedTags[i][0] == setTagUsername) {
- foundName = true;
- savedTags[i][1] = newTag;
- break;
- }
- }
- if (foundName != true) {
- savedTags.push([setTagUsername,newTag]);
- }
- }
- saveData();
- createTags();
- }