瀏覽代碼

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


Loading…
取消
儲存