lainchan/js/download-original.js

43 lines
1.3 KiB
JavaScript
Raw Normal View History

2013-08-31 05:49:06 -04:00
/*
* download-original.js
* https://github.com/savetheinternet/Tinyboard/blob/master/js/download-original.js
*
* Makes image filenames clickable, allowing users to download and save files as their original filename.
* Only works in newer browsers. http://caniuse.com/#feat=download
*
* Released under the MIT license
* Copyright (c) 2012-2013 Michael Save <savetheinternet@tinyboard.org>
* Copyright (c) 2013-2014 Marcin Łabanowski <marcin@6irc.net>
2013-08-31 05:49:06 -04:00
*
* Usage:
* $config['additional_javascript'][] = 'js/jquery.min.js';
* $config['additional_javascript'][] = 'js/download-original.js';
*
*/
onready(function(){
2013-12-27 09:28:46 -05:00
var do_original_filename = function() {
2013-08-31 05:59:26 -04:00
var filename, truncated;
if ($(this).attr('title')) {
filename = $(this).attr('title');
truncated = true;
} else {
filename = $(this).text();
}
2013-08-31 05:49:06 -04:00
$(this).replaceWith(
$('<a></a>')
2013-08-31 05:59:26 -04:00
.attr('download', filename)
2013-08-31 05:49:06 -04:00
.append($(this).contents())
.attr('href', $(this).parent().parent().find('a').attr('href'))
2013-08-31 05:59:26 -04:00
.attr('title', _('Save as original filename') + (truncated ? ' (' + filename + ')' : ''))
2013-08-31 05:49:06 -04:00
);
2013-12-27 09:28:46 -05:00
};
$('.postfilename').each(do_original_filename);
$(document).bind('new_post', function(e, post) {
$(post).find('.postfilename').each(do_original_filename);
2013-08-31 05:49:06 -04:00
});
});