2011-01-11 18 views
5

Ho un sito Web che integra un fanbox e alcune altre cose da Facebook. per ottenere tutto di guardare a destra, ho implementato FBML come segue:Facebook fa esplodere la mia pagina web

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en"> 

lo fa in realtà funziona bene, tranne che ho trovato che la società del mio cliente ha un blocco in posizione sul dipendenti in modo che non si può accedi a Facebook. Ciò tuttavia sta facendo esplodere il sito e non viene caricato completamente, in quanto il firewall non consentirà il corretto funzionamento del codice FB su questo sito.

Poiché non ho questo blocco in posizione, ho difficoltà a replicarlo in remoto e non sono stato in grado di individuare esattamente ciò che sta facendo che lo fa visualizzare in modo errato.

In breve, c'è qualcosa che posso implementare nel codice per controllare e vedere se FB è accessibile e licenziare il file fbml solo se lo è? Sto usando PHP e Jquery principalmente per il sito.

Grazie in anticipo.

edit: frammenti di codice come richiesto

Fin dall'inizio:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en"> 

Poi all'interno della pagina chiamare un fanbox:

<div id="fbbox"> 
    <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
     <div id="fb-root"> 
      <fb:fan profile_id="xxxxxxxx" width="235" height="200" connections="12" stream="false" header="false" css="http://www.xxxx.com/xxxx.css?33" ></fb:fan> 
     </div> 
    <script> 
    <!-- 
     window.fbAsyncInit = function() { 
      FB.init({appId: 'xxxxxxx', status: true, cookie: false, xfbml: true}); 
     }; 
     (function() { 
      var e = document.createElement('script'); e.async = true; 
      e.src = document.location.protocol + 
      '//connect.facebook.net/en_US/all.js'; 
      document.getElementById('fb-root').appendChild(e); 
     }()); 
    --> 
    </script> 
</div>  

ho xxx'ed alcune delle le impostazioni specifiche, ma posso assicurarti che queste sono corrette nel codice reale.

+0

Questa domanda è piuttosto vaga. Non hai idea di quale parte della tua pagina venga bloccata in che modo, quindi perché dovrebbe qualcun altro?;-) Non riesci a camminare su/remote nel tuo client e ad eseguire il debug del problema da lì? – Tomalak

+5

+1 per intrattenere il titolo. – dqhendricks

+0

Puoi avere uno screenshot? Mi piacerebbe vedere questo problema. – Brad

risposta

0

dipende da come il sito è bloccato. potresti semplicemente caricare una piccola immagine da facebook, e quindi controllare le dimensioni in javascript. quindi vedi se risultano essere corretti. per quello suggerirei di utilizzare l'url permanente della tua immagine del profilo che ottieni dai documenti API, poiché non cambierà e restituirà sempre un'immagine della stessa dimensione (secondo i documenti).

es: http://graph.facebook.com/joseph.hopfgartner/picture

si potrebbe anche giocare con il ricevitore facebook cross-site-script.

un'altra possibilità è caricare qualcosa da Facebook in un iframe. la proprietà location (come unica proprietà) sarà leggibile dal tuo sito. potresti utilizzare un URL che verrà reindirizzato (come ad esempio l'URL dell'immagine del profilo).

tuttavia questo era per rispondere alla tua domanda, ma penso che non è una soluzione. il tuo sito non dovrebbe davvero "non caricare" se alcune risorse sono bloccate!

tuoi attributi HTML non può causare che così si incasinato qualcosa di diverso fino

potrebbe fornire più codice o un link sul tuo implementazione?

+0

Grazie - sono tutte informazioni molto utili! Non ho giocato con il ricevitore cross-site, quindi daremo un'occhiata anche a questo. Pubblicherò parte del codice per farti vedere anche tu. Grazie! – TH1981

+0

perché non provi semplicemente a bloccare Facebook? di quanto tu possa testarlo, la maggior parte dei filtri funziona semplicemente bloccando gli indirizzi IP. –

+0

purtroppo, non sono sicuro di come farlo. Darò un'occhiata e vedrò se riesco a capirlo a scopo di test. – TH1981

2

Se facebook.com è bloccato per l'utente, i plug-in sociali non caricano anf pertanto non renderanno sul tuo sito. È necessario verificare se i plug-in vengono caricati e se non sostituiscono il contenuto con qualcosa che consente al sito di continuare a funzionare senza di essi.

Problemi correlati