Cómo poder convertir una imagen a base64 y evitar la política del mismo origen

Estoy tratando de convertir una imagen (enlace) a base64 para poder almacenar en el lado del navegador (IndexedDB), pero no puedo hacerlo, he estado buscando una solución durante días y no lo hice Una solución a mi problema.

En este increíble código, puedo convertir una imagen de internet a Base64, pero el problema es que no puedo hacer eso para otras imágenes en internet debido a la política del mismo origen.

Cómo podría evitar ese problema o si conoces alguna otra solución para convertir una imagen a Base64, sería 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>

Respuestas a la pregunta(3)

Su respuesta a la pregunta