diff options
author | Tobias Gruetzmacher <tobias-git@23.gs> | 2015-02-26 15:09:54 (GMT) |
---|---|---|
committer | Tobias Gruetzmacher <tobias-git@23.gs> | 2015-02-27 11:57:52 (GMT) |
commit | e570f8aae5583d91b1e910f7f0a7a2459fa3d161 (patch) | |
tree | fe48651e1171d6b687a357c63e2285db4c134e4c /index.html | |
parent | 06747eaca2f34ae0717566d9267ffd1229444210 (diff) | |
download | mxe-e570f8aae5583d91b1e910f7f0a7a2459fa3d161.zip mxe-e570f8aae5583d91b1e910f7f0a7a2459fa3d161.tar.gz mxe-e570f8aae5583d91b1e910f7f0a7a2459fa3d161.tar.bz2 |
Load versions from cache, if it exists.
Diffstat (limited to 'index.html')
-rw-r--r-- | index.html | 25 |
1 files changed, 22 insertions, 3 deletions
@@ -2601,6 +2601,21 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre> })(); } } + function loadVersionCache(doneCallback, errCallback) { + var request = new XMLHttpRequest(); + request.open('GET', 'versions.json', true); + request.onreadystatechange = function reqCallback() { + if (request.readyState === 4) { + if (request.status === 200) { + var versions = JSON.parse(request.responseText); + doneCallback(versions); + } else { + errCallback(); + } + } + } + request.send(); + } function resolveVersions(versions) { var resolvedVersions = {}; for (var package in versions) { @@ -2625,9 +2640,13 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre> } (function main() { var packageElements = getPackageElements(); - loadVersions(packageElements, function doneCallback(versions) { - var resolvedVersions = resolveVersions(versions); - showVersions(packageElements, resolvedVersions); + loadVersionCache(function doneCallback(versions) { + showVersions(packageElements, versions); + }, function errCallback() { + loadVersions(packageElements, function doneCallback(versions) { + var resolvedVersions = resolveVersions(versions); + showVersions(packageElements, resolvedVersions); + }); }); })(); </script> |