Я пытаюсь полувосстановить использование Mozilla demo JavaScript + <video>
+ <canvas>
с файлами, которые не размещены на сервере.Как обойти одно и то же нарушение политики происхождения для одного локального файла другому?
Загрузка моего документа вызывает консоль ошибок, чтобы сообщить об ошибке:
Error: uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "file:///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
ref erences это (довольно скучный) элемент:
<video id="MainInput" src="320x240.ogg" width="320" height="240"></video>
Есть ли способ, чтобы пройти эту ошибку, не подписывая мой код с банкой?
Я думаю, что это связано с той же политикой происхождения Firefox (https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript), у которой есть локальный доступ к файлам, но я не могу понять, куда идти оттуда.