Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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
从页面浏览器下载图像的HTML5/Javascript代码?_Javascript_Browser_Client Side_Imagedownload - Fatal编程技术网

从页面浏览器下载图像的HTML5/Javascript代码?

从页面浏览器下载图像的HTML5/Javascript代码?,javascript,browser,client-side,imagedownload,Javascript,Browser,Client Side,Imagedownload,我需要javascript代码来下载网页中的所有图像。有办法吗 当浏览器加载页面时,该页面中可能有一些图像,如何列出所有图像并下载?我的意思是,这不应该包括向服务器发送请求。由于浏览器已加载图像,我需要从浏览器而不是服务器下载图像。怎么做呢?您可以获取所有图像并在画布上绘制,然后使用getImageData获取内容。查看此图您可以获得所有URL的列表,或者像这样遍历图像 var images = document.getElementsByTagName("img"); var urls =

我需要javascript代码来下载网页中的所有图像。有办法吗


当浏览器加载页面时,该页面中可能有一些图像,如何列出所有图像并下载?我的意思是,这不应该包括向服务器发送请求。由于浏览器已加载图像,我需要从浏览器而不是服务器下载图像。怎么做呢?

您可以获取所有图像并在画布上绘制,然后使用
getImageData
获取内容。查看此图

您可以获得所有URL的列表,或者像这样遍历图像

var images = document.getElementsByTagName("img");

var urls = [];

Array.prototype.forEach.call(images, function (image) {
    if (image.src.length > 0) {
        urls.push(image.src);
    }
});

console.log(urls);
上提供了一个实例

也可以将图像保存到磁盘,请参见t,但当图像来自另一个域时,则不可以

下面是显示跨域安全错误的示例



标准方法是指示浏览器从服务器下载,并让浏览器看到图像在缓存中,这样它就不会真正发出请求。@Xotic750?????不,它仍然只从服务器获取图像。我在执行此操作时出现此错误安全错误:DOM异常18。为什么会这样?@AbhiRamA看看这篇文章:它给出了一个类似未捕获错误的错误:SecurityError:DOM异常18。这是为什么?如何解决?这是一个特性。更新了几个linksSo,您是说无法通过编程方式从另一个域下载图像?据我所知,可以通过浏览器扩展完成,但不能在浏览器窗口中完成。显然,它们也不能从子域下载。