В main.tpl добавить:
Добавить в файл стилей:
Создать файл share.js в папке шаблона с содержимым:
Добавить в загрузку стилей иконочный шрифт Pictonic: https://pictonic.co/
Код: Выделить всё
[aviable=showfull|static]
<div id="share-button_global" class="share-button"></div>
[/aviable]
<script type="text/javascript">
jQuery(document).ready(function(){
/*SHARE BUTTON START*/
config = {
// MouseEvent: 'move', /* 'click' */
MouseEvent: 'click', /* 'move' */
description_alt: 'description_alt', /* ID элемента откуда берется альтернативное описание*/
ui: {
// button_text: 'Поделиться в<br> социальные сети'
button_text: '<br><i style=\'color:#c5282f\' class=\'icon-pinterest\'></i><br><i style=\'color:#6cdfea\' class=\'icon-twitter-3\'></i><br><i style=\'color:#3b5998\' class=\'icon-facebook\'></i><br><i style=\'color:#e34429\' class=\'icon-google__x2B_\'></i><br><i style=\'color:#42c5b0\' class=\'icon-mail\'></i><br><i style=\'color:#5b7fa6\' class=\'icon-rus-vk-02\'></i><br><i style=\'color:#cf6700\' class=\'icon-odnoklassniki\'></i><br><i style=\'color:#00a3d9\' class=\'icon-livejournal\'></i>'
}
};
var share = new Share(".share-button", config);
config = {
ui: {
// button_text: 'Поделиться в<br> социальные сети'
button_text: 'Поделиться'
}
};
var share_line = new Share(".share-button-line", config);
/*SHARE BUTTON END*/
});
</script>
Добавить в файл стилей:
Код: Выделить всё
#share-button_global {opacity:0.8; }
#share-button_global {position:fixed; left:-2px; bottom:200px;}
#share-button_global label span {text-transform:none; /*color:#a80000;*/ font-family: "Open Sans",Helvetica,Arial,sans-serif; font-weight:600; margin-left:-5px; margin-top: -5px; display:block }
#share-button_global .social.top { margin-top: /*-220px*//*-129px*/-142px}
Создать файл share.js в папке шаблона с содержимым:
Код: Выделить всё
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Share = f()}})(function(){var define,module,exports;
function getStyles(config){ return ""+config.selector+" .social.bottom,"+config.selector+" .social.top{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0}"+config.selector+"{width:auto;height:20px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}"+config.selector+" [class*=entypo-]:before{font-family:entypo,sans-serif}"+config.selector+" label{/*font-size:16px;cursor:pointer;margin:0;padding:5px 10px;border-radius:5px;background:#a29baa;color:#333;*/transition:all .3s ease;}"+config.selector+" label:hover{opacity:.8}"+config.selector+" label span{text-transform:uppercase;font-size:.9em;font-family:Lato,sans-serif;font-weight:700;-webkit-font-smoothing:antialiased;padding-left:6px}"+config.selector+" .social{opacity:0;transition:all .4s ease;/*margin-left:-15px*/;margin-left:2px;visibility:hidden}"+config.selector+" .social.top{-ms-transform-origin:0 0;transform-origin:0 0;margin-top:-80px}"+config.selector+" .social.bottom{-ms-transform-origin:0 0;transform-origin:0 0;margin-top:5px}"+config.selector+" .social.middle.left,"+config.selector+" .social.middle.right{-ms-transform-origin:5% 50%;transform-origin:5% 50%;-webkit-transform-origin:5% 50%;-moz-transform-origin:5% 50%;-o-transform-origin:5% 50%}"+config.selector+" .social.middle{margin-top:-34px}"+config.selector+" .social.middle.right{margin-left:105px}"+config.selector+" .social.networks-1.center,"+config.selector+" .social.networks-1.left,"+config.selector+" .social.right{margin-left:14px}"+config.selector+" .social.load{transition:none!important}"+config.selector+" .social.networks-1{width:60px}"+config.selector+" .social.networks-1.middle.left{margin-left:-70px}"+config.selector+" .social.networks-1 ul{width:60px}"+config.selector+" .social.networks-2,"+config.selector+" .social.networks-2 ul{width:120px}"+config.selector+" .social.networks-2.center{margin-left:-13px}"+config.selector+" .social.networks-2.left{margin-left:-44px}"+config.selector+" .social.networks-2.middle.left{margin-left:-130px}"+config.selector+" .social.networks-3,"+config.selector+" .social.networks-3 ul{width:180px}"+config.selector+" .social.networks-3.center{margin-left:-45px}"+config.selector+" .social.networks-3.left{margin-left:-102px}"+config.selector+" .social.networks-3.middle.left{margin-left:-190px}"+config.selector+" .social.networks-4,"+config.selector+" .social.networks-4 ul{width:240px}"+config.selector+" .social.networks-4.center{margin-left:-75px}"+config.selector+" .social.networks-4.left{margin-left:162px}"+config.selector+" .social.networks-4.middle.left{margin-left:-250px}"+config.selector+" .social.networks-5,"+config.selector+" .social.networks-5 ul{width:300px}"+config.selector+" .social.networks-5.center{margin-left:-105px}"+config.selector+" .social.networks-5.left{margin-left:-225px}"+config.selector+" .social.networks-5.middle.left{margin-left:-320px}"+config.selector+" .social.active{opacity:1;transition:all .4s ease;visibility:visible}"+config.selector+" .social.active.top{-webkit-transform:scale(1)translateY(-10px);-moz-transform:scale(1)translateY(-10px);-o-transform:scale(1)translateY(-10px);-ms-transform:scale(1)translateY(-10px);transform:scale(1)translateY(-10px)}"+config.selector+" .social.active.bottom{-webkit-transform:scale(1)translateY(15px);-moz-transform:scale(1)translateY(15px);-o-transform:scale(1)translateY(15px);-ms-transform:scale(1)translateY(15px);transform:scale(1)translateY(15px)}"+config.selector+" .social.active.middle.right{-webkit-transform:scale(1)translateX(10px);-moz-transform:scale(1)translateX(10px);-o-transform:scale(1)translateX(10px);-ms-transform:scale(1)translateX(10px);transform:scale(1)translateX(10px)}"+config.selector+" .social.active.middle.left{-webkit-transform:scale(1)translateX(-10px);-moz-transform:scale(1)translateX(-10px);-o-transform:scale(1)translateX(-10px);-ms-transform:scale(1)translateX(-10px);transform:scale(1)translateX(-10px)}"+config.selector+" .social ul{position:relative;left:0;right:0;height:46px;color:#fff;margin:auto;padding:0;list-style:none}"+config.selector+" .social ul li{font-size:14px;cursor:pointer;width:40px;margin:0;padding:8px 0;text-align:center;float:left;display:none;height:14px;position:relative;z-index:2;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;transition:all .3s ease}"+config.selector+" .social ul li:hover{color:rgba(0,0,0,.5)}"+config.selector+" .social li[class*=facebook]{background:#3b5998;display:"+config.networks.facebook.display+"}"+config.selector+" .social li[class*=twitter]{background:#6cdfea;display:"+config.networks.twitter.display+"}"+config.selector+" .social li[class*=icon-google__x2B_]{background:#e34429;display:"+config.networks.google_plus.display+"}"+config.selector+" .social li[class*=pinterest]{background:#c5282f;display:"+config.networks.pinterest.display+"}"+config.selector+" .social li[class*=mail]{background:#42c5b0;display:"+config.networks.email.display+"}"+config.selector+" .social li[class*=rus-vk-02]{background:#5b7fa6;display:"+config.networks.vk.display+"}"+config.selector+" .social li[class*=odnoklassniki]{background:#cf6700;display:"+config.networks.ok.display+"}"+config.selector+" .social li[class*=livejournal]{background:#00a3d9;display:"+config.networks.livejournal.display+"}"};var ShareUtils;
if ((!("classList" in document.documentElement)) && Object.defineProperty && typeof HTMLElement !== "undefined") {
Object.defineProperty(HTMLElement.prototype, "classList", {
get: function() {
var ret, self, update;
update = function(fn) {
return function(value) {
var classes, index;
classes = self.className.split(/\s+/);
index = classes.indexOf(value);
fn(classes, index, value);
self.className = classes.join(" ");
};
};
self = this;
ret = {
add: update(function(classes, index, value) {
~index || classes.push(value);
}),
remove: update(function(classes, index) {
~index && classes.splice(index, 1);
}),
toggle: update(function(classes, index, value) {
if (~index) {
classes.splice(index, 1);
} else {
classes.push(value);
}
}),
contains: function(value) {
return !!~self.className.split(/\s+/).indexOf(value);
},
item: function(i) {
return self.className.split(/\s+/)[i] || null;
}
};
Object.defineProperty(ret, "length", {
get: function() {
return self.className.split(/\s+/).length;
}
});
return ret;
}
});
}
String.prototype.to_rfc3986 = function() {
var tmp;
tmp = encodeURIComponent(this);
return tmp.replace(/[!'()*]/g, function(c) {
return "%" + c.charCodeAt(0).toString(16);
});
};
ShareUtils = (function() {
function ShareUtils() {}
ShareUtils.prototype.extend = function(to, from, overwrite) {
var hasProp, prop;
for (prop in from) {
hasProp = to[prop] !== undefined;
if (hasProp && typeof from[prop] === "object") {
this.extend(to[prop], from[prop], overwrite);
} else {
if (overwrite || !hasProp) {
to[prop] = from[prop];
}
}
}
};
ShareUtils.prototype.hide = function(el) {
return el.style.display = "none";
};
ShareUtils.prototype.show = function(el) {
return el.style.display = "block";
};
ShareUtils.prototype.has_class = function(el, class_name) {
return el.classList.contains(class_name);
};
ShareUtils.prototype.add_class = function(el, class_name) {
return el.classList.add(class_name);
};
ShareUtils.prototype.remove_class = function(el, class_name) {
return el.classList.remove(class_name);
};
ShareUtils.prototype.is_encoded = function(str) { //IgorA100
if (typeof str === "undefined") {
return str;
} else {
str = str.to_rfc3986();
return decodeURIComponent(str) !== str;
}
};
ShareUtils.prototype.encode = function(str) {
if (typeof str === "undefined" || this.is_encoded(str)) {
return str;
} else {
return str.to_rfc3986();
}
};
ShareUtils.prototype.popup = function(url, params) {
var k, popup, qs, v;
if (params == null) {
params = {};
}
popup = {
width: 500,
height: 350
};
popup.top = (screen.height / 2) - (popup.height / 2);
popup.left = (screen.width / 2) - (popup.width / 2);
qs = ((function() {
var results;
results = [];
for (k in params) {
v = params[k];
k = k.replace(/_dot_/igm, "."); //IgorA100 для одноклассников где в названии параметра идет точка
//results.push(k + "=" + (this.encode(v))); //IgorA100 так нельзя вызывать, иначе знак % не верно обрабатывается!!!
results.push(k + "=" + (encodeURIComponent(v)));
}
return results;
}).call(this)).join('&');
if (qs) {
qs = "?" + qs;
}
return window.open(url + qs, 'targetWindow', "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,left=" + popup.left + ",top=" + popup.top + ",width=" + popup.width + ",height=" + popup.height);
};
return ShareUtils;
})();
var Share,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
Share = (function(superClass) {
extend(Share, superClass);
function Share(element1, options) {
this.element = element1;
this.el = {
head: document.getElementsByTagName('head')[0],
body: document.getElementsByTagName('body')[0]
};
this.config = {
enabled_networks: 0,
protocol: ['http', 'https'].indexOf(window.location.href.split(':')[0]) === -1 ? 'https://' : '//',
url: window.location.href,
caption: null,
title: this.default_title(),
image: this.default_image(),
description_alt: null, //IgorA100
description: this.default_description(),
site_name: this.default_site_name(), //IgorA100
MouseEvent: 'click', /* 'move' */
ui: {
flyout: 'top center',
button_text: 'Share',
button_font: true,
icon_font: true
},
networks: {
google_plus: {
enabled: true,
url: null
},
twitter: {
enabled: true,
url: null,
description: null
},
facebook: {
enabled: true,
load_sdk: true,
url: null,
app_id: null,
title: null,
caption: null,
description: null,
image: null
},
vk: { /*IgorA100*/
enabled: true,
load_sdk: true,
url: null,
title: null,
caption: null,
description: null,
image: null
},
ok: { /*IgorA100*/
enabled: true,
load_sdk: true,
url: null,
title: null,
caption: null,
description: null,
image: null
},
livejournal: { /*IgorA100*/
enabled: true,
url: null,
title: null,
caption: null,
site_name: null, //IgorA100
description: null,
image: null
},
pinterest: {
enabled: true,
url: null,
image: null,
description: null
},
email: {
enabled: true,
title: null,
url: null, //IgorA100
image: null, //IgorA100
site_name: null, //IgorA100
description: null
}
}
};
this.setup(this.element, options);
return this;
}
Share.prototype.setup = function(element, opts) {
var i, index, instance, instances, len;
instances = document.querySelectorAll(element);
this.extend(this.config, opts, true);
this.set_global_configuration();
this.normalize_network_configuration();
if (this.config.ui.icon_font) {
this.inject_icons();
}
if (this.config.ui.button_font) {
this.inject_fonts();
}
if (this.config.networks.facebook.enabled && this.config.networks.facebook.load_sdk) {
this.inject_facebook_sdk();
}
this.inject_icons_pictonic();
for (index = i = 0, len = instances.length; i < len; index = ++i) {
instance = instances[index];
this.setup_instance(element, index);
}
};
Share.prototype.setup_instance = function(element, index) {
var _this, button, i, instance, label, len, network, networks, results;
instance = document.querySelectorAll(element)[index];
this.hide(instance);
this.add_class(instance, "sharer-" + index);
instance = document.querySelectorAll(element)[index];
this.inject_css(instance);
this.inject_html(instance);
this.show(instance);
label = instance.getElementsByTagName("label")[0];
button = instance.getElementsByClassName("social")[0];
networks = instance.getElementsByTagName('li');
this.add_class(button, "networks-" + this.config.enabled_networks);
//IgorA100 Наведение, а не нажатие на мышь
if (this.config.MouseEvent == 'move'){
label.addEventListener("mouseover", (function(_this) {
return function() {
return _this.event_open(button);
};
})(this));
label.addEventListener("mouseout", (function(_this) {
return function() {
return _this.event_close(button);
};
})(this));
}else if (this.config.MouseEvent == 'click'){
label.addEventListener("click", (function(_this) { //IgorA100 Наведение, а не нажатие на мышь
return function() {
return _this.event_toggle(button);
};
})(this));
}
_this = this;
results = [];
for (index = i = 0, len = networks.length; i < len; index = ++i) {
network = networks[index];
results.push(network.addEventListener("click", function() {
_this.event_network(instance, this);
return _this.event_close(button);
}));
}
return results;
};
Share.prototype.event_toggle = function(button) {
if (this.has_class(button, "active")) {
return this.event_close(button);
} else {
return this.event_open(button);
}
};
Share.prototype.event_open = function(button) {
if (this.has_class(button, "load")) {
this.remove_class(button, "load");
}
return this.add_class(button, "active");
};
Share.prototype.event_close = function(button) {
return this.remove_class(button, "active");
};
Share.prototype.event_network = function(instance, network) {
var name;
name = network.getAttribute("data-network");
this.hook("before", name, instance);
this["network_" + name]();
return this.hook("after", name, instance);
};
Share.prototype.open = function() {
return this["public"]("open");
};
Share.prototype.close = function() {
return this["public"]("close");
};
Share.prototype.toggle = function() {
return this["public"]("toggle");
};
Share.prototype["public"] = function(action) {
var button, i, index, instance, len, ref, results;
ref = document.querySelectorAll(this.element);
results = [];
for (index = i = 0, len = ref.length; i < len; index = ++i) {
instance = ref[index];
button = instance.getElementsByClassName("social")[0];
results.push(this["event_" + action](button));
}
return results;
};
Share.prototype.network_facebook = function() {
if (this.config.networks.facebook.load_sdk) {
if (!window.FB) {
return console.error("The Facebook JS SDK hasn't loaded yet.");
}
return FB.ui({
method: 'feed',
name: this.config.networks.facebook.title,
link: this.config.networks.facebook.url,
picture: this.config.networks.facebook.image,
caption: this.config.networks.facebook.caption,
description: this.config.networks.facebook.description
});
} else {
return this.popup('https://www.facebook.com/sharer/sharer.php', {
u: this.config.networks.facebook.url,
url: this.config.networks.facebook.url, //IgorA100
title: this.config.networks.facebook.title, //IgorA100
src: 'sp', //IgorA100
});
}
};
Share.prototype.network_vk = function() { /*IgorA100*/
// console.log(this.config.networks.vk.image);
if(this.config.networks.vk.title !='' && this.config.networks.vk.description !='' && this.config.networks.vk.image !=''){no_pase = true} else {no_pase = false}
return this.popup('http://vk.com/share.php', {
url: this.config.networks.vk.url,
title: this.config.networks.vk.title,
description: this.config.networks.vk.description,
image: this.config.networks.vk.image,
noparse: no_pase
});
};
Share.prototype.network_ok = function() { /*IgorA100*/
return this.popup('https://connect.ok.ru/dk', {
cmd: 'WidgetSharePreview',
st_dot_cmd: 'WidgetSharePreview',
st_dot__aid: 'ExternalShareWidget_SharePreview',
st_dot_shareUrl: this.config.networks.ok.url,
st_dot_fid: '__okShare',
st_dot_hoster: this.config.networks.ok.url,
// st_dot__aid: this.config.networks.ok.url,
// st_comments: 'COM',
// media: this.config.networks.ok.image,
// description: this.config.networks.ok.description
// st_comments: this.config.networks.ok.description,
// media: this.config.networks.ok.image,
// description: this.config.networks.ok.description
});
};
Share.prototype.network_livejournal = function() { /*IgorA100*/
/*http://www.livejournal.com/update.bml?subject=ЗАГОЛОВОК&event=ТЕКСТ&prop_taglist=СПИСОК_ТЕГОВ
Параметры
subject — заголовок записи в LiveJournal.
event — текст записи. Т.к. это запись в ЖЖ, в текст нужно передавать ссылку в теге <a> (<a href="LINK">TEXT</a>)
prop_taglist — список тегов через запятую.
*/
console.log('<a href=\'' + this.config.networks.livejournal.url + '\'>' + this.config.networks.livejournal.description + '</a>');
return this.popup('http://www.livejournal.com/update.bml', {
event: '<a href=\'' + this.config.networks.livejournal.url + '\'>' + this.config.networks.livejournal.description + '</a>',
subject: this.config.networks.livejournal.title + ' » ' + this.config.networks.livejournal.site_name,
//description: this.config.networks.livejournal.description,
//image: this.config.networks.vk.image,
//noparse: no_pase
});
};
Share.prototype.network_twitter = function() {
return this.popup('https://twitter.com/intent/tweet', {
text: this.config.networks.twitter.description,
url: this.config.networks.twitter.url
});
};
Share.prototype.network_google_plus = function() {
return this.popup('https://plus.google.com/share', {
url: this.config.networks.google_plus.url
});
};
Share.prototype.network_pinterest = function() {
return this.popup('https://www.pinterest.com/pin/create/button', {
url: this.config.networks.pinterest.url,
media: this.config.networks.pinterest.image,
description: this.config.networks.pinterest.description
});
};
Share.prototype.network_email = function() {
return this.popup('mailto:', {
subject: this.config.networks.email.title,
// body: '<html><head></head><body>' + this.config.networks.email.description + '<br>' + this.config.networks.email.url + '</body></html>',//IgorA100 '\r\n'
body: this.config.networks.email.description + '\r\n' + this.config.networks.email.image + '\r\n' + this.config.networks.email.url + '\r\n\r\n' + this.config.networks.email.site_name,//IgorA100 '\r\n'
// attach: this.config.networks.email.image
});
};
Share.prototype.inject_icons = function() {
return this.inject_stylesheet("https://www.sharebutton.co/fonts/v2/entypo.min.css");
};
Share.prototype.inject_icons_pictonic = function() { //IgorA100
//return this.inject_stylesheet("../css/pictonic.css");
};
Share.prototype.inject_fonts = function() {
return this.inject_stylesheet("https://fonts.googleapis.com/css?family=Lato:900&text=" + this.config.ui.button_text);
};
Share.prototype.inject_stylesheet = function(url) {
var link;
if (!this.el.head.querySelector("link[href=\"" + url + "\"]")) {
link = document.createElement("link");
link.setAttribute("rel", "stylesheet");
link.setAttribute("href", url);
return this.el.head.appendChild(link);
}
};
Share.prototype.inject_css = function(instance) {
var css, meta, selector, style;
selector = "." + (instance.getAttribute('class').split(" ").join("."));
if (!this.el.head.querySelector("meta[name='sharer" + selector + "']")) {
this.config.selector = selector;
css = getStyles(this.config);
style = document.createElement("style");
style.type = "text/css";
if (style.styleSheet) {
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
this.el.head.appendChild(style);
delete this.config.selector;
meta = document.createElement("meta");
meta.setAttribute("name", "sharer" + selector);
return this.el.head.appendChild(meta);
}
};
Share.prototype.inject_html = function(instance) {
return instance.innerHTML = "<label class='btn btn-default icon-share' data-toggle='tooltip' data-original-title='Поделиться'><span>" + this.config.ui.button_text + "</span></label><div class='social load " + this.config.ui.flyout + "'><ul><li class='icon-pinterest' data-network='pinterest'></li><li class='icon-twitter-3' data-network='twitter'></li><li class='icon-facebook' data-network='facebook'></li><li class='icon-google__x2B_' data-network='google_plus'></li><li class='icon-mail' data-network='email'></li><li class='icon-rus-vk-02' data-network='vk'></li><li class='icon-odnoklassniki' data-network='ok'></li><li class='icon-livejournal' data-network='livejournal'></li></ul></div>"; /*IgorA100*/
};
Share.prototype.inject_facebook_sdk = function() {
var fb_root, script;
if (!window.FB && this.config.networks.facebook.app_id && !this.el.body.querySelector('#fb-root')) {
script = document.createElement("script");
script.text = "window.fbAsyncInit=function(){FB.init({appId:'" + this.config.networks.facebook.app_id + "',status:true,xfbml:true})};(function(e,t,n){var r,i=e.getElementsByTagName(t)[0];if(e.getElementById(n)){return}r=e.createElement(t);r.id=n;r.src='" + this.config.protocol + "connect.facebook.net/en_US/all.js';i.parentNode.insertBefore(r,i)})(document,'script','facebook-jssdk')";
fb_root = document.createElement("div");
fb_root.id = "fb-root";
this.el.body.appendChild(fb_root);
return this.el.body.appendChild(script);
}
};
Share.prototype.hook = function(type, network, instance) {
var fn, opts;
fn = this.config.networks[network][type];
if (typeof fn === "function") {
opts = fn.call(this.config.networks[network], instance);
if (opts !== void 0) {
opts = this.normalize_filter_config_updates(opts);
this.extend(this.config.networks[network], opts, true);
this.normalize_network_configuration();
}
}
};
Share.prototype.default_title = function() {
var content;
if (content = document.querySelector('meta[property="og:title"]') || document.querySelector('meta[name="twitter:title"]')) {
return content.getAttribute('content');
} else if (content = document.querySelector('title')) {
//console.log( content.innerHTML);
return content.innerHTML; //IgorA100
}
};
Share.prototype.default_image = function() {
var content;
if (content = document.querySelector('meta[property="og:image"]') || document.querySelector('meta[name="twitter:image"]')) {
//console.log(content.getAttribute('content'))
return content.getAttribute('content');
} else { //IgorA100
return '';
}
};
Share.prototype.default_description = function() {
var content;
/*
if (content = document.querySelector('meta[property="og:description"]') || document.querySelector('meta[name="twitter:description"]') || document.querySelector('meta[name="description"]')) {
return content.getAttribute('content');
} else {
return '';
}
IgorA100 */
var res = '';
// console.log(config);
if (config.description_alt)
if ( t_obj = document.querySelector('#' + config.description_alt) )
if (t_obj !== null)
var descr_alt = document.querySelector('#' + config.description_alt).innerHTML.replace(/<[^>]+>/g,'');
else
var descr_alt = '';
if (content = document.querySelector('meta[property="og:description"]') || document.querySelector('meta[name="twitter:description"]') || document.querySelector('meta[name="description"]')) {
if (content.getAttribute('content') != '')
res = content.getAttribute('content');
}
if (res == '' && descr_alt != ''){
if (t_obj = document.querySelector('meta[property="og:description"]')) ;
if (t_obj !== null){
//console.log("og:description" + descr_alt);
//t_obj.setAttribute('content',descr_alt);
t_obj.content = descr_alt;
}
if (t_obj = document.querySelector('meta[name="twitter:description"]')) ;
if (t_obj !== null){
//console.log("twitter:description" + descr_alt);
//t_obj.setAttribute('content',descr_alt);
t_obj.content = descr_alt;
}
if (t_obj = document.querySelector('meta[name="description"]')) ;
if (t_obj !== null){
//console.log("description" + descr_alt);
//t_obj.setAttribute('content',descr_alt);
t_obj.content = descr_alt;
}
res = descr_alt;
}
// console.log(res.replace(/<[^>]+>/g,''));
return res;
};
Share.prototype.default_site_name = function() { //IgorA100
var content;
if (content = document.querySelector('meta[property="og:site_name"]') ) {
return content.getAttribute('content');
} else {
return '';
}
};
Share.prototype.set_global_configuration = function() {
var display, network, option, options, ref, results;
ref = this.config.networks;
results = [];
for (network in ref) {
options = ref[network];
for (option in options) {
if (this.config.networks[network][option] == null) {
this.config.networks[network][option] = this.config[option];
}
}
if (this.config.networks[network].enabled) {
display = 'block';
this.config.enabled_networks += 1;
} else {
display = 'none';
}
results.push(this.config.networks[network].display = display);
}
return results;
};
Share.prototype.normalize_network_configuration = function() {
if (!this.config.networks.facebook.app_id) {
this.config.networks.facebook.load_sdk = false;
}
if (!this.is_encoded(this.config.networks.twitter.description)) {
this.config.networks.twitter.description = encodeURIComponent(this.config.networks.twitter.description);
}
if (typeof this.config.networks.facebook.app_id === 'number') {
return this.config.networks.facebook.app_id = this.config.networks.facebook.app_id.toString();
}
};
Share.prototype.normalize_filter_config_updates = function(opts) {
if (this.config.networks.facebook.app_id !== opts.app_id) {
console.warn("You are unable to change the Facebook app_id after the button has been initialized. Please update your Facebook filters accordingly.");
delete opts.app_id;
}
if (this.config.networks.facebook.load_sdk !== opts.load_sdk) {
console.warn("You are unable to change the Facebook load_sdk option after the button has been initialized. Please update your Facebook filters accordingly.");
delete opts.app_id;
}
return opts;
};
return Share;
})(ShareUtils);
return Share;
});
Добавить в загрузку стилей иконочный шрифт Pictonic: https://pictonic.co/