我正在使用精美的盒子在我的wordpress主题中显示图像 以下是我用来显示图像的代码。
<?php
if ( get_post_gallery() ):
$gallery = get_post_gallery($post,false);
$ids= explode(',', $gallery['ids']);
?>
<?php
foreach( $ids AS $id ):
?>
<?php $src = wp_get_attachment_image_src($id,'thumbnail');
$src1 = wp_get_attachment_image_src($id,'full');
?>
<a class="fancybox-buttons col-sm-4 col-xs-6 paper_img" data-fancybox-group="button" href="<?php echo $src1[0];?>" title="">
<img src="<?php echo $src[0];?>" class=" fancybox-image img-responsive"/>
</a>
<?php
endforeach;
endif;
?>
这是我一直在使用的js来自某个地方
jQuery(document).ready(function() {
$('.fancybox-buttons').attr("rel", "gallery").fancybox({
afterLoad: function () {
this.title = this.title ?
'<a href="' + this.href.replace( "download")
.replace(".jpg", ".jpg") +
'">Download</a> ' + this.title
:
'<a href="' + this.href.replace( "download")
.replace(".jpg", ".jpg") +
'">Download</a>';
},
openEffect : 'none',
closeEffect : 'none',
prevEffect : 'none',
nextEffect : 'none',
closeBtn : false,
helpers : {
title : {
type : 'inside'
},
buttons : {}
},
});
});
问题是,当我点击下载按钮时,它会将我带到新窗口,而不是下载它。
我做错了什么,或者你可以提供一些其他选择
答案 0 :(得分:0)
向锚标记添加下载属性,如下所示
<a href="imagelocation" download>
更改afterLoad如下
afterLoad: function () {
this.title = this.title ?
'<a href="' + this.href.replace( "download")
.replace(".jpg", ".jpg") +
'" download>Download</a> ' + this.title
:
'<a href="' + this.href.replace( "download")
.replace(".jpg", ".jpg") +
'" download>Download</a>';
},
答案 1 :(得分:0)
HTML5有download attribute可用于强行下载,但旧版浏览器仍会在浏览器窗口中打开图像。
'<a href="' + this.href.replace( "download")
.replace(".jpg", ".jpg") +
'" download="filename.jpg">Download</a> ' + this.title
的列表