From 9638e2a3a84ff1da012f12a2e4c0c4369b1308a4 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Wed, 27 Jan 2010 03:19:30 +0000 Subject: [PATCH] Removed the nasty-looking JS-based position:fixed simulation, used by the "standard" (MW 1.0) skin for non-default "floating" quickbar settings in IE 6 and below. Appears to be broken anyway and nobody cares enough to fix it. To resolve r61071. --- skins/Standard.php | 3 - skins/common/sticky.js | 128 ----------------------------------------- 2 files changed, 131 deletions(-) delete mode 100644 skins/common/sticky.js diff --git a/skins/Standard.php b/skins/Standard.php index fb8beda084..f7a2435331 100644 --- a/skins/Standard.php +++ b/skins/Standard.php @@ -19,9 +19,6 @@ class SkinStandard extends Skin { */ function outputPage( OutputPage $out ) { global $wgStylePath; - if ( 3 == $this->qbSetting() ) { # Floating left - $out->addScriptFile ( "{$wgStylePath}/common/sticky.js" ); - } parent::outputPage( $out ); } diff --git a/skins/common/sticky.js b/skins/common/sticky.js deleted file mode 100644 index 8e0c3cc4b9..0000000000 --- a/skins/common/sticky.js +++ /dev/null @@ -1,128 +0,0 @@ -// Make a layer that stays in the same place on screen when scrolling the browser window. -// Version 1.2 -// See http://www.mark.ac/help for browser support. - -var mySticky; -var theLayer; - -// Setup variables for sliding. -// lastY and staticYOffset should match your CSS top definition. - -lastY = 10; -YOffset = 0; -staticYOffset = 10; -refreshMS = 25; - -// Setup function that runs when the page loads. -function setup( eID ) { - bw = new checkBrowser; - if ( bw.ns4 || bw.opera ) { MM_reloadPage( true ); } - var noFix = bw.ie4 || bw.ns4 || ( bw.macie50 ) ? true : false; - if ( window.attachEvent ) { fix_bind() } - else if ( noFix ) { - if ( bw.ns6 ) { document.getElementById( eID ).style.position = "absolute"; } - if ( bw.macie50 ) { document.getElementById( eID ).style.position = "absolute"; document.getElementById( eID ).style.backgroundColor = "#ccffcc"; } - if ( bw.ns6 && YOffset == 0 ) { YOffset = -15 } - mySticky = new makeLayerObj( eID ); - layerSlide( eID ) } - else { - mySticky = new makeLayerObj( eID ); - mySticky.css.position = "fixed"; } - - if ( !mySticky ) { mySticky = new makeLayerObj( eID ); } - // mySticky.css.visibility = "visible"; -} - -hookEvent( 'load', function() { setup( 'quickbar' ); } ); - - -// ------------------------- -// emulate css 'position: fixed' in IE5+ Win -// code by aclover@1value.com -fix_elements = new Array(); - -function fix_event() { - var i; - for ( i = 0; i < fix_elements.length; i++ ) { - fix_elements[i].style.left = parseInt( fix_elements[i].fix_left ) + document.getElementsByTagName( 'html' )[0].scrollLeft + document.getElementsByTagName( 'body' )[0].scrollLeft + 'px'; - fix_elements[i].style.top = parseInt( fix_elements[i].fix_top ) + document.getElementsByTagName( 'html' )[0].scrollTop + document.getElementsByTagName( 'body' )[0].scrollTop + 'px'; - } -} - -function fix_bind() { - var i; - for ( i = 0; i < document.all.length; i++ ) { - if ( document.all[i].currentStyle.position == 'fixed' ) { - document.all[i].fix_left = document.all[i].currentStyle.left; - document.all[i].fix_top = document.all[i].currentStyle.top; - document.all[i].style.position = 'absolute'; - fix_elements[fix_elements.length] = document.all[i]; - window.attachEvent( 'onscroll', fix_event ); - window.attachEvent( 'onresize', fix_event ); - } - } -} -// ------------------------- - - -// ------------------------- -// DHTML menu sliding. Requires checkBrowser() -// Based on source at http://www.simplythebest.net/ -function layerSlide( layerID ) { - if ( bw.dhtml ) { - if ( !mySticky ) { mySticky = new makeLayerObj( layerID ); } - if ( bw.ns ) { winY = window.pageYOffset; } - else if ( bw.ie ) { winY = document.body.scrollTop; } - if ( bw.ie || bw.ns ) { - if ( winY != lastY && winY > YOffset - staticYOffset ) { smooth = .3 * ( winY - lastY - YOffset + staticYOffset ); } - else if ( YOffset - staticYOffset + lastY > YOffset - staticYOffset ) { smooth = .3 * ( winY - lastY - ( YOffset - ( YOffset - winY ) ) ); } - else { smooth = 0 } - if ( smooth > 0 ) { smooth = Math.ceil( smooth ); } - else { smooth = Math.floor( smooth ); } - if ( bw.ie ) { mySticky.css.pixelTop += smooth; } - else if ( bw.ns ) { mySticky.css.top = parseInt( mySticky.css.top ) + smooth; } - lastY = lastY + smooth; - top.window.status = new Date() - setTimeout( 'layerSlide( "' + layerID + '")', refreshMS ) } } } -// ------------------------- - -// Netscape 4.x browser resize fix -function MM_reloadPage( init ) { -if ( init == true ) with ( navigator ) { if ( ( appName == "Netscape" ) && ( parseInt( appVersion ) == 4 ) ) { - document.MM_pgW = innerWidth; document.MM_pgH = innerHeight; top.onresize = MM_reloadPage; } } -else if ( innerWidth != document.MM_pgW || innerHeight != document.MM_pgH ) { location.reload(); } } - -// Create browser-independent layer and browser objects -function makeLayerObj( eID ) { - if ( document.getElementById ) { this.css = document.getElementById( eID ).style } - else if ( document.layers ) { this.css = document.layers[eID]; } - else if ( document.all ) { this.css = document.all[eID].style; } - return this; -} - -function checkBrowser() { - this.ver = navigator.appVersion; - this.name = navigator.appName; - this.mac = ( navigator.platform.toLowerCase().indexOf( 'mac' ) > -1 ); - this.opera = ( navigator.userAgent.toLowerCase().indexOf( 'opera' ) > -1 ); - this.dom = document.getElementById; - this.ns = ( this.name == 'Netscape' ); - this.ie4 = ( document.all && !this.dom ); - this.ie = ( this.name == 'Microsoft Internet Explorer' && !this.opera ); - this.ie5 = ( this.ie && ( navigator.userAgent.indexOf( "MSIE 5" ) != -1 ) ); - this.macie50 = ( this.mac && this.ie5 && ( navigator.userAgent.indexOf( "MSIE 5.0" ) != -1 ) ); - this.ns4 = ( this.ns && parseInt( this.ver ) == 4 ); - this.ns6 = ( ( this.name == "Netscape" ) && ( parseInt( this.ver ) == 5 ) ); - this.standards = document.getElementById; - this.dhtml = this.standards || this.ie4 || this.ns4; -} - -function showMe( eID ) { - myFloater = new makeLayerObj( eID ); - myFloater.css.visibility = "visible"; -} - -function hideMe( eID ) { - myFloater = new makeLayerObj( eID ); - myFloater.css.visibility = "hidden"; -} -- 2.20.1