|
|
| 1行目: |
1行目: |
| /*
| |
| * 拡張型折りたたみ要素(EnhancedCollapsibleElements)
| |
| * 説明書:https://ja.wikipedia.org/wiki/Help:拡張型折りたたみ可能要素
| |
| */
| |
| mw.loader.load('/vikipedia/index.php?title=MediaWiki:EnhancedCollapsibleElements.js&action=raw&ctype=text/javascript');
| |
|
| |
| /**
| |
| * Collapsible tables *********************************************************
| |
| *
| |
| * Description: Allows tables to be collapsed, showing only the header. See
| |
| * [[Vikipedia:NavFrame]].
| |
| * Maintainers: [[User:SupernovaT]]
| |
| */
| |
|
| |
| window.autoCollapse = 2;
| |
| window.collapseCaption = "隠す";
| |
| window.expandCaption = "表示";
| |
|
| |
| window.collapseTable = function ( tableIndex ) {
| |
| var Button = document.getElementById( 'collapseButton' + tableIndex );
| |
| var Table = document.getElementById( 'collapsibleTable' + tableIndex );
| |
|
| |
| if ( !Table || !Button ) {
| |
| return false;
| |
| }
| |
|
| |
| var Rows = Table.rows;
| |
| var i;
| |
|
| |
| if ( Button.firstChild.data === collapseCaption ) {
| |
| for ( i = 1; i < Rows.length; i++ ) {
| |
| Rows[i].style.display = 'none';
| |
| }
| |
| Button.firstChild.data = expandCaption;
| |
| } else {
| |
| for ( i = 1; i < Rows.length; i++ ) {
| |
| Rows[i].style.display = Rows[0].style.display;
| |
| }
| |
| Button.firstChild.data = collapseCaption;
| |
| }
| |
| };
| |
|
| |
| window.createCollapseButtons = function() {
| |
| var tableIndex = 0;
| |
| var NavigationBoxes = {};
| |
| var Tables = document.getElementsByTagName( 'table' );
| |
| var i;
| |
|
| |
| function handleButtonLink( index, e ) {
| |
| window.collapseTable( index );
| |
| e.preventDefault();
| |
| }
| |
|
| |
| for ( i = 0; i < Tables.length; i++ ) {
| |
| if ( $( Tables[i] ).hasClass( 'collapsible' ) ) {
| |
|
| |
| /* only add button and increment count if there is a header row to work with */
| |
| var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
| |
| if ( !HeaderRow ) continue;
| |
| var Header = HeaderRow.getElementsByTagName( 'th' )[0];
| |
| if ( !Header ) continue;
| |
|
| |
| NavigationBoxes[ tableIndex ] = Tables[i];
| |
| Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );
| |
|
| |
| var Button = document.createElement( 'span' );
| |
| var ButtonLink = document.createElement( 'a' );
| |
| var ButtonText = document.createTextNode( collapseCaption );
| |
|
| |
| Button.className = 'collapseButton'; /* Styles are declared in Common.css */
| |
|
| |
| ButtonLink.style.color = Header.style.color;
| |
| ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
| |
| ButtonLink.setAttribute( 'href', '#' );
| |
| $( ButtonLink ).on( 'click', $.proxy( handleButtonLink, ButtonLink, tableIndex ) );
| |
| ButtonLink.appendChild( ButtonText );
| |
|
| |
| Button.appendChild( document.createTextNode( '[' ) );
| |
| Button.appendChild( ButtonLink );
| |
| Button.appendChild( document.createTextNode( ']' ) );
| |
|
| |
| Header.insertBefore( Button, Header.firstChild );
| |
| tableIndex++;
| |
| }
| |
| }
| |
|
| |
| for ( i = 0; i < tableIndex; i++ ) {
| |
| if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) {
| |
| window.collapseTable( i );
| |
| }
| |
| else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) {
| |
| var element = NavigationBoxes[i];
| |
| while ((element = element.parentNode)) {
| |
| if ( $( element ).hasClass( 'outercollapse' ) ) {
| |
| window.collapseTable ( i );
| |
| break;
| |
| }
| |
| }
| |
| }
| |
| }
| |
| }
| |
|
| |
| $(document).ready( createCollapseButtons );
| |
|
| |
|
| |
| // ==UserScript== | | // ==UserScript== |
| // -*- mode:JScript; Encoding:utf8n -*- | | // -*- mode:JScript; Encoding:utf8n -*- |
// ==UserScript==
// -*- mode:JScript; Encoding:utf8n -*-
// @name Wikipedia.citePopup
// @namespace http://d.hatena.ne.jp/p-arai/
// @description Add pop-up on reference to footnote
// @include http://ja.wikipedia.org/wiki/*
// @grant none
//
// @author p-arai, yuuAn
// @version 2012.11.10
// ==/UserScript==
(function () {
// retrive array of cites
var cites = new Array();
var lis = document.getElementsByTagName("li");
for (var i=0; i < lis.length; i++){
var li = lis[i];
if (li.id.match(/^cite_note(?:-[\w\.]+){0,}-(\d+)$/)){
var index = RegExp.$1;
cites[index] = li;
}
}
// retrive and modify reference element
var hrefs = document.getElementsByTagName("a");
for (var i=0; i < hrefs.length; i++){
var a = hrefs[i];
if (a.href.match(/#cite_note(?:-[\w\.]+){0,}-(\d+)$/)){
var index = RegExp.$1;
if (typeof a.textContent != "undefined") {
a.title = cites[index].textContent.replace(/^[^]\s*/, "");
} else {
a.title = cites[index].innerText.replace(/^[^]\s*/, "");
}
}
}
})();
// == UserHeat ==
(function(add, cla){window['UserHeatTag']=cla;window[cla]=window[cla]||function(){(window[cla].q=window[cla].q||[]).push(arguments)},window[cla].l=1*new Date();var ul=document.createElement('script');var tag = document.getElementsByTagName('script')[0];ul.async=1;ul.src=add;tag.parentNode.insertBefore(ul,tag);})('//uh.nakanohito.jp/uhj2/uh.js', '_uhtracker');_uhtracker({id:'uhxScATTSI'});