Better error reporting for external Markdown files
1. Show an alert when loading the file throws an exception 2. Whenever the status isn't success (2xx) - upon exception or e.g. "file not found" - replace the section's content with information about the failure (instead of being silent about it and showing a blank slide). We need to inform the user something went wrong, not just be silent about it. An experienced developer, upon seing a blank slide, will likely check the javascript console - but the rest will profit from being told about the problem (and solution) explicitely.
This commit is contained in:
		| @@ -101,12 +101,21 @@ | ||||
|  | ||||
|                 xhr.onreadystatechange = function () { | ||||
|                     if( xhr.readyState === 4 ) { | ||||
|                         section.outerHTML = slidifyMarkdown( xhr.responseText, section.getAttribute('data-separator'), section.getAttribute('data-vertical') ); | ||||
|                         if (xhr.status >= 200 && xhr.status < 300) { | ||||
|                             section.outerHTML = slidifyMarkdown( xhr.responseText, section.getAttribute('data-separator'), section.getAttribute('data-vertical') ); | ||||
|                         } else { | ||||
|                             section.outerHTML = '<section data-state="alert">ERROR: The attempt to fetch ' + url + ' failed with the HTTP status ' + xhr.status + | ||||
|                                 '. Check your browser\'s JavaScript console for more details.</section>'; | ||||
|                         } | ||||
|                     } | ||||
|                 }; | ||||
|  | ||||
|                 xhr.open('GET', url, false); | ||||
|                 xhr.send(); | ||||
|                 try { | ||||
|                     xhr.send(); | ||||
|                 } catch (e) { | ||||
|                     alert('Failed to get the Markdown file ' + url + '. Make sure that the presentation and the file are served by a HTTP server and the file can be found there. ' + e); | ||||
|                 } | ||||
|  | ||||
|             } else if( section.getAttribute('data-separator') ) { | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user