From a752e7372021c1eea5df433f08e53fae1983e8ec Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Wed, 3 Apr 2013 19:04:00 +0000 Subject: [PATCH] Try to give a more friendly message if anything goes wrong during puzzle startup. The puzzle web pages now enclose the whole puzzle (buttons, canvas, permalinks) in a div set to display:none, and instead display an apologetic message saying 'sorry, it didn't work'; then, if we get through the whole init function without crashing, we show the puzzle and hide the apology. [originally from svn r9802] --- emccpre.js | 9 ++++++++- html/jspage.pl | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/emccpre.js b/emccpre.js index ea20771..e2986da 100644 --- a/emccpre.js +++ b/emccpre.js @@ -257,9 +257,16 @@ function initPuzzle() { // Default to giving keyboard focus to the puzzle. onscreen_canvas.focus(); - // And run the C setup function, passing argv[1] as the fragment + // Run the C setup function, passing argv[1] as the fragment // identifier (so that permalinks of the form puzzle.html#game-id // can launch the specified id). Module.arguments = [location.hash]; Module.run(); + + // And if we get here with everything having gone smoothly, i.e. + // we haven't crashed for one reason or another during setup, then + // it's probably safe to hide the 'sorry, no puzzle here' div and + // show the div containing the actual puzzle. + document.getElementById("apology").style.display = "none"; + document.getElementById("puzzle").style.display = "inline"; } diff --git a/html/jspage.pl b/html/jspage.pl index 7172800..376d39a 100755 --- a/html/jspage.pl +++ b/html/jspage.pl @@ -71,6 +71,7 @@ ${unfinishedheading} ${unfinishedpara}
+ +
+Sorry, this Javascript puzzle doesn't seem to work on your web +browser. Perhaps you have Javascript disabled, or perhaps your browser +doesn't provide a feature they depend on. These puzzles have been +successfully run in Firefox 19 and Chrome 25. +

${instructions} -- 2.30.2