Como converter imagem em base64 e evitar a mesma política de origem

Estou tentando converter uma imagem (link) em base64 para poder armazenar no lado do navegador (IndexedDB), mas não consigo fazer isso, estou procurando uma solução há dias e não o fiz. uma solução para o meu problema.

Neste incrível código, eu posso converter uma imagem da Internet para Base64, mas o problema é que não posso fazer isso para outras imagens na Internet por causa da política de mesma origem.

Como eu poderia evitar esse problema ou se você conhece alguma outra solução para converter uma imagem em Base64, isso seria realmente útil

function convertImgToBase64URL(url, callback, outputFormat){
    var img = new Image();
    img.crossOrigin = 'Anonymous';
    img.onload = function(){
        var canvas = document.createElement('CANVAS'),
        ctx = canvas.getContext('2d'), dataURL;
        canvas.height = img.height;
        canvas.width = img.width;
        ctx.drawImage(img, 0, 0);
        dataURL = canvas.toDataURL(outputFormat);
        callback(dataURL);
        canvas = null; 
    };
    img.src = url;
}
convertImgToBase64URL('http://upload.wikimedia.org/wikipedia/commons/4/4a/Logo_2013_Google.png', function(base64Img){
alert('it works');
      $('.output').find('img').attr('src', base64Img);  
   
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="output"> <img> </div>

questionAnswers(3)

yourAnswerToTheQuestion