webxoss-client/migrate.html
2017-03-07 10:31:02 +08:00

39 lines
No EOL
1.1 KiB
HTML

<!DOCTYPE html>
<html manifest="webxoss.appcache">
<head>
<title>Migrate WEBXOSS data</title>
</head>
<body>
<iframe id="iframe" style="display: none;" src="about:blank"></iframe>
<script>
(function () {
if (location.protocol === 'https:') {
return
}
// migrated by the old way, buggy in safari
if (localStorage.getItem('migrated') === 'true') {
if (!window.safari) {
return location.replace(location.href.replace(/^http:/, 'https:'))
}
}
// migrated by the new way
if (localStorage.getItem('migrated') === '2') {
return location.replace(location.href.replace(/^http:/, 'https:'))
}
function getStorage() {
var storage = {}
for (var i = 0; i < localStorage.length; i++) {
var key = localStorage.key(i)
storage[key] = localStorage.getItem(key)
}
return storage
}
var storage = getStorage()
localStorage.setItem('migrated', 2)
// pass localStorage via url hash, which is ignored in network request
var url = location.href.replace(/^http:/, 'https:') + '#storage=' + JSON.stringify(storage)
return location.replace(url)
})()
</script>
</body>
</html>