LLWiki正在建设中,欢迎加入我们!
“User:Bhsd/tool.js”的版本间差异
跳转到导航
跳转到搜索
小 (以“// 生成JS文件大小 var api = new mw.Api(), table = $('table').first(), list = table.find('td:first-child a'); table.find('th').first().after( '<th>大小</th>' )…”替换内容) 标签:替换 |
|||
第1行: | 第1行: | ||
// 由[[Special:Mypage/common.js]]调用,可以使用ES6语法 |
|||
// 生成JS文件大小 |
// 生成JS文件大小 |
||
"use strict"; |
|||
var api = new mw.Api(), |
|||
mw.myTools = function(table) { |
|||
table.find( 'th' ).first().after( '<th>大小</th>' ); |
|||
table.find(' |
const items = table.find( 'td:first-child' ), |
||
titles = items.children( 'a' ).map(function() { return this.title; }).toArray(); |
|||
list.each(function() { |
|||
mw.loader.using( 'mediawiki.api' ).then(() => { |
|||
⚫ | |||
console.log( 'API request: 查询JS页面大小' ); |
|||
var title = ele.attr('href').substring(4); |
|||
const timerStart = mw.now(); |
|||
api.get({ action:'query', formatversion:2, prop:'info', titles:title }).then(function(data) { |
|||
new mw.Api().get({ action:'query', prop:'info', titles:titles.join( '|' ), formatversion:2 }) |
|||
var length = data.query.pages[0].length; |
|||
.then(data => { |
|||
console.log( `End API request: 已获得JS页面大小,用时 ${mw.now() - timerStart} ms` ); |
|||
const lengths = Object.fromEntries( data.query.pages.map(ele => [ele.title, ele.length]) ); |
|||
items.after(i => { return $('<td>').text( length[ titles[i] ] ); }); |
|||
⚫ | |||
}); |
}); |
||
} |
}; |
2020年11月20日 (五) 07:04的版本
// 由[[Special:Mypage/common.js]]调用,可以使用ES6语法 // 生成JS文件大小 "use strict"; mw.myTools = function(table) { table.find( 'th' ).first().after( '<th>大小</th>' ); const items = table.find( 'td:first-child' ), titles = items.children( 'a' ).map(function() { return this.title; }).toArray(); mw.loader.using( 'mediawiki.api' ).then(() => { console.log( 'API request: 查询JS页面大小' ); const timerStart = mw.now(); new mw.Api().get({ action:'query', prop:'info', titles:titles.join( '|' ), formatversion:2 }) .then(data => { console.log( `End API request: 已获得JS页面大小,用时 ${mw.now() - timerStart} ms` ); const lengths = Object.fromEntries( data.query.pages.map(ele => [ele.title, ele.length]) ); items.after(i => { return $('<td>').text( length[ titles[i] ] ); }); }); }); };