Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Facebook sdk

  1. #1

    Facebook sdk

    Salve ragazzi, è un po di tempo che sto impazzendo su una cosa.


    Ho un sito web che utilizza wordpress con un plugin chiamato videolock. Questo plugin è progettato in modo tale da far condividere i video prima di vederli.


    Adesso: il plugin funziona bene se non carico l'sdk di facebook all'interno del mio sito.


    Mi spiego meglio. Se metto dopo il tag body questo codice:
    codice HTML:
    <div id="fb-root"></div><script>(function(d, s, id) {  var js, fjs = d.getElementsByTagName(s)[0];  if (d.getElementById(id)) return;  js = d.createElement(s); js.id = id;  js.src = "//connect.facebook.net/it_IT/sdk.js#xfbml=1&version=v2.0";  fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));</script>

    Il plugin da desktop fa comparire la pagina di facebook, invece se lo apro da mobile facebook genera un errore.


    Invece se cancello il codice che ho riportato su il plugin funziona correttamente sia da mobile che da desktop.


    Adesso, il problema è che se non utilizzo il plugin in un articolo non viene caricato l'sdk di facebook e quindi pulsanti e commenti non si vedono.


    La parte interessata all'interno del plugin è questa, solo che non so come risolvere.


    codice HTML:
        $(document).ready(function() {
            var lockers = $(".youtubeblocker");
            if( lockers.length == 0  ) {            return;        }
            var fbid = lockers.attr('data-appid');
            if( !fbid && lockers.length ) {            lockers.append('<div style="z-index:10000; font-size:15px; position:absolute; padding:5px; left:5px; right:5px; top:5px; text-align:center; background:red;color:white;">Please set the facebook appId from admin</div>');            return;        }
            lockers.each(function(i, blocker){                        $(blocker).hover(function(){                $(this).addClass('over');            }, function(){                $(this).removeClass('over');            }).click(function(){                $(this).addClass('sharing');                                new CountDown($(blocker));            });
                $('.sharebut',blocker).click( function(){                                var but = this;
                    var save = function( share ) {
                        var data = {                        action : 'video_share',                        link : document.URL,                        post : $(but).attr('data-post'),                        share : share                    };
                        var admin_ajax = $(blocker).attr('data-adminurl') + 'admin-ajax.php';
                        $.post( admin_ajax, data, function( r ){                        unblock( $(but).parents('.youtubeblocker') );                    });                };
                    FB.ui({                        method: isMobile() ? 'feed' : '../sharer/sharer.php?u=' +encodeURIComponent(document.URL)+ '&t=&pass=',                        link : document.URL,                        image : $('.youtubeblocker .image').attr('src')                    },                      function(response) {
                            if (response) {
                                var postid = 0;                                                        if( response.post_id ) {                                postid = response.post_id;                            }
                                if( response.object_id ) {                                postid = response.object_id;                            }
                                save( postid );                                              }                      }                );
                    return false;            });        });
            var jssdk = $('#facebook-jssdk');
            if( ! jssdk.length ) {                        var fb = document.createElement('div');            fb.setAttribute('id','fb-root');            document.getElementsByTagName('body')[0].appendChild(fb);
                (function(d, s, id) {              var js, fjs = d.getElementsByTagName(s)[0];              if (d.getElementById(id)) return;              js = d.createElement(s); js.id = id;              js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1&appId=" + fbid;              fjs.parentNode.insertBefore(js, fjs);            }(document, 'script', 'facebook-jssdk'));        }    });

    In particolare credo che le parti interessate del codice postato su siano queste:
    codice:
                            method: isMobile() ? 'feed' : '../sharer/sharer.php?u=' +encodeURIComponent(document.URL)+ '&t=&pass=',
    
    
    
    
            var jssdk = $('#facebook-jssdk');
    
    
            if( ! jssdk.length ) {
                
                var fb = document.createElement('div');
                fb.setAttribute('id','fb-root');
                document.getElementsByTagName('body')[0].appendChild(fb);
    
    
                (function(d, s, id) {
                  var js, fjs = d.getElementsByTagName(s)[0];
                  if (d.getElementById(id)) return;
                  js = d.createElement(s); js.id = id;
                  js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1&appId=" + fbid;
                  fjs.parentNode.insertBefore(js, fjs);
                }(document, 'script', 'facebook-jssdk'));
            }

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se togliendo videolock risolvi è la soluzione migliore, modificare il codice fb non è facile e spesso non funziona più
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Se togliendo videolock risolvi è la soluzione migliore, modificare il codice fb non è facile e spesso non funziona più
    Ciao il videolock non lo posso togliere. Soluzioni?

  4. #4
    Credo che comunque non si debba modificare nulla, bisogna solo far caricare l'sdk di fb quando il plugin non è presente nella pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.