diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index c92d11925cd..528527c15ba 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -472,6 +472,7 @@ // Added the new browser window method var/datum/browser/popup = new(src, "latechoices", "Choose Profession", 900, 600) popup.add_stylesheet("playeroptions", 'html/browser/playeroptions.css') + popup.add_script("delay_interactivity", 'html/browser/delay_interactivity.js') popup.set_content(dat) popup.open(0) // 0 is passed to open so that it doesn't use the onclose() proc diff --git a/html/browser/delay_interactivity.js b/html/browser/delay_interactivity.js new file mode 100644 index 00000000000..f621906337b --- /dev/null +++ b/html/browser/delay_interactivity.js @@ -0,0 +1,26 @@ +// Disables all links for one second after the browser window opens. + +(function(){ + // If there's already an onload, let's not clobber it + var oldonload = window.onload; + window.onload = function(){ + if(typeof oldonload == 'function'){ + oldonload(); + } + var onclicks = Array(); + var links = document.getElementsByTagName("a"); + var returnfalse = function(){return false;}; + for(var i = 0; i < links.length; i++){ + onclicks.push(links[i].onclick); + links[i].onclick = returnfalse; + } + setTimeout(function(){ + for(var i = 0; i < links.length; i++){ + // Reset onclick, but only if something else hasn't already changed it + if(links[i].onclick == returnfalse){ + links[i].onclick = onclicks[i]; + } + } + }, 1000); + }; +})();