ref: 20d424bf1bef4c1ed249ec3c72a859deb926e207
parent: 43db4aa38e83595dc6df245cb952795f9f306ed0
author: Simon Tatham <anakin@pobox.com>
date: Mon Apr 24 10:24:19 EDT 2023
Emscripten: change the localStorage key used for preferences. I picked pathname + "#preferences" because Ben suggested either that or pathname + "/preferences", and I thought the former sounded neater. But Ben now suggests that it might be better to avoid using # in the key, just in case anyone should later want to use the whole URL _including_ the fragment ID as the key for some other localStorage usage - for example, autosaved progress per puzzle _instance_, keying off the puzzle URL with a fragment ID in the game description. So, per Ben's replacement suggestion, change the "#" to a space.
--- a/emcclib.js
+++ b/emcclib.js
@@ -801,7 +801,7 @@
*/
js_save_prefs: function(buf) {
var prefsdata = UTF8ToString(buf);
- localStorage.setItem(location.pathname + "#preferences", prefsdata);
+ localStorage.setItem(location.pathname + " preferences", prefsdata);
},
/*
@@ -811,7 +811,7 @@
* pass it back in as a string, via prefs_load_callback.
*/
js_load_prefs: function(me) {
- var prefsdata = localStorage.getItem(location.pathname+"#preferences");
+ var prefsdata = localStorage.getItem(location.pathname+" preferences");
if (prefsdata !== undefined && prefsdata !== null) {
prefs_load_callback(me, prefsdata);
}