2012-03-07 15 views
6

Sto sviluppando un sito Web basato su Ajax e voglio includere una funzione di condivisione FB sul contenuto caricato. I link utilizzano un tag hash e non riesco a ottenere la visualizzazione dei link completi quando utilizzo la funzione di condivisione, ottengo solo l'URL del dominio. I tag hash non sono consentiti o esiste un metodo speciale per condividere tali collegamenti?È possibile utilizzare tag hash con condivisione Facebook?

+5

Il testo dopo un '# in un URI è un ** identificatore di frammento **, non un tag hash. Un hashtag è un sistema per facilitare la ricerca di contenuti correlati su Twitter. – Quentin

+0

Ah capisco, grazie. –

risposta

20

Utilizzare la codifica URL per il carattere #. Basta sostituire la seguente:

http://www.example.com/#/path/to/whatever/ 

con:

http://www.example.com/%23/path/to/whatever/ 

questo vi permetterà di passare il # di condividere su Facebook, Twitter, ecc senza essere spogliato.

+2

Ryan @ Cool, grazie! –

+6

Questo non funziona più. –

+2

Lo fa per me! Ho prima sostituito il '#' con '% 23' e rispetto a 'urlencode()' di PHP sopra. – FFish

1

Dai un'occhiata alla risposta di Google al problema dei contenuti AJAX, the hashbang.

In sostanza, sulla tua pagina AJAX, impostare l'hash per !/path/to/whatever/ – in altre parole,

http://www.example.com/#!/path/to/whatever/ 

Tenete a mente il server deve effettivamente servire contenuti simili a quello che si vede nell'applicazione AJAX a http://www.example.com/path/to/whatever/ .

Non sono sicuro che Facebook rispetti l'hashbang, ma almeno risolve i problemi di Googlebot per te. Modifica: Sembra Facebook doesn't support the hashbang. Probabilmente dovrai configurare una pagina di redirector.

+0

Grazie. Sì, ho visto quel thread ora, sembra che FB non supporti alcun tipo di metodo hash :( –

Problemi correlati