使用Javascript强制从src下载图像
我有一个带有父div的使用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
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()