Я пытаюсь воссоздать демо Mozilla с использованием JavaScript + <video>
+ <canvas>
с файлами, которые не размещены на сервере.
При загрузке моего документа консоль ошибок сообщает об этой ошибке:
Ошибка: необработанное исключение: [Исключение ... "Ошибка безопасности" код: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "файл: /// media / disk / javascript / html5 / chromakey / chromakey1. htm Line: 23 "]
Вот строка 23:
this.referenceImageData = this.bCtx.getImageData(0, 0, this.bufferCanvas.width, this.bufferCanvas.height);
Он пытается получить данные изображения с холста, на который я ранее скопировал кадр видео, например:
this.bCtx.drawImage(this.inputElement,
0, 0,
this.inputElement.width, this.inputElement.height,
0, 0,
this.bufferCanvas.width, this.bufferCanvas.height
);
Где this.inputElement
ссылается на этот (довольно скучный) элемент:
<video id="MainInput" src="320x240.ogg" width="320" height="240"></video>
Есть ли способ обойти эту ошибку, не подписывая мой код с помощью JAR?
Я думаю, что это связано с той же политикой происхождения Firefox (https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript) с проблемой доступа к локальному файлу, но я не могу понять, куда идти.