From 6f5c95de8daf189e2d656f8e28cb448a52a45e3e Mon Sep 17 00:00:00 2001 From: Aryeh Gregor Date: Sun, 4 May 2008 23:51:15 +0000 Subject: [PATCH] * Show correct accesskey prefix for Firefox 3 beta (Alt-Shift-, not Alt-) * Clean up some of the surrounding code: use regexes where appropriate, observe 80-char lines, remove superfluous parentheses. Not tested on FF3, because it seems to freak out at JavaScript served from http://localhost and I haven't figured out yet how to make it accept it. But it looks regression-free from Opera 9 (included masked as IE/Fx), although I can't verify the fix. --- RELEASE-NOTES | 1 + skins/common/wikibits.js | 26 +++++++++++++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index c84411f10c..5fd8cf665d 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -246,6 +246,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * (bug 13820) Fix updater for rev_parent_id population * (bug 13925) Fix bad HTML on search results list * (bug 13934) Fixing the link to GNU General Public License Version 2 +* Show correct accesskey prefix for Firefox 3 beta (Alt-Shift-, not Alt-) === API changes in 1.13 === diff --git a/skins/common/wikibits.js b/skins/common/wikibits.js index cdb5c9defc..b3b6c402b7 100644 --- a/skins/common/wikibits.js +++ b/skins/common/wikibits.js @@ -1,18 +1,22 @@ // MediaWiki JavaScript support functions var clientPC = navigator.userAgent.toLowerCase(); // Get client info -var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1) - && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1)); -var is_safari = ((clientPC.indexOf('applewebkit')!=-1) && (clientPC.indexOf('spoofer')==-1)); -var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled )); -// For accesskeys -var is_ff2_win = (clientPC.indexOf('firefox/2')!=-1 || clientPC.indexOf('minefield/3')!=-1) && clientPC.indexOf('windows')!=-1; -var is_ff2_x11 = (clientPC.indexOf('firefox/2')!=-1 || clientPC.indexOf('minefield/3')!=-1) && clientPC.indexOf('x11')!=-1; +var is_gecko = /gecko/.test( clientPC ) && + !/khtml|spoofer|netscape\/7\.0/.test(clientPC); +var is_safari = clientPC.indexOf('applewebkit') != -1 && + clientPC.indexOf('spoofer') == -1; +var is_khtml = navigator.vendor == 'KDE' || + ( document.childNodes && !document.all && !navigator.taintEnabled ); +// For accesskeys; note that FF3+ is included here! +var is_ff2 = /firefox\/[2-9]|minefield\/3/.test( clientPC ); +// These aren't used here, but some custom scripts rely on them +var is_ff2_win = is_ff2 && clientPC.indexOf('windows') != -1; +var is_ff2_x11 = is_ff2 && clientPC.indexOf('x11') != -1; if (clientPC.indexOf('opera') != -1) { var is_opera = true; - var is_opera_preseven = (window.opera && !document.childNodes); - var is_opera_seven = (window.opera && document.childNodes); - var is_opera_95 = (clientPC.search(/opera\/(9.[5-9]|[1-9][0-9])/)!=-1); + var is_opera_preseven = window.opera && !document.childNodes; + var is_opera_seven = window.opera && document.childNodes; + var is_opera_95 = /opera\/(9.[5-9]|[1-9][0-9])/.test( clientPC ); } // Global external objects used by this script. @@ -498,7 +502,7 @@ if (is_opera) { || navigator.userAgent.toLowerCase().indexOf('mac') != -1 || navigator.userAgent.toLowerCase().indexOf('konqueror') != -1 ) { tooltipAccessKeyPrefix = 'ctrl-'; -} else if (is_ff2_x11 || is_ff2_win) { +} else if (is_ff2) { tooltipAccessKeyPrefix = 'alt-shift-'; } var tooltipAccessKeyRegexp = /\[(ctrl-)?(alt-)?(shift-)?(esc-)?.\]$/; -- 2.20.1