您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds attack links on enemy list
- // ==UserScript==
- // @name Attack links on enemy list
- // @namespace https://gitgud.com/stephenlynx
- // @version 1.2.2
- // @description Adds attack links on enemy list
- // @author Stephen Lynx
- // @license MIT
- // @match https://www.torn.com/page.php?sid=list&type=enemies
- // @match https://www.torn.com/page.php?sid=UserList*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=torn.com
- // @run-at document-body
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- var toBlock = [ '72', '77', '71', '15', '16', '70', '82' ];
- function checkIcons(base) {
- var iconArray = Array.from(base.getElementsByClassName('iconShow'));
- for (var i = 0; i < iconArray.length; i++) {
- var icon = iconArray[i];
- if (toBlock.indexOf(icon.id.substr(4, 2)) > -1) {
- return false;
- }
- }
- return true;
- }
- function processPlayerElement(link){
- var destination = link.href;
- console.log(destination);
- var id = destination
- .match(/\/profiles\.php\?XID=(\d*)/)[1];
- var attackLink = document.createElement('a');
- var oldOnClick = attackLink.onclick;
- attackLink.onclick = function(event) {
- event.stopPropagation();
- oldOnClick();
- }
- attackLink.innerHTML = 'Attack';
- attackLink.style['font-size'] = '12px';
- attackLink.target = '_blank';
- attackLink.href = '/loader.php?sid=attack&user2ID='
- + id;
- link.after(attackLink);
- }
- var observer = new MutationObserver(
- function(mutationList, observer) {
- mutationList
- .forEach(function(event) {
- for (var added of event.addedNodes) {
- if (!added.querySelectorAll) {
- continue;
- }
- //enemy list
- for (var element of added.querySelectorAll('[class^=\'honorName___\']')) {
- processPlayerElement(element.parentElement);
- }
- //player search
- for (element of added.getElementsByClassName('user name')) {
- var parent = element.parentElement.parentElement;
- if(!checkIcons(parent)){
- parent.remove();
- }else {
- processPlayerElement(element);
- }
- }
- }
- });
- });
- observer.observe(document.getElementsByTagName('body')[0], {
- childList : true,
- subtree : true
- });
- })();