您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Списки участиников корпораций
// ==UserScript== // @name Virtonomica: Corporation // @namespace virtonomica // @description Списки участиников корпораций // @include http://virtonomic*.*/*/main/corporation/view/* // @include http://virtonomic*.*/*/main/company/view/*/corporation // @include http://virtonomic*.*/*/main/brokergame/tournament // @include http://virtonomic*.*/*/main/brokergame/view/*/players // @version 0.2 // ==/UserScript== var run = function() { //--------------------------------------------------------------------- // работа с локальным хранилищем //--------------------------------------------------------------------- /** * записать данные в локальнео хранилище, с проверкой ошибок */ function ToStorage(name, val) { try { window.localStorage.setItem( name, JSON.stringify( val ) ); } catch(e) { out = "Ошибка добавления в локальное хранилище"; //console.log(out); } } function getFromStorage(obj, id_shop) { if (obj[id_shop] == null) return ''; return JSON.stringify(obj[id_shop]); } //--------------------------------------------------------------------- // end of работа с локальным хранилищем //--------------------------------------------------------------------- //console.log("Привет!"); function getCorpList() { div = $("div:contains('Количество компаний'):last").prev(); corp_name = div.text(); // удалить старые записи for( name in Corps ){ if ( Corps[name] == corp_name ) delete Corps[name]; } // перечитать список участиников table = $("table.grid").eq(0); //console.log("table = " + table.length ); tr = $("tr.odd, tr.even", table); //console.log("tr = " + tr.length ); for(i=0; i< tr.length; i++) { td = $("td", tr.eq(i)); //console.log( td.length ); //---------- // Фикс для своей илир чужой корпорации col = 2; check = $("a", td.eq(2)); if (check.length == 0) col = 3; //---------- td_name = td.eq( col ); name = $("a", td_name).text(); console.log( name ); if ( Corps[ name ] == null ) Corps[ name ] = new Object(); Corps[ name ] = corp_name; } ToStorage("Corps", Corps); $("#p_info").html( 'Данные о составе корпорации ' + corp_name + ' обновлены' ).css('color', 'green'); } function BrokerTourn() { user = $("a[href*='user']", $("#mainContent") ); console.log("user = " + user.length ); for(i=0; i< user.length; i++) { name = user.eq(i).text(); if ( Corps[ name ] == null) continue; user.eq(i).after(' (' + Corps[ name ] +')'); //if (i > 5) break; } } function BrokerGame() { table = $("table.list"); tr = $("tr.odd, tr.even", table); for(i=0; i< tr.length; i++) { td = $("td", tr.eq(i)).eq(0); name = $("a", td).text(); if ( Corps[ name ] == null) continue; td.append('<br>(' + Corps[ name ] +')'); } } // Считать данные об участниках корпораций container = $("table.grid").eq(0); var wc_info = $("<div id=p_info></div>"); container.before( wc_info ); Corps = JSON.parse( window.localStorage.getItem('Corps') ); if ( Corps == null ) { Corps = new Object(); $("#p_info").html("Не удалось получить список участников корпораций из локального хранилища").css('color', 'red'); } // Проверим ссылку var href = location.href; if (href.indexOf('corporation') > 0) { var wc_parsing = $("<div id=corp_parsing style='float:left;cursor:pointer;'> <img title='Запомнить Участиников Корпорации' alt='Запомнить Участиников Корпорации' src='http://www.iconsearch.ru/uploads/icons/snowish/32x32/document-save-as.png'> </div>"); container.before( wc_parsing ); $("#corp_parsing").click( function(){ getCorpList(); } ); } else { // brokergame/tournament if (href.indexOf('brokergame/tournament') > 0) BrokerTourn(); // players if (href.indexOf('players') > 0) BrokerGame (); } } if(window.top == window) { var script = document.createElement("script"); script.textContent = '(' + run.toString() + ')();'; document.documentElement.appendChild(script); }