利用者:Kkkdc/oldidlink.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
function copyRevLink(type) {
/****/
function htmlspecialchars(str) {
str = str.replace(/&/g,"&") ;
str = str.replace(/"/g,""") ;
str = str.replace(/'/g,"'") ;
str = str.replace(/</g,"<") ;
str = str.replace(/>/g,">") ;
return str;
}
function getRevisionIdFromUrl(url) {
var regret = url.match(/\&oldid\=(\d+)\D*/);
if ( regret == null ) { return null; }
else {
return regret[1];
}
}
/****/
var dateObj = null;
if ( type == 'A' ) { dateObj = document.getElementById('mw-revision-info'); }
else if ( type == 'B' ) { dateObj = document.getElementById('mw-diff-ntitle1').firstChild.firstChild; }
if ( !dateObj ) { return; }
var date = dateObj.innerHTML.substring(0, 19); //for 1976-02-27T12:34:56 only
var userInfo = null;
if ( type == 'A' ) { userInfo = dateObj; }
else if ( type == 'B' ) { userInfo = document.getElementById('mw-diff-ntitle2'); }
if ( !userInfo ) { return; }
var user = null;
for ( var i = 0; i < userInfo.childNodes.length; i++ ) {
var ch = userInfo.childNodes[i];
if ( ch.tagName == 'A' ) {
user = ch.innerHTML;
break;
}
}
if ( !user ) { return; }
var revid = null;
if ( type == 'A' ) {
var perLinkA = document.getElementById('t-permalink').firstChild;
if ( !perLinkA ) { return; }
revid = getRevisionIdFromUrl( perLinkA.href );
} else if ( type == 'B' ) {
revid = getRevisionIdFromUrl( dateObj.href );
}
if ( !revid ) { return; }
var path = wgServer + wgScript;
var text = "''[" + path + "?oldid=" + revid + " " + date + " (UTC) " + user + "]'' (差分[" + path + "?oldid=" + revid + "&diff=prev])";
prompt("版指定リンクテキスト", text);
}
$ ( function(){
var obj = document.getElementById('mw-revision-nav');
if ( !obj ) { return; }
var adder = document.createElement('span');
adder.style.marginLeft = '1.5em';
text = "<a href=\"javascript: copyRevLink('A');\">RevDiffLink</a>";
adder.innerHTML = "[" + text + "]";
obj.appendChild( adder );
});
$ ( function(){
var obj = document.getElementById('mw-diff-ntitle2');
if ( !obj ) { return; }
var adder = document.createElement('span');
adder.style.marginLeft = '1.5em';
text = "<a href=\"javascript: copyRevLink('B');\">RevDiffLink</a>";
adder.innerHTML = "[" + text + "]";
obj.appendChild( adder );
});