1jQuery(function() { 2 'use strict'; 3 4 /** 5 * Simplified version to get the value of a search param 6 * 7 * Should work in IE 11 and above 8 * 9 * @param {string} paramName The param to return 10 * @param {string} [queryString] the querystring from which to return the param's value 11 * @return {string} the param's value 12 */ 13 function getQueryParam(paramName, queryString) { 14 queryString = queryString || window.location.search; 15 if (typeof URLSearchParams !== 'function') { 16 // extra handling for IE and Edge, see https://caniuse.com/#feat=urlsearchparams 17 queryString = queryString.substr(1); 18 var query = {}; 19 queryString.split('&').map(function (searchParamString) { 20 var searchParamArray = searchParamString.split('='); 21 query[searchParamArray[0]] = searchParamArray[1]; 22 }); 23 if (typeof query[paramName] === 'string') { 24 return query[paramName]; 25 } 26 return ''; 27 } 28 29 var searchParams = new URLSearchParams(queryString); 30 return searchParams.get(paramName); 31 } 32 33 var doParam = getQueryParam('do'); 34 35 36 if (['revisions', 'diff'].indexOf(doParam) === -1) { 37 return; 38 } 39 jQuery('a').each(function (index, element) { 40 41 var $elem = jQuery(element); 42 var href = $elem.attr('href'); 43 if (!href) { 44 return; 45 } 46 $elem.attr('href', href.replace(/rev(=\d{10})/, 'at$1')); 47 }) 48 49}); 50