Can't you just save/load to webstorage and use a global var to ensure the load function only runs once?
In terms of saving, if all you're doing is keeping track of levels cleared, it's a trivial matter to just update your save whenever the player beats a level. Assuming you are using an array, even with a few hundred levels, the overhead is trivial even on a weak device.