49 lines
1.2 KiB
JavaScript
Vendored
49 lines
1.2 KiB
JavaScript
Vendored
(function ($) {
|
|
/**
|
|
* @param {object} _options
|
|
*/
|
|
$.fn.share = function (_options) {
|
|
var options = {
|
|
type: '',
|
|
types: {
|
|
facebook: {
|
|
url: 'https://www.facebook.com/sharer/sharer.php?u=',
|
|
textOption: false
|
|
},
|
|
twitter_x: {
|
|
url: 'https://twitter.com/share?url=',
|
|
textOption: 'text='
|
|
},
|
|
},
|
|
excerptClass: 'excerpt'
|
|
};
|
|
|
|
$.extend(options, _options);
|
|
|
|
this.click(function (e) {
|
|
e.preventDefault();
|
|
var type = options.types[options.type];
|
|
if (type !== undefined) {
|
|
var extra = '';
|
|
if (type.textOption) {
|
|
var text = $('.' + options.excerptClass).text();
|
|
if (text.length + location.href.length > 278) {
|
|
text = text.substring(0, 278 - (location.href.length + 3)) + '...';
|
|
}
|
|
extra = '&' + type.textOption + encodeURI(text);
|
|
}
|
|
window.open(type.url + encodeURI(location.href) + extra, "pop", "width=600, height=400, scrollbars=no");
|
|
} else {
|
|
console.error(options.type + ' is unknown');
|
|
}
|
|
});
|
|
};
|
|
|
|
}(jQuery));
|
|
|
|
$(function () {
|
|
$('[data-share]').each(function () {
|
|
$(this).share({type: $(this).data('share')});
|
|
});
|
|
});
|