利用者:Marine-Blue/rvbot.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
/*
////////////////////////////////////////////////////////////////////////////////////////
//
// rvbot.js
//
// last update 2012-01-26
//
////////////////////////////////////////////////////////////////////////////////////////
「巻き戻し」リンクの横に「巻き戻し (bot)」リンクを追加する。
リンクをクリックすると巻き戻しと巻き戻し対象の編集がRCやウォッチリストでボット扱いされる。
巻き戻し者導入で需要が増えるよ!やったね!…なのでIE対応しました。
*/
function addRvBotLink() {
// 履歴、特別ページ、差分表示以外では作動させない
if(mw.config.get('wgNamespaceNumber') == -1 || mw.config.get('wgAction') == "history" || String(document.location).indexOf("diff") > -1) {
// サイドバーやメニューを検索対象から除外
var documentBody = document.getElementById("bodyContent");
var allAnchor = documentBody.getElementsByTagName("a");
for(i = 0; i < allAnchor.length; i++) {
if(allAnchor[i].href.indexOf("action=rollback") > -1 && allAnchor[i].href.indexOf("bot=1") == -1) {
// IEはouterHTMLを使用してリンク挿入
if(document.all) {
// リンク先にbotパラメータ追加
var newAnchor = allAnchor[i].href + "&bot=1";
// ページの種類を判断してフォーマット変更
if(mw.config.get('wgAction') == "history") { // 履歴
allAnchor[i].outerHTML += " | <span class=\"plainlinks\"><a href=\"" + newAnchor + "\">" + allAnchor[i].innerText + " (bot)</a></span>";
}
else { // 投稿記録、差分表示など
allAnchor[i].outerHTML += "][<span class=\"plainlinks\"><a href=\"" + newAnchor + "\">" + allAnchor[i].innerText + " (bot)</a></span>";
}
}
// 非IEはDOMを使用してリンク挿入
else {
// botパラメータを追加してアンカー作成
var botAnchor = document.createElement("a");
botAnchor.setAttribute("href",allAnchor[i].href + "&bot=1");
var botAnchorText = document.createTextNode(allAnchor[i].textContent + " (bot)");
// SSLで鍵アイコンを強制非表示
var SSLplain = document.createElement("span");
SSLplain.setAttribute("class","plainlinks");
// リンク済み文字列の作成
botAnchor.appendChild(botAnchorText);
SSLplain.appendChild(botAnchor);
allAnchor[i].parentNode.insertBefore(SSLplain,allAnchor[i].nextSibring);
// ページの種類を判断してテキストのフォーマットを変更
if(mw.config.get('wgAction') == "history") { // 履歴
botAnchorSep = document.createTextNode(" | ");
SSLplain.parentNode.insertBefore(botAnchorSep,SSLplain);
}
else { // 投稿記録、差分表示など
botAnchorSep1 = document.createTextNode("[");
SSLplain.parentNode.insertBefore(botAnchorSep1,SSLplain);
botAnchorSep2 = document.createTextNode("]");
SSLplain.parentNode.insertBefore(botAnchorSep2,SSLplain.nextSibling);
}
}
}
}
}
}
$(addRvBotLink);