【发布时间】:2019-11-08 15:39:57
【问题描述】:
我正在使用 Openseadragon 来显示在服务器上运行的整个幻灯片图像。 当互联网连接不是很快并且在图像内导航时,我有许多等待队列的请求需要完成,直到我想要查看的特定区域被加载和呈现。 有没有办法让新请求优先于旧请求? 我认为它确实会改善用户体验。
我尝试更改一些 Openseadragon 参数以改善用户体验,但我认为应该有更好的解决方案。
我还发现下面的代码取消了请求,但也清除了已经渲染和缓存的所有内容,因此每个图块都应该重新加载。
我也尝试取消所有待处理的请求,但没有新请求开始,因此取消的图块永远不会加载。
window.stop()
viewer = viewport.viewer
var oldImage = viewer.world.getItemAt(0);
var oldBounds = oldImage.getBounds();
var oldSource = oldImage.source;
// Modify tile source as needed
viewer.addTiledImage({
tileSource: oldSource,
x: oldBounds.x,
y: oldBounds.y,
width: oldBounds.width, // It'll do height automatically based on aspect ratio
success: function() {
viewer.world.removeItem(oldImage);
}
});
我想取消挂起的请求并创建新请求,或者只是将新请求优先于旧请求,以便用户可以更快地看到新图块并在后台加载旧图块。 我不希望用户只是等待图像加载并继续等待加载刚刚通过的图块,需要在他们正在寻找的实际图块之前加载。
有什么想法吗? 提前谢谢你。
【问题讨论】: