source: spip-zone/_plugins_/socialtags/socialtags.js.html

Last change on this file was 114168, checked in by real3t@…, 2 years ago

[Sociatags], passage en 1.2.0 :

  • Viadeo ne supporte pas une ancre dans l'URL :(
  • Quand on ouvre dans une popup, ne le faire que si le protocole n'est pas javascript (ça cassait "Imprimer")
  • RIP Delicious :(
File size: 2.2 KB
Line 
1#HTTP_HEADER{Content-Type: text/javascript}
2[(#SET{popup,'onclick="if (this.href.lastIndexOf("javascript:") != 0 ) { window.open(this.href, "_blank", "screenX=50,left=50,screenY=50,top=50, width=550, height=450,toolbar=no, location=no,resizable=yes, scrollbars=yes");return false; }"'})]
3// socialtags.js
4
5// 'ajouter un bookmark' ne marche que sous IE
6// les tuyaux trouves pour FF
7//      window.sidebar.addPanel(t,u,'');
8//      cf https://bugzilla.mozilla.org/show_bug.cgi?id=214530
9// ou Opera sont creves
10;var socialtags_addfavorite = function(u,t){
11        if(document.all)window.external.AddFavorite(u,t);
12};
13
14(function($) {
15        var socialtags_init = function() {
16                var selector = $('[(#CONFIG{socialtags/jsselector}|sinon{#contenu})]');
17                if (!selector.length) return;
18                var socialtags = [(#CONFIG{socialtags/tags}|socialtags_json)];
19                var title = $('title').text() ||'';
20                var description = ($('meta[name=description]').attr('content') || '').substr(0,250);
21                var cano = $('link[rel=canonical]')[0];
22                var url = cano ? cano.href : document.location.href.split("%23")[0].split("#")[0];
23                var ul = $('<ul><\/ul>');
24                var esc = function(x){return encodeURIComponent(x).replace(/\s/g,' ');};
25                var ref = document.referrer.match(/^.*\/\/([^\/]+)\//);
26
27                if (ref && ref[1].match(/\.facebook\./))
28                        $.cookie('social_facebook', 1, { path: '/', expires: 30 }); // 30 jours
29
30                $.each(socialtags, function(){ if (this.u) {
31                        if (this.a == 'bookmark' && !document.all) return;
32
33                        [(#CONFIG{socialtags/ifreferer}|?{"
34                        if ($.cookie('social_'+this.a)!=1) return;"})]
35
36                        $('<a rel="nofollow"[ (#CONFIG{socialtags/wopen, 'non'}|=={oui}?{#GET{popup}})]><img class="socialtags-hovers" src="'+ this.i +'" alt="'+this.a+'"\/><\/a>')
37                        .attr('href',
38                                this.u
39                                .replace(/%u/g, esc(url))
40                                .replace(/%t/g, esc(title))
41                                .replace(/%d/g, esc(description))
42                                .replace(/%u_site/g, esc(this.u_site))
43                        )
44                        .attr('title', this.n).wrap('<li class="'+this.a+'"><\/li>')
45                        .parent().appendTo(ul);
46                }});
47                selector.#CONFIG{socialtags/afterorappend,'after'}(ul.wrap('<div class="socialtags"><\/div>').parent());
48                [(#CONFIG{socialtags/plusone}|?{[$('<li>(#GOOGLEPLUS1)</li>').appendTo(ul);],''})]
49                #CONFIG{socialtags/badgejs}
50        };
51        $(function(){
52                $(socialtags_init);
53        });
54})(jQuery);
Note: See TracBrowser for help on using the repository browser.