Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
使用Javascript强制从src下载图像_Javascript_Jquery_Html_Image - Fatal编程技术网

使用Javascript强制从src下载图像

使用Javascript强制从src下载图像,javascript,jquery,html,image,Javascript,Jquery,Html,Image,我有一个带有父div的image标记,其中包含image\u wrap类。现在我想用javascript下载这个图像。我有一些解决方案来下载这张图片,但这段代码对我不起作用。有人能帮我吗 这是我的代码: var img_wrap=$('.image_wrap'), src=img_wrap.find('img').attr('src'), 主播=“”, 可下载标签=img\u wrap.append(锚定); 可下载标签。单击() 尝试以下脚本: $(文档).ready(函数(){ 变量i

我有一个带有父div的
image
标记,其中包含
image\u wrap
类。现在我想用javascript下载这个图像。我有一些解决方案来下载这张图片,但这段代码对我不起作用。有人能帮我吗

这是我的代码:

var img_wrap=$('.image_wrap'),
src=img_wrap.find('img').attr('src'),
主播=“”,
可下载标签=img\u wrap.append(锚定);
可下载标签。单击()

尝试以下脚本:

$(文档).ready(函数(){
变量img_wrap=$('.image_wrap'),
src=img_wrap.find('img').attr('src'),
主播=“”,
可下载标签=img\u wrap.append(锚定);
可下载的标签触发器('点击')
});

您似乎想下载图像,而不是浏览图像。属性
download
仅适用于相同来源的URL。检查此处的文档:

您在append语句中分配了相同的变量

downloadable_tag=img_wrap.append(可下载_tag)

把它换成下面的那个

downloadable_tag=img_wrap.append(锚定)

var img_wrap=$('.image_wrap'),
src=img_wrap.find('img').attr('src'),
主播=“”,
可下载标签=img\u wrap.append(锚定);
可下载标签。单击()

您的代码中有一些问题

首先,您将错误的元素附加到
img\u wrap
元素。您应该附加
锚定
元素,而不是
可下载标签

然后,
.click()
应该用于dom对象,而不是Jquery对象。所以我认为你也应该修正这条线

最后,
download
属性将仅为同一域中的文件显示下载窗口。出于安全目的,它不适用于跨源请求

因此,通过上述所有修复,您的代码应该是这样的:

<div class="image_wrap">
    <img height="100px" width="200px" src="01_eduma.__large_preview.__large_preview.jpg" />
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>

    var img_wrap = $('.image_wrap'),
        src = img_wrap.find('img').attr('src'),
        anchor = $('<a href="' + src + '" download>hello</a>'),
        downloadable_tag = img_wrap.append(anchor);

    anchor[0].click()

变量img_wrap=$('.image_wrap'),
src=img_wrap.find('img').attr('src'),
锚定=$(''),
可下载标签=img\u wrap.append(锚定);
定位点[0]。单击()
请注意,我对图像使用了本地路径。这里有一个plunker演示


希望有帮助:)如果你有任何疑问,请随时提问

通过JavaScript下载是什么意思?将其作为可下载文件提供给用户?
<div class="image_wrap">
    <img height="100px" width="200px" src="01_eduma.__large_preview.__large_preview.jpg" />
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>

    var img_wrap = $('.image_wrap'),
        src = img_wrap.find('img').attr('src'),
        anchor = $('<a href="' + src + '" download>hello</a>'),
        downloadable_tag = img_wrap.append(anchor);

    anchor[0].click()