Canvas throw error 'Ошибка: Uncaught (в обещании): SecurityError: Операция небезопасна. toDataURL @ [собственный код] ' - PullRequest
0 голосов
/ 31 января 2020
  1. Я работаю в одном редакторе изображений, в котором мне нужно установить видео в качестве фона холста.
  2. Поэтому я использовал fabri cjs версии 1.7.22, который слишком стар, но Я не могу обновить свой проект из-за его сложности.
  3. Сначала я создаю один html элемент видео, а затем вставляю этот элемент в var img = new fabric.Image(htmlVideoElement) объекта fabri cjs.
  4. Затем я установил объект fabri cJS img на фон холста, например canvas.setBackgroundImage(img, ()=>{ canvas.renderAll() }, {crossOrigin: 'anonymous'})
  5. Я уже добавил тег crossOrigin во всех местах, но в Ма * 1034 все еще происходит ошибка * Safari browser.
  6. Он отлично работает на windows машине во всех браузерах. но не в сафари в MA C.
  7. Ошибка выглядит следующим образом: operation is insecure, и эта ошибка возникает, когда я пытаюсь сделать изображение из холста, используя canvas.toDataURL()
  8. ПРИМЕЧАНИЕ : У меня нет никакого контроля над междоменным сервером, с которого будет загружаться видео. Поэтому я не могу настроить междоменный запрос на сервере.

Есть ли какое-либо решение или предложение, которое может помочь мне установить видео на фоне холста с URL-адресом междоменного домена.

1 Ответ

0 голосов
/ 04 февраля 2020

После разрушения мозга я обнаружил Точный источник проблемы. Это не проблема перекрестного происхождения. это вопрос URL изображения.

Мне установили pixabay. Видео Url. Короче говоря, url видео pixabay не является реальным URL местоположения видео. Когда я вставляю этот URL в браузер, он перенаправляет меня на другой URL и отображает видео в браузере. поэтому у меня возникла проблема, что URL, который я использовал раньше, является одним из королей API URL. и я был настроен на источник видео, поэтому проблема была сгенерирована.

Теперь я отправляю xmlHttpRequest () на этот URL-адрес изображения pixabay и получаю исходный URL-адрес местоположения видео, а затем устанавливаю его на фон холста, и он работает.

...