User:Monster Domosed/common.js: Difference between revisions

No edit summary
Undo
Tag: Undo
Line 46: Line 46:




function switchQuality(viewer, icon, lqUrl, hqUrl) {
    function switchQuality(viewer, icon, lqUrl, hqUrl) {
    const isLQ = viewer.src === lqUrl;
        const isLQ = viewer.src === lqUrl;
 
    const oldTime = viewer.currentTime;
        const oldTime = viewer.currentTime;
    const oldAnimation = viewer.animationName;
        const oldAnimation = viewer.animationName;
        const oldOrbit = viewer.getAttribute('camera-orbit');
    const oldOrbit = viewer.cameraOrbit;
        const oldTarget = viewer.getAttribute('camera-target');
    const oldTarget = viewer.cameraTarget;
 
        viewer.addEventListener('load', function restore() {
    viewer.addEventListener('load', function restore() {
            viewer.removeEventListener('load', restore);
        viewer.removeEventListener('load', restore);
 
            if (oldOrbit) {
        if (oldOrbit) {
                viewer.setAttribute('camera-orbit', oldOrbit);
            viewer.cameraOrbit = oldOrbit;
            }
        }
 
            if (oldTarget) {
        if (oldTarget) {
                viewer.setAttribute('camera-target', oldTarget);
            viewer.cameraTarget = oldTarget;
            }
        }
 
            if (oldAnimation) {
        if (oldAnimation) {
                viewer.animationName = oldAnimation;
            viewer.animationName = oldAnimation;
            }
        }
 
            if (typeof oldTime === 'number') {
        if (typeof oldTime === 'number') {
                viewer.currentTime = oldTime;
            viewer.currentTime = oldTime;
            }
        }
 
            if (viewer.hasAttribute('autoplay')) {
        if (viewer.hasAttribute('autoplay')) {
                viewer.play();
            viewer.play();
            }
        }
        }, { once: true });
    }, { once: true });
 
        viewer.src = isLQ ? hqUrl : lqUrl;
    viewer.src = isLQ ? hqUrl : lqUrl;
 
        icon.src = isLQ ? HQ_ICON : LQ_ICON;
    icon.src = isLQ ? HQ_ICON : LQ_ICON;
    }
}