Je suis en train de recréer l'utilisation demo de Mozilla de JavaScript + <video>
+ <canvas>
avec des fichiers qui ne sont pas hébergés sur un serveur.Comment contourner une violation de la même règle d'origine pour un fichier local à un autre?
Chargement mon document, la console d'erreur pour signaler cette erreur:
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"]
ligne est ici 23:
this.referenceImageData = this.bCtx.getImageData(0, 0, this.bufferCanvas.width, this.bufferCanvas.height);
Il essaie d'obtenir les données d'image d'une toile à laquelle je l'ai déjà copié un image de la vidéo comme ceci:
this.bCtx.drawImage(this.inputElement,
0, 0,
this.inputElement.width, this.inputElement.height,
0, 0,
this.bufferCanvas.width, this.bufferCanvas.height
);
Où this.inputElement
ref Ørences cet élément (assez ennuyeux):
<video id="MainInput" src="320x240.ogg" width="320" height="240"></video>
Est-il possible de franchir cette erreur sans signer mon code avec un JAR?
Je pense que cela a à voir avec la même politique d'origine de Firefox (https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript) ayant un problème d'accès au fichier local, mais je ne peux pas savoir où aller à partir de là.