User:94rain/Twinkle.js
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:按 Ctrl-F5。
// 修改自[[Special:PermaLink/45972864]]
(function () {
// var VERSION = '3d1d3e5';
var PREFIX = 'User:94rain/Twinkle/';
var rebuildcache = true;
var tests = [];
var ajax = function (title) {
return $.ajax({
url: 'https://zh.wikiversity.org/w/index.php?title=' + title + '&action=raw&ctype=text/javascript',
dataType: 'text'
});
};
var load = function (p) {
var done = function (data) {
if (rebuildcache || !localStorage['A64Twinkle_' + p.name]) {
localStorage['A64Twinkle_' + p.name] = data;
}
};
if (p.test) {
return ajax(PREFIX + p.name).done(done);
}
return ajax('MediaWiki:Gadget-' + p.name).done(done);
};
var message = function (text) {
console.log('[A64Twinkle]', text);
// $('#simpleSearch input[type="search"]').attr('placeHolder', text);
};
tests.push({name: 'morebits.js', test: true});
tests.push({name: 'twinkle.js', test: true});
tests.push({ name: 'select2.min.js', test: true });
// tests.push({name: 'modules/twinklediff.js', test: true});
// tests.push({name: 'modules/twinklefluff.js', test: true});
// tests.push({name: 'modules/twinklearv.js', test: true});
// tests.push({name: 'modules/twinklewarn.js', test: true});
// tests.push({name: 'modules/friendlyshared.js', test: true});
// tests.push({name: 'modules/friendlytag.js', test: true});
tests.push({name: 'modules/twinklespeedy.js', test: true});
// tests.push({name: 'modules/twinkleunlink.js', test: true});
// tests.push({name: 'modules/friendlytalkback.js', test: true});
// tests.push({name: 'modules/twinklebatchdelete.js', test: true});
// tests.push({name: 'modules/twinklebatchundelete.js', test: true});
// tests.push({name: 'modules/twinkleblock.js', test: true});
// tests.push({name: 'modules/twinkleclose.js', test: true});
tests.push({name: 'modules/twinkleconfig.js', test: true});
// tests.push({name: 'modules/twinklecopyvio.js', test: true});
// tests.push({name: 'modules/twinkledelimages.js', test: true});
// tests.push({name: 'modules/twinkleimage.js', test: true});
// tests.push({name: 'modules/twinkleprotect.js', test: true});
tests.push({name: 'modules/twinklexfd.js', test: true});
mw.loader.using(['mediawiki.api', 'jquery.ui', 'moment']).done(function () {
mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:Xiplus/Twinkle/morebits.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:Xiplus/Twinkle/select2.min.css&action=raw&ctype=text/css', 'text/css');
mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:Xiplus/Twinkle/twinkle.css&action=raw&ctype=text/css', 'text/css');
var i=0;
var finished = 0;
var code = [];
// all
message('Loading A64TW...');
var promises = [];
var done = function (x) {
return function (data) {
finished++;
// message('Loading A64TW... (' + finished + '/' + tests.length + ')');
code[x] = data;
};
};
for (i=0; i<tests.length; i++) {
promises.push(load(tests[i]).done(done(i)));
}
$.when.apply($, promises).done(function () {
// localStorage.A64Twinkle_version = VERSION;
eval(code.join('\n;\n'));
message('Twinkle Done');
});
});
})();