Kod saya berfungsi dengan baik pada localhost tetapi tidak pada tapak web.
Saya mendapat ralat ini daripada konsol, untuk baris ini
Uncaught SecurityError: Gagal melaksanakan 'getImageData' pada 'CanvasRenderingContext2D': Kanvas telah dicemari oleh data silang asal.
Sebahagian daripada kod saya:
jQuery.Event.prototype.rgb=function(){ var x = this.offsetX ||. (this.pageX - $(this.target).offset().left),y = this.offsetY || (this.pageY - $(this.target).offset(). atas); jika (this.target.nodeName!=="CANVAS")mengembalikan null; kembalikan this.target.getContext('2d').getImageData(x,y,1,1).data; }
Nota: URL imej saya (src) berasal daripada URL subdomain
Seperti yang orang lain katakan, anda "mencemarkan" kanvas dengan memuatkan daripada domain silang asal.
https://developer.mozilla.org/en-US/docs/ HTML/CORS_Enabled_Image
Namun, anda boleh mencegah perkara ini dengan hanya menetapkan:
Ini hanya berfungsi jika pelayan jauh menetapkan pengepala berikut dengan betul:
Pemilih failDropbox apabila menggunakan pilihan Pautan TerusIni adalah contoh yang bagus. Saya menggunakan ini dioddprints.comuntuk menyedut imej daripada URL imej dropbox jauh ke dalam kanvas saya dan kemudian menyerahkan kembali data imej ke pelayan saya. Semua ditulis dalam JavaScript