Se você estiver desenvolvendo um código rápido localmente e estiver usando o Chrome, há um problema. se sua página carregar usando um URL do formulário "arquivo: // xxxx", então tentar usar getImageData () na tela irá falhar e lançar o erro de segurança de origem cruzada, mesmo se sua imagem estiver sendo obtida do mesmo em sua máquina local como a página HTML que renderiza a tela. Portanto, se sua página HTML for obtida, diga:
arquivo: // D: /wwwroot/mydir/mytestpage.html
e seu arquivo Javascript e imagens estão sendo buscados, digamos:
arquivo: // D: /wwwroot/mydir/mycode.js
arquivo: // D: /wwwroot/mydir/myImage.png
então, apesar do fato de que essas entidades secundárias estão sendo buscadas da mesma origem, o erro de segurança ainda é lançado.
Por algum motivo, em vez de definir a origem corretamente, o Chrome define o atributo origin das entidades necessárias como "null", tornando impossível testar o código envolvendo getImageData () simplesmente abrindo a página HTML em seu navegador e depurando localmente.
Além disso, definir a propriedade crossOrigin da imagem como "anônimo" não funciona, pelo mesmo motivo.
Ainda estou tentando encontrar uma solução alternativa para isso, mas, mais uma vez, parece que a depuração local está sendo processada da forma mais dolorosa possível pelos implementadores de navegador.
Acabei de tentar executar meu código no Firefox, e o Firefox acertou, reconhecendo que minha imagem é da mesma origem dos scripts HTML e JS. Portanto, gostaria de receber algumas dicas sobre como contornar o problema no Chrome, já que, no momento, enquanto o Firefox funciona, seu depurador é dolorosamente lento, a ponto de estar a um passo de um ataque de negação de serviço.