swup
Version:
Complete, flexible, extensible and easy to use page transition library for your web.
44 lines (38 loc) • 1.05 kB
JavaScript
Object.defineProperty(exports, '__esModule', {
value: true
});
var _helpers = require('../helpers');
var preloadPage = function preloadPage(pathname) {
var _this = this;
var link = new _helpers.Link(pathname);
return new Promise(function(resolve, reject) {
if (
link.getAddress() != (0, _helpers.getCurrentUrl)() &&
!_this.cache.exists(link.getAddress())
) {
(0, _helpers.fetch)({ url: link.getAddress() }, function(response, request) {
if (request.status === 500) {
_this.triggerEvent('serverError');
reject();
} else {
// get json data
var page = (0, _helpers.getDataFromHTML)(
response,
request,
_this.options.elements
);
if (page != null) {
page.url = link.getAddress();
_this.cache.cacheUrl(page, _this.options.debugMode);
_this.triggerEvent('pagePreloaded');
}
resolve(_this.cache.getPage(link.getAddress()));
}
});
} else {
resolve(_this.cache.getPage(link.getAddress()));
}
});
};
exports.default = preloadPage;
;