Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从div获取所有图像,并使用javascript将src替换为base64_Javascript_Html - Fatal编程技术网

从div获取所有图像,并使用javascript将src替换为base64

从div获取所有图像,并使用javascript将src替换为base64,javascript,html,Javascript,Html,这就是我要做的 <!--HTML--> <div class="col-md-11" id="divContent"> <textarea class="ckeditor form-control" name="editor1" id="editor1" rows="6"> <p>This is a test image</p> <img src="https://www.google.c

这就是我要做的

<!--HTML-->
 <div class="col-md-11" id="divContent">
    <textarea class="ckeditor form-control" name="editor1" id="editor1" rows="6">
        <p>This is a test image</p>
        <img src="https://www.google.com.au/images/srpr/logo11w.png" />
    </textarea>
 </div>

<!--javascript-->
 <script>
        function parseImages()
        {
            //var html = CKEDITOR.instances.editor1.getData();
            var images = document.getElementById("divContent").getElementsByTagName('img');
            for (i = 0, len = images.length; i < len; i++)
            {
                var newSrc= images[i].src.replace('data:image/png;base64,'+ convertToBase64(images[i].src));
                alert(newSrc);
            }
        }

        //convert image to base 64
        function convertToBase64(URL)
        {
            var img = new Image();
            img.src = URL;
            img.onload = function () {
                var canvas = document.createElement("canvas");
                canvas.width = this.width;
                canvas.height = this.height;

                var ctx = canvas.getContext("2d");
                ctx.drawImage(this, 0, 0);

                var dataURL = canvas.toDataURL("image/png");

                dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
            }
        }
    </script>
我无法捕获我的var图像中的图像。
文本区域来自ck Text editor,我也尝试从id=editor1获取图像,但也不起作用,如果有人有解决方案,请提供建议。

Btw这行是odd var newSrc=images[I].src.replace'data:image/png;base64'+ConvertToBase64图像[i].src;convertToBase64不返回任何内容。只需调用传递给它的image元素,并在加载映像时在其中设置src。并且似乎onload与此行具有相同的替换。textarea的内容值将始终为字符串。不能对字符串调用getElementsByTagName。也许您可以在内存中创建一个新文档,并使用此字符串作为innerHTML填充它,然后作为元素访问标记。@KevinBoucher我试图像document.createcontent那样加载文档,但它用新内容更改了我的界面,这是我不想要的。我不知道如何在内存中实现它,你能给我一个例子,或者给我其他方法来实现它吗,可能是从string.var content=document.createElement'div'中找到img标记;然后content.innerHTML=[your textbox value]然后content.getElementsByTagName'img'-我想这会有用的。@KevinBoucher,谢谢你,这位好朋友,但现在我在var dataURL=canvas.toDataURLimage/png行遇到了另一个问题;as Uncaught SecurityError:未能对“HtmlCanvaElement”执行“toDataURL”:可能无法导出受污染的画布。我不太熟悉这一点,如果你能提供建议,那就太好了。