您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds an inline display of actual effects to acquired effects in potion and item descriptions on KoL wiki pages.
- // ==UserScript==
- // @name DeepWiki
- // @namespace kol.interface.unfinished
- // @description Adds an inline display of actual effects to acquired effects in potion and item descriptions on KoL wiki pages.
- // @include http://kol.coldfront.net/thekolwiki*
- // @version 1.21
- // @grant GM_xmlhttpRequest
- // ==/UserScript==
- // Version 1.21
- // - add @grant
- // Version 1.2
- // - even better matching code
- // Version 1.1
- // - wiki changes broke matching; changed method
- // Version 1.0.2
- // - better matching code
- // Version 1.0.1
- // - trivial change to better match malformed effect text on the wiki
- function findEffect(acq) {
- var ps = document.evaluate('//td[text()="You '+acq+' an effect: "]',document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
- for (var i=ps.snapshotLength-1;i>=0;i--) {
- var p = ps.snapshotItem(i);
- var pps = document.evaluate('b/a[@title]',p,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
- for (var j=pps.snapshotLength-1;j>=0;j--) {
- var pp = pps.snapshotItem(j);
- var u = 'http://kol.coldfront.net'+pp.getAttribute('href');
- getUrl(u,p.parentNode);
- }
- }
- }
- function getUrl(u,p) {
- GM_xmlhttpRequest({
- method: "GET",
- url: u,
- headers: {
- "User-Agent": "Mozilla/5.0",
- "Accept": "text/xml"
- },
- onload: function(response) {
- var m = response.responseText.match(/\<(p|span)\s*style=\"[^\"\>]*color:blue;\s*font-weight:bold;\s*\"\>.*/i);
- if (m) {
- var t = m[1];
- m = m[0];
- var r = new RegExp('\<(/?'+t+')( |\>)','ig');
- var mm = r.exec(m);
- var count = 0;
- var last = 0;
- while (mm) {
- if (mm[1]==t) count++;
- else {
- count--;
- if (count==0) {
- last = r.lastIndex;
- break;
- }
- }
- mm = r.exec(m);
- }
- var eff = m.substring(0,last);
- var f = document.createElement('font');
- f.setAttribute('size','1');
- f.innerHTML='<p style="text-align:center;line-height:12px;">'+eff+'</p>';
- var tr = document.createElement('tr');
- var td = tr.insertCell(-1);
- td.setAttribute('colspan','2');
- td.appendChild(f);
- if (p.nextSibling)
- p.parentNode.insertBefore(tr,p.nextSibling);
- else
- p.parentNode.appendChild(tr);
- }
- }
- });
- }
- findEffect('acquire');
- findEffect('lose');