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

Last change on this file since 87422 was 87422, checked in by pierre.troller@…, 5 years ago

l'option popup ne fonctionnait pas, il manquait les options window.open

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