Parcourir la source

Stop loading panorama is viewer is destroyed (fixed #1084).

If the viewer is destroyed, we now try to abort loading equirectangular and
cube map panoramas. This appears to work in Chrome but not in Firefox.

No attempt is made to stop loading multires images, since that process is more
complicated.
pull/1121/head
Matthew Petroff il y a 2 ans
Parent
révision
eb50628da1
1 fichiers modifiés avec 9 ajouts et 1 suppressions
  1. +9
    -1
      src/js/pannellum.js

+ 9
- 1
src/js/pannellum.js Voir le fichier

@@ -71,6 +71,7 @@ var config,
eps = 1e-6,
resizeObserver,
hotspotsCreated = false,
xhr,
destroyed = false;

var defaultConfig = {
@@ -411,7 +412,7 @@ function init() {
onImageLoad();
};
var xhr = new XMLHttpRequest();
xhr = new XMLHttpRequest();
xhr.onloadend = function() {
if (xhr.status != 200) {
// Display error if image can't be loaded
@@ -419,6 +420,7 @@ function init() {
a.href = p;
a.textContent = a.href;
anError(config.strings.fileAccessError.replace('%s', a.outerHTML));
return;
}
var img = this.response;
parseGPanoXMP(img, p);
@@ -3347,6 +3349,12 @@ this.destroy = function() {
destroyed = true;
clearTimeout(autoRotateStart);

if (xhr)
xhr.abort();
if (Array.isArray(panoImage)) {
for (var i = 0; i < 6; i++)
panoImage[i].src = '';
}
if (renderer)
renderer.destroy();
if (listenersAdded) {


Chargement…
Annuler
Enregistrer