User:Monster Domosed/common.js: Difference between revisionsGive feedback
Jump to navigation
Jump to search
No edit summary |
Undo Tag: Undo |
||
| Line 46: | Line 46: | ||
function switchQuality(viewer, icon, lqUrl, hqUrl) { | |||
const isLQ = viewer.src === lqUrl; | |||
const oldTime = viewer.currentTime; | |||
const oldAnimation = viewer.animationName; | |||
const oldOrbit = viewer.getAttribute('camera-orbit'); | |||
const oldTarget = viewer.getAttribute('camera-target'); | |||
viewer.addEventListener('load', function restore() { | |||
viewer.removeEventListener('load', restore); | |||
if (oldOrbit) { | |||
viewer.setAttribute('camera-orbit', oldOrbit); | |||
} | |||
if (oldTarget) { | |||
viewer.setAttribute('camera-target', oldTarget); | |||
} | |||
if (oldAnimation) { | |||
viewer.animationName = oldAnimation; | |||
} | |||
if (typeof oldTime === 'number') { | |||
viewer.currentTime = oldTime; | |||
} | |||
if (viewer.hasAttribute('autoplay')) { | |||
viewer.play(); | |||
} | |||
}, { once: true }); | |||
viewer.src = isLQ ? hqUrl : lqUrl; | |||
icon.src = isLQ ? HQ_ICON : LQ_ICON; | |||
} | |||