Ho il seguente frammento di codice e sto cercando di farlo funzionare da localhost (OSX, in esecuzione XAMPP):context.getImageData() su localhost?
var canvas = document.getElementById('mycanvas');
var cx = canvas.getContext('2d');
var myImg = new Image();
myImg.src = 'images/lion.jpg';
$(myImg).load(function() {
cx.drawImage(myImg, 0, 0);
var imgData = cx.getImageData(0,0,150,150);
});
Ma quando l'eseguo ottengo questo errore dalla console:
Unable to get image data from canvas because the canvas has been tainted by cross-origin data.
site.js:11Uncaught Error: SECURITY_ERR: DOM Exception 18
Ho trovato alcune domande simili qui e so che questo ha qualcosa a che fare con il fatto che sto lavorando localmente e questo non accadrebbe se stavo cercando di accedere all'immagine dallo stesso dominio. Non so se questo ha senso, ma è quello che ho capito.
La mia domanda è: come posso farlo funzionare in un ambiente di sviluppo locale?
ha funzionato come un fascino, grazie un mucchio! –
Non sempre possibile. Come può essere risolto nelle situazioni in cui stiamo installando un sito su un CD per essere eseguito localmente su un computer di destinazione tramite Autorun.inf e quindi non è possibile configurare un server o fare affidamento su uno (o su qualsiasi accesso di rete) essere disponibile? Opere un fascino in tutti gli altri browser, ma in consolle Chrome dice: "warning Kinetic: Impossibile ottenere l'URL dei dati Impossibile eseguire 'toDataURL' on 'HTMLCanvasElement':.. Tele Tainted non possono essere esportati" volte Sad –
La rete loopback (127.0.0.1) è sempre disponibile. – clowwindy