User:TU-G205/common.js
Jump to navigation
Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
The accompanying .css page for this skin can be added at User:TU-G205/common.css. |
/* [[MediaWiki:Edittools]](text-editer markup) Alternative [[User:TU-G205/Edittools]]
copy by [[:ja:User:Waiesu/CustomEdittools.js]](VER:2016年9月28日 (水) 17:24)*/
var state = mw.config.get('wgAction');
if (state == 'edit' || state == 'submit') {
$.ajax({
url: '//commons.wikimedia.org/w/index.php',
data: {
title: 'User:' + mw.config.get('wgUserName') + '/Edittools',
action: 'render'
}
}).then(function(data){
var $textarea = $('#wpTextbox1');
var $input = $('#wpSummary');
var global = {target: $textarea};
$textarea.focus(function(){global.target = this});
$input.focus(function(){global.target = this});
var $div = $('.mw-editTools');
$div.html(data);
var $item = $('.mw-charinsert-item');
$item.click(function(){
var target = global.target;
var strStart = this.dataset.mwCharinsertStart;
var strEnd = this.dataset.mwCharinsertEnd;
var value = target.value;
var numStart = target.selectionStart;
var numEnd = target.selectionEnd;
var strBefore = value.substring(0, numStart);
var strAfter = value.substring(numEnd);
var strCaret = strBefore + strStart;
if (numStart == numEnd) {
target.value = strCaret + strEnd + strAfter;
} else {
strCaret += value.substring(numStart, numEnd) + strEnd;
target.value = strCaret + strAfter;
}
target.selectionStart = strCaret.length;
target.selectionEnd = strCaret.length;
target.focus();
if (target.tagName.toLowerCase() == 'textarea') {
$('html, body').animate({scrollTop: target.getBoundingClientRect().top + window.scrollY});
}
});
}, function(){
alert('Edittoolsの読み込みに失敗しました');
});
}