Skip to content

Instantly share code, notes, and snippets.

@phlppschrr
Created July 17, 2014 11:13
Show Gist options
  • Save phlppschrr/bd5979a181bf9425f709 to your computer and use it in GitHub Desktop.
Save phlppschrr/bd5979a181bf9425f709 to your computer and use it in GitHub Desktop.
Simple Social-Share-Links "2 Klicks für mehr Datenschutz"
/*jshint browser:true*/
/*global gapi:false*/
(function(d){
"use strict";
// NodeLists in Arrays verwandeln
var toArray = function(nl){
var arr = [];
if(nl){
for(var i = nl.length; i--; arr.unshift(nl[i]));
}
return arr;
};
// Selector-Funktionen
var $ = function(e){
return toArray(d.getElementById(e));
};
var $$ = function(e){
return toArray(d.getElementsByTagName(e));
};
var $$$ = function(e){
return toArray(d.querySelectorAll(e));
};
// Scriptloader
var load_script = function(src, innerHTML){
var s = d.createElement('script');
s.src = src;
s.async = true;
s.innerHTML = innerHTML || '';
d.body.appendChild(s);
};
// Dynamischer Plus-Button
(function(){
var placeholders = $$$('.gp.placeholder'),
script_loaded = false;
for(var i = 0, l = placeholders.length; i < l; i++){
placeholders[i].onclick = function(){
var url = this.getAttribute('data-url');
this.innerHTML = '<g:plusone size="tall" href="' + url + '"></g:plusone>';
this.className = 'gp';
this.removeAttribute('data-tooltip');
if(!script_loaded){
load_script('https://apis.google.com/js/plusone.js', "window.___gcfg = {lang: 'de'}");
script_loaded = true;
} else {
gapi.plusone.go();
}
};
}
})();
// Dynamischer Like-Button
(function(){
var placeholders = $$$('.fb.placeholder');
for(var i = 0, l = placeholders.length; i < l; i++){
placeholders[i].onclick = function(){
var url = this.getAttribute('data-url');
this.className = 'fb';
this.removeAttribute('data-tooltip');
this.innerHTML = '<iframe src="//www.facebook.com/plugins/like.php?href=' + url + '&amp;send=false&amp;layout=box_count&amp;width=90&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=90&amp;appId=115095675179774" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:90px;" allowTransparency="true"></iframe>';
};
}
})();
// Dynamischer Twitter-Button
(function(){
var placeholders = $$$('.tw.placeholder'),
script_loaded = false;
for(var i = 0, l = placeholders.length; i < l; i++){
placeholders[i].onclick = function(e){
this.className = 'tw twitter-share-button';
if(!script_loaded){
load_script('//platform.twitter.com/widgets.js');
script_loaded = true;
} else {
twttr.widgets.load();
}
e.preventDefault();
return false;
};
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment