function settingsToStorage(settings) {
    var s = [];
    $.each(settings, function (key, value) {
        s.push(key + "=" + encodeURIComponent(value));
    })
    return s.join("&");
}
function settingsFromStorage(storage) {
    var settings = {};
    storage.replace(/[#&]+([^=&]+)=([^&]*)/gi, function (m, key, value) { settings[key] = decodeURIComponent(value); });
    return settings;
}
 
Nice one, I think ill use it!
ReplyDeleteFor anyone else stumbling onto this, you'll need to add a call to decodeURIComponent() in settingsFromStorage() when setting the value.
@Craig,
ReplyDeleteUpdated. Nice find, thanks.