Я использую Openseadragon для отображения больших изображений, и с некоторыми из них я получил сообщение об ошибке «SCRIPT5022: IndexSizeError» с IE 11 и Edge.
Он работает с небольшим изображением (1024 x 656 пикселей), но не работает с любым большим изображением (например, 2981 x 4123). Любой другой браузер работает нормально во всех случаях.
Я использую источник типа 'legacy-image-pyramid'.
Моя конфигурация Openseadragon:
viewer = OpenSeadragon({
id: 'openseadragon',
toolbar: 'viewer-toolbar',
maxZoomLevel: 5,
minZoomLevel: 0,
preload: true,
sequenceMode: false,
tileSources: SOURCE,
crossOriginPolicy: 'Anonymous',
// buttons
zoomInButton: 'zoom-in',
zoomOutButton: 'zoom-out',
showRotationControl: true,
rotateLeftButton: 'rotate-left',
rotateRightButton: 'rotate-right',
homeButton: 'home',
showFullPageControl: false,
rotateleftButton: 'rotate-left',
rotaterightButton: 'rotate-right',
// gestures
gestureSettingsMouse: {
clickToZoom: false,
dblClickToZoom: true,
pinchToZoom: true,
pinchRotate: true
},
gestureSettingsTouch: { pinchRotate: true }
});
Исходный код больших изображений (ошибка):
var SOURCE = [
{
type: 'legacy-image-pyramid',
levels: [{
url: 'https://rgw.atolcd.com/swift/v1/sillon_container_test/entrepot/B574636101_Prev36_18930411_0001.jpg',
height: 4123,
width: 2981
}]
}
];
Исходный код уменьшенного изображения (работа):
var SOURCE = [
{
type: 'legacy-image-pyramid',
levels: [{
url: 'https://rgw.atolcd.com/swift/v1/sillon_container_test/entrepot/carte1.jpg',
height: 656,
width: 1024
}]
},
];
Я обнаружил эту проблему (https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16192680/ и IndexSizeError при drawImage в IE и Edge с IE11 / Edge (очевидно, исправлено в последней версии Edge), если параметры drawImage неверны, но параметры OpenSeadragon Значения хорошие. (и работает с небольшими изображениями, поэтому должно работать с любым изображением?).
Я пробовал другой тип источника (источник мозаики изображений), но та же ошибка.
Это работает, если я отключаю canvas и использую вместо него img (с useCanvas: false в Options), но это не решение для меня (это нарушает мою реализацию вьюера).