From 3f4e15e35a66af2dccba9d7b1d864ff39cc95620 Mon Sep 17 00:00:00 2001 From: Krausus Date: Fri, 1 Jul 2016 17:22:26 -0400 Subject: [PATCH 1/2] Adds 1-second delay to late-join job selection --- code/modules/mob/new_player/new_player.dm | 1 + html/browser/delay_interactivity.js | 24 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 html/browser/delay_interactivity.js 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..f6525f7c90c --- /dev/null +++ b/html/browser/delay_interactivity.js @@ -0,0 +1,24 @@ +// 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); + }; +})(); From a50c0631147a21922c0775b0150bde06399fd441 Mon Sep 17 00:00:00 2001 From: Krausus Date: Fri, 1 Jul 2016 18:38:19 -0400 Subject: [PATCH 2/2] Adds Tiger-safe brackets Also, a semicolon. Semicolons are great. --- html/browser/delay_interactivity.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/html/browser/delay_interactivity.js b/html/browser/delay_interactivity.js index f6525f7c90c..f621906337b 100644 --- a/html/browser/delay_interactivity.js +++ b/html/browser/delay_interactivity.js @@ -2,10 +2,11 @@ (function(){ // If there's already an onload, let's not clobber it - var oldonload = window.onload + var oldonload = window.onload; window.onload = function(){ - if(typeof oldonload == 'function') + if(typeof oldonload == 'function'){ oldonload(); + } var onclicks = Array(); var links = document.getElementsByTagName("a"); var returnfalse = function(){return false;}; @@ -16,8 +17,9 @@ 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) + if(links[i].onclick == returnfalse){ links[i].onclick = onclicks[i]; + } } }, 1000); };