Получил 'IndexSizeError' с IE 11 / Edge на больших изображениях с Openseadragon - PullRequest
0 голосов
/ 28 июня 2018

Я использую 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), но это не решение для меня (это нарушает мою реализацию вьюера).

...