浏览代码

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 2 年前
父节点
当前提交
eb50628da1
共有 1 个文件被更改,包括 9 次插入1 次删除
  1. +9
    -1
      src/js/pannellum.js

+ 9
- 1
src/js/pannellum.js 查看文件

@@ -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) {


正在加载...
取消
保存