Difference between revisions of "MediaWiki:Common.js"
From GFBio Public Wiki
(adjusted text align) |
m (fixed minor bug) |
||
Line 84: | Line 84: | ||
var header = document.getElementById("mw-head"); | var header = document.getElementById("mw-head"); | ||
header.insertBefore(banner,header.firstChild); | header.insertBefore(banner,header.firstChild); | ||
− | header.style. | + | header.style.textAlign = "right"; |
}else{ | }else{ | ||
//cookie is present (value doesn't matter), do not show message (e.g. do nothing) | //cookie is present (value doesn't matter), do not show message (e.g. do nothing) |
Revision as of 17:39, 4 August 2014
/* Any JavaScript here will be loaded for all users on every page load. */
function ModifySidebar( action, section, name, link ) {
try {
switch ( section ) {
case 'languages':
var target = 'p-lang';
break;
case 'toolbox':
var target = 'p-tb';
break;
case 'navigation':
var target = 'p-navigation';
break;
default:
var target = 'p-' + section;
break;
}
if ( action == 'add' ) {
var node = document.getElementById( target )
.getElementsByTagName( 'div' )[0]
.getElementsByTagName( 'ul' )[0];
var aNode = document.createElement( 'a' );
var liNode = document.createElement( 'li' );
aNode.appendChild( document.createTextNode( name ) );
aNode.setAttribute( 'href', link );
liNode.appendChild( aNode );
liNode.className = 'plainlinks';
node.appendChild( liNode );
}
if ( action == 'remove' ) {
var list = document.getElementById( target )
.getElementsByTagName( 'div' )[0]
.getElementsByTagName( 'ul' )[0];
var listelements = list.getElementsByTagName( 'li' );
for ( var i = 0; i < listelements.length; i++ ) {
if (
listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name ||
listelements[i].getElementsByTagName( 'a' )[0].href == link
)
{
list.removeChild( listelements[i] );
}
}
}
} catch( e ) {
// let's just ignore what's happened
return;
}
}
function CustomizeModificationsOfSidebar() {
ModifySidebar("add", "toolbox", "Recent Changes", "//gfbio.biowikifarm.net/wiki/Special:RecentChanges");
}
addOnloadHook( CustomizeModificationsOfSidebar );
importScript('MediaWiki:FootnotePopup.js');
importScript('MediaWiki:ImageZoom.js');
//fixing the aspect ratio of the "powered by Semantic Media Wiki" icon
document.getElementById("footer-poweredbyico").lastElementChild.firstElementChild.width = "58";
//show option to open wiki in new window, if the site is displayed within a frame
$(document).ready(function() {
try{
if ( top.document.domain != self.document.domain ){
//do nothing, this will fail and cause an exception
}
}catch(e){
if($.cookie("gfbio_wiki_hide_frame_breakout_message")==null){
//create info box
var banner = document.createElement("div");
banner.setAttribute("style","width:100%; position:absolute; padding-top:10px; z-index:150");
banner.id = "frame-breakout-message";
banner.innerHTML='<span style="background:#8CD0F4; padding:5px; margin-left:160px; border-radius: 5px;">This page is best be viewed in a <a style="text-decoration:underline;color:#000;" href="'+window.location+'" target="_blank">separate browser window</a>. <a href="#" onclick="hideFrameBreakoutMessage();return false;" style="text-decoration:none;vertical-align:super; font-size:11px;" title="dismiss this message">[x]</a></span>';
//insert info box in page
var header = document.getElementById("mw-head");
header.insertBefore(banner,header.firstChild);
header.style.textAlign = "right";
}else{
//cookie is present (value doesn't matter), do not show message (e.g. do nothing)
}
}
});
function hideFrameBreakoutMessage() {
//hide message
document.getElementById("frame-breakout-message").style.display = "none";
//set cookie: do not show the message again in the next 7 days
$.cookie("gfbio_wiki_hide_frame_breakout_message", "hide", { expires: 7 });
}