Ero sivun ”Järjestelmäviesti:Common.js” versioiden välillä
ApoWikistä
(Toiminee...) |
p (Footnote popups testaus) |
||
Rivi 101: | Rivi 101: | ||
"sampleText": "1. Moos. 1:1"}; | "sampleText": "1. Moos. 1:1"}; | ||
} | } | ||
// Footnote popups | |||
function showFootnote(evnt) { | |||
var e = window.event ? window.event : evnt; | |||
var obj = window.event ? window.event.srcElement : evnt.target; | |||
// Is this link a ref tag | |||
if(obj.tagName != "A") return; | |||
if(!obj.hash) return; | |||
if(obj.hash.substr(0,11) != "#cite_note-") return; | |||
if(obj.parentNode.className != "reference") return; | |||
// Is there's a footnote to display? | |||
// Someone may have forgotten the <references/> tag | |||
var footnote_id = obj.hash.substr(1); | |||
if(!document.getElementById(footnote_id)) return; | |||
// Good, hide the popup, if it isn't already | |||
footnote.style.display = "none"; | |||
// Decide where to put the popup | |||
var window_width = document.body.clientWidth; | |||
var horizontal_position = e.clientX; | |||
var vertical_position = e.clientY; | |||
var horizontal_scroll, vertical_scroll; | |||
if (document.all) { | |||
var dObj = typeof document.documentElement.scrollLeft == 'undefined' ? | |||
document.body : document.documentElement; | |||
horizontal_scroll = dObj.scrollLeft; | |||
vertical_scroll = dObj.scrollTop; | |||
} else { | |||
horizontal_scroll = window.pageXOffset; | |||
vertical_scroll = window.pageYOffset; | |||
} | |||
footnote.style.top = (vertical_scroll + vertical_position - 13) + "px"; | |||
if(horizontal_position > (window_width / 2)) { | |||
footnote.style.right = (horizontal_scroll + window_width - horizontal_position - 13) + "px"; | |||
footnote.style.left = ""; | |||
} else { | |||
footnote.style.right = ""; | |||
footnote.style.left = (horizontal_position - 13) + "px"; | |||
} | |||
// Fetch the footnote text and remove the unnecessary back link(s) | |||
// This is a little messy as there's no containing tags | |||
var fn_text = document.getElementById(footnote_id).innerHTML; | |||
fn_text = fn_text.replace(/^.*<a[^>]*href="#cite_ref-.*?<\/a> */i, ""); // " | |||
// Insert the footnote text | |||
footnote.innerHTML = fn_text; | |||
//Make the popup visible | |||
footnote.style.display = ""; | |||
} | |||
function hideFootnote(evnt) { | |||
var obj = window.event ? window.event.srcElement : evnt.target; | |||
// No point in going on if popup is already hidden | |||
if(footnote.style.display == "none") return; | |||
// Search the tree to see where the curser is | |||
var depth = 0; // no need to search too much | |||
while(obj && obj.parentNode) { | |||
if(obj.id == "footnote" || obj.id.substr(0, 9) == "cite_ref-") { return; } | |||
if(depth > 3) break; | |||
obj = obj.parentNode; | |||
depth++; | |||
} | |||
footnote.style.display = "none"; | |||
} | |||
// Set up the float element | |||
var footnote = document.createElement("DIV"); | |||
footnote.id = "footnote"; | |||
footnote.style.display = "none"; | |||
footnote.style.position = "absolute"; | |||
footnote.style.zIndex = 500; | |||
footnote.style.border = "1px solid black"; | |||
footnote.style.backgroundColor = "lightyellow"; | |||
footnote.style.maxWidth = "450px"; | |||
footnote.style.textAlign = "justify"; | |||
footnote.style.padding = "5px"; | |||
footnote.style.fontSize = "10pt"; | |||
addOnloadHook( function () { document.body.appendChild(footnote) } ); | |||
// Add events | |||
addHandler(document, "mouseover", showFootnote); | |||
addHandler(document, "mousemove", hideFootnote); |
Versio 22. helmikuuta 2009 kello 15.42
/* Any JavaScript here will be loaded for all users on every page load. */
/** Extra toolbar options ******************************************************
*
* Description: Includes a raw wiki page as javascript or CSS,
* used for including user made modules.
* Imported from: http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.js
* This is a modified copy of a script by wikipedia 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": "http://www.appropedia.org/images/c/c8/Button_redirect.png",
"speedTip": "Uudelleenohjaus",
"tagOpen": "#REDIRECT [[",
"tagClose": "]]",
"sampleText": "Artikkeli, johon uudelleenohjataan"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.appropedia.org/images/c/c9/Button_strike.png",
"speedTip": "Yliviivaus",
"tagOpen": "<s>",
"tagClose": "</s>",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.appropedia.org/images/1/13/Button_enter.png",
"speedTip": "Rivinvaihto",
"tagOpen": "<br />",
"tagClose": "",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.appropedia.org/images/8/80/Button_upper_letter.png",
"speedTip": "Yläindeksi",
"tagOpen": "<sup>",
"tagClose": "</sup>",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.appropedia.org/images/7/70/Button_lower_letter.png",
"speedTip": "Alaindeksi",
"tagOpen": "<sub>",
"tagClose": "</sub>",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.appropedia.org/images/3/34/Button_hide_comment.png",
"speedTip": "Lähdekoodiin piilotettu kommentti",
"tagOpen": "<!-- ",
"tagClose": " -->",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.appropedia.org/images/1/12/Button_gallery.png",
"speedTip": "Kuvagalleria",
"tagOpen": "\n<gallery>\n",
"tagClose": "\n</gallery>",
"sampleText": "Image:Esimerkki1.jpg|Esimerkki1\nImage:Esimerkki2.jpg|Esimerkki2"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.appropedia.org/images/f/fd/Button_blockquote.png",
"speedTip": "Insert block of quoted text",
"tagOpen": "\{\{sitaatti\|",
"tagClose": "\}\}",
"sampleText": "Lorem ipsum dolor sit amet."};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.appropedia.org/images/6/60/Button_insert_table.png",
"speedTip": "Taulukko",
"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": "http://www.appropedia.org/images/c/c4/Button_ref.png",
"speedTip": "Viittaus, johon viitataan useasti",
"tagOpen": "<ref name=\"\"></ref>",
"tagClose": "<ref name=\"\" />",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.apologetiikkawiki.org/images/a/a3/Ref-tägi.png",
"speedTip": "Yksittäinen viittaus",
"tagOpen": "<ref>",
"tagClose": "</ref>",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.apologetiikkawiki.org/images/9/97/N-viiva.png",
"speedTip": "Lisää n-viivan",
"tagOpen": "–",
"tagClose": "",
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://www.apologetiikkawiki.org/images/c/cf/Rp.png",
"speedTip": "Lisää raamatunpaikkalinkin",
"tagOpen": "\{\{rp\|",
"tagClose": "\}\}",
"sampleText": "1. Moos. 1:1"};
}
// Footnote popups
function showFootnote(evnt) {
var e = window.event ? window.event : evnt;
var obj = window.event ? window.event.srcElement : evnt.target;
// Is this link a ref tag
if(obj.tagName != "A") return;
if(!obj.hash) return;
if(obj.hash.substr(0,11) != "#cite_note-") return;
if(obj.parentNode.className != "reference") return;
// Is there's a footnote to display?
// Someone may have forgotten the <references/> tag
var footnote_id = obj.hash.substr(1);
if(!document.getElementById(footnote_id)) return;
// Good, hide the popup, if it isn't already
footnote.style.display = "none";
// Decide where to put the popup
var window_width = document.body.clientWidth;
var horizontal_position = e.clientX;
var vertical_position = e.clientY;
var horizontal_scroll, vertical_scroll;
if (document.all) {
var dObj = typeof document.documentElement.scrollLeft == 'undefined' ?
document.body : document.documentElement;
horizontal_scroll = dObj.scrollLeft;
vertical_scroll = dObj.scrollTop;
} else {
horizontal_scroll = window.pageXOffset;
vertical_scroll = window.pageYOffset;
}
footnote.style.top = (vertical_scroll + vertical_position - 13) + "px";
if(horizontal_position > (window_width / 2)) {
footnote.style.right = (horizontal_scroll + window_width - horizontal_position - 13) + "px";
footnote.style.left = "";
} else {
footnote.style.right = "";
footnote.style.left = (horizontal_position - 13) + "px";
}
// Fetch the footnote text and remove the unnecessary back link(s)
// This is a little messy as there's no containing tags
var fn_text = document.getElementById(footnote_id).innerHTML;
fn_text = fn_text.replace(/^.*<a[^>]*href="#cite_ref-.*?<\/a> */i, ""); // "
// Insert the footnote text
footnote.innerHTML = fn_text;
//Make the popup visible
footnote.style.display = "";
}
function hideFootnote(evnt) {
var obj = window.event ? window.event.srcElement : evnt.target;
// No point in going on if popup is already hidden
if(footnote.style.display == "none") return;
// Search the tree to see where the curser is
var depth = 0; // no need to search too much
while(obj && obj.parentNode) {
if(obj.id == "footnote" || obj.id.substr(0, 9) == "cite_ref-") { return; }
if(depth > 3) break;
obj = obj.parentNode;
depth++;
}
footnote.style.display = "none";
}
// Set up the float element
var footnote = document.createElement("DIV");
footnote.id = "footnote";
footnote.style.display = "none";
footnote.style.position = "absolute";
footnote.style.zIndex = 500;
footnote.style.border = "1px solid black";
footnote.style.backgroundColor = "lightyellow";
footnote.style.maxWidth = "450px";
footnote.style.textAlign = "justify";
footnote.style.padding = "5px";
footnote.style.fontSize = "10pt";
addOnloadHook( function () { document.body.appendChild(footnote) } );
// Add events
addHandler(document, "mouseover", showFootnote);
addHandler(document, "mousemove", hideFootnote);