MediaWiki:Common.js
外觀
註:重取頁面,文方新焉。
- Firefox / Safari:押 Shift 並點 重新載入,或合鍵 Ctrl-F5 或 Ctrl-R(Mac 為 ⌘-R)。
- Google Chrome:點 Ctrl-Shift-R(Mac為 ⌘-Shift-R)。
- Internet Explorer:押 Ctrl 並點 重新整理,或合鍵 Ctrl-F5。
- Opera:須至 Tools → Preferences 清謄本(Mac 為 Opera → Preferences)。
// BEGIN Configuration for "star" logo in front of interwiki links to Featured Articles
/** set to false in Special:Mypage/monobook.js to switch off this "feature" */
var linkFA_enabled = true;
/** description that is displayed when cursor hovers above FA interwiki links */
var linkFA_description = "Dieser Artikel wurde als exzellent bewertet.";
// linkFA_bullet and linkFA_style werden nur für cologneblue, nostalgia and standard verwendet,
// für monobook und simple siehe [[MediaWiki:Common.css]]
/** image to use instead of the standard bullet (for cologneblue, nostalgia and standard */
var linkFA_bullet = "/media/wikipedia/commons/d/d0/Monobook-bullet-star-transparent.png";
/** style to use for the linkFA_bullet img */
var linkFA_style = "margin-right: 0.2em;";
/**
* star logo for featured articles in other languages,
* see Template:Link_FA and MediaWiki:Common.css
*/
function linkFA() {
// early exit when disabled
if (!linkFA_enabled) return;
// skins need to be treated differently
if (skin == "monobook" || skin == "simple") {
newer();
}
else if (skin == "cologneblue" || skin == "nostalgia" || skin == "standard") {
older();
}
/** skin == "monobook" || skin == "simple" */
function newer() {
// links are to replaced in p-lang only
var pLang = document.getElementById("p-lang");
if (!pLang) return;
var lis = pLang.getElementsByTagName("li");
for (var i = 0; i < lis.length; i++) {
var li = lis[i];
// only links with a corresponding Link_FA template are interesting
if (!document.getElementById(li.className + "-fa")) continue;
// additional class so the template can be hidden with CSS
li.className += " FA";
// change title
li.title = linkFA_description;
}
}
/** skin == "cologneblue" || skin == "nostalgia" || skin == "standard" */
function older() {
// these root elements can contain FA-links
var rootIds = new Array("topbar", "footer");
for (var i=0; i<rootIds.length; i++) {
var rootId = rootIds[i];
var root = document.getElementById(rootId);
if (!root) continue;
// if the root exists, try to decorate all the links within
var links = root.getElementsByTagName("a");
for (var j=0; j<links.length; j++) {
var link = links[j];
decorate(link);
}
}
}
/** id necessary, modify a link to show the FA-star (older) */
function decorate(link) {
// exit if not a FA-link
var lang = link.title.split(":")[0]; // not precise enough
var fa = document.getElementById("interwiki-" + lang + "-fa");
if (!fa) return;
// possible problem owing the standard skin: "Link FA" template is transcluded with a non-interwiki parameter, for example "Special"
// result: links to special pages in the topbar and/or footer might also be marked as a Featured Article
// build an image-node for the FA-star
var img = document.createElement("img");
img.setAttribute("src", linkFA_bullet);
img.setAttribute("alt", linkFA_description);
img.setAttribute("style", linkFA_style);
// decorate the link with the image
link.appendChild(img);
link.appendChild(link.removeChild(link.firstChild));
link.setAttribute("title", linkFA_description);
}
}
// aOnloadFunctions[aOnloadFunctions.length] = linkFA;
addOnloadHook(linkFA);
// END Configuration for "star" logo in front of interwiki links to Featured Articles
/** Extra toolbar options ******************************************************
*
* Description: UNDOCUMENTED
* Maintainers: [[User:MarkS]]?, [[User:Voice of All]], [[User:R. Koot]]
*/
//This is a modified copy of a script by User:MarkS for extra features added by User:Voice of All.
// This is based on the original code on Wikipedia:Tools/Editing tools
// To disable this script, add <code>mwCustomEditButtons = [];<code> to [[Special:Mypage/monobook.js]]
if (mwCustomEditButtons) {
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/c/c8/Button_redirect.png",
"speedTip": "渡",
"tagOpen": "#REDIRECT [[",
"tagClose": "]]",
"sampleText": "入文"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/c/c9/Button_strike.png",
"speedTip": "刪字線",
"tagOpen": "<s>",
"tagClose": "</s>",
"sampleText": "去此字"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/1/13/Button_enter.png",
"speedTip": "易行",
"tagOpen": "<br />",
"tagClose": "",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/8/80/Button_upper_letter.png",
"speedTip": "上標",
"tagOpen": "<sup>",
"tagClose": "</sup>",
"sampleText": "上標之字"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/7/70/Button_lower_letter.png",
"speedTip": "下標",
"tagOpen": "<sub>",
"tagClose": "</sub>",
"sampleText": "下標之字"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/5/58/Button_small.png",
"speedTip": "小",
"tagOpen": "<small>",
"tagClose": "</small>",
"sampleText": "小字"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/3/34/Button_hide_comment.png",
"speedTip": "陰評",
"tagOpen": "<!-- ",
"tagClose": " -->",
"sampleText": "評"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/1/12/Button_gallery.png",
"speedTip": "以圖入文",
"tagOpen": "\n<gallery>\n",
"tagClose": "\n</gallery>",
"sampleText": "Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/f/fd/Button_blockquote.png",
"speedTip": "引文",
"tagOpen": "<blockquote>\n",
"tagClose": "\n</blockquote>",
"sampleText": "引文"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/en/6/60/Button_insert_table.png",
"speedTip": "以表入文",
"tagOpen": '{| class="wikitable"\n|-\n',
"tagClose": "\n|}",
"sampleText": "! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "/media/wikipedia/commons/7/79/Button_reflink.png",
"speedTip": "示據",
"tagOpen": "<ref>",
"tagClose": "</ref>",
"sampleText": "書據於此"};
}
/*</nowiki>*/
/** WikiMiniAtlas *******************************************************
*
* Description: WikiMiniAtlas is a popup click and drag world map.
* This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
* The script itself is located on meta because it is used by many projects.
* See [[Meta:WikiMiniAtlas]] for more information.
* Created by: [[User:Dschwen]]
*/
document.write('<script type="text/javascript" src="'
+ 'http://meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js'
+ '&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400"></script>');
/** Change Special:Search to use a drop-down menu *******************************************************
*
* Description: Change Special:Search to use a drop-down menu, with the default being
* the internal MediaWiki engine
* Created and maintained by: [[User:Gracenotes]]
*/
if (wgPageName == "Special:Search") {
var searchEngines = [];
addOnloadHook(SpecialSearchEnhanced);
}
function SpecialSearchEnhanced() {
var createOption = function(site, action, mainQ, addQ, addV) {
var opt = document.createElement('option');
opt.appendChild(document.createTextNode(site));
searchEngines[searchEngines.length] = [action, mainQ, addQ, addV];
return opt;
}
var searchForm = document.forms['search'];
var selectBox = document.createElement('select');
selectBox.id = 'searchEngine';
searchForm.onsubmit = function() {
var optSelected = searchEngines[document.getElementById('searchEngine').selectedIndex];
searchForm.action = optSelected[0];
searchForm.lsearchbox.name = optSelected[1];
searchForm.title.value = optSelected[3];
searchForm.title.name = optSelected[2];
}
selectBox.appendChild(createOption('MediaWiki search', wgScriptPath + '/index.php', 'search', 'title', 'Special:Search'));
selectBox.appendChild(createOption('Google', 'http://www.google.com/search', 'q', 'sitesearch', 'zh-classical.wikipedia.org'));
selectBox.appendChild(createOption('Yahoo', 'http://search.yahoo.com/search', 'p', 'vs', 'zh-classical.wikipedia.org'));
selectBox.appendChild(createOption('Windows Live', 'http://search.live.com/results.aspx', 'q', 'q1', 'site:http://zh-classical.wikipedia.org'));
searchForm.lsearchbox.style.marginLeft = '0px';
var lStat = document.getElementById('loadStatus');
lStat.parentNode.insertBefore(selectBox, lStat);
}
/*
*/
/** fold div table *****************************
* Description: Achieve the fold function of div.NavFrame and table.collapsible。
* JSConfig's collapseText、expandText、autoCollapse
* Maintainers: User:fdcn
*/
addOnloadHook(function(){
function toggleState(item){
var oldState=item.state;
item.state=1-oldState;
if(item.text[0]){
item.text[oldState].style.display = 'inline';
item.text[item.state].style.display='none';
}
item.action(item);
}
function cancelBubble(e){
e=e||window.event;
if(e.stopPropagation){e.stopPropagation();}else{e.cancelBubble=true;}
}
function createToggleButton(head,frame,toggle){
var textS,textH;
var button=getElementsByClassName(head,"span","NavToggle")[0];
if(button){
textS=getElementsByClassName(button,"span","NavToggleShow")[0]
textH=getElementsByClassName(button,"span","NavToggleHide")[0];
}else {
textS=createElement("span",[JSConfig.expandText]);
textH=createElement('span',[JSConfig.collapseText]);
button=createElement("span",[textS,textH],{'class':"NavToggle",styles:{'width':"3.8em"}});
}
if(textS){textS.style.display='none';}
button.style.display='inline';
var item={'state':0, 'text':[textS,textH],'frame':frame,'action':toggle}
var links=head.getElementsByTagName("A");
for(var i=0,l;l=links[i];i++){ addClickHandler(l,cancelBubble); }
head.insertBefore( button, head.childNodes[0] );
head.style.cursor = "pointer";
addClickHandler( head, function(){toggleState(item);} );
return item;
}
// fold div
function toggleNavigationBar(item)
{
var cls=item.state?'none':'block';
for (
var NavChild = item.frame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
){
if (NavChild.className == 'NavPic' || NavChild.className == 'NavContent') {
NavChild.style.display = cls;
}
}
}
// folding the table
function collapseTable( item )
{
var rows = item.frame.getElementsByTagName( "tr" );
var display = item.state? 'none':rows[0].style.display;
for (var i=1,row; row=rows[i]; i++) { row.style.display = display; }
}
//init
var item,items=[];
var NavFrames=getElementsByClassName(document,"div","NavFrame");
for(var i=0,NavFrame;NavFrame = NavFrames[i];i++) {
var heads=getElementsByClassName(NavFrame,"div","NavHead");
for(var ih=0,head; head = heads[ih]; ih++ ) {
if (head.parentNode != NavFrame) {continue;}
items.push(createToggleButton(head,NavFrame,toggleNavigationBar));
break;
}
}
var tables = getElementsByClassName(document,"table","collapsible");
for ( var i = 0,table; table= tables[i]; i++ ) {
var head = table.getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
items.push(createToggleButton(head,table,collapseTable));
}
var count=items.length;
for ( var i = 0; i<count; i++ ) {
item=items[i];
if ( hasClass( item.frame, "collapsed" ) || ( count >= JSConfig.autoCollapse && hasClass( item.frame, "autocollapse" ) ) ) {
toggleState(item);
}
}
});
//Modification the variation after folding
hookEvent("load",function(){if(location.hash){location.href=location.hash;}});
/*