« Facebook bouton like hashbang escaped fragment » : différence entre les versions
Apparence
Page créée avec « == Dans le header == <link rel="canonical" href=""> <?php //if(stristr($_SERVER["HTTP_USER_AGENT"],'facebook')) //{ ?> <meta property="fb:admins" content="ADMIN_ID" /> <m... » |
Aucun résumé des modifications |
||
| (2 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
== Dans le header == | == Dans le header == | ||
<pre> | |||
<link rel="canonical" href=""> | <link rel="canonical" href=""> | ||
<?php | <?php | ||
| Ligne 19 : | Ligne 19 : | ||
// } | // } | ||
?> | ?> | ||
</pre> | |||
== Dans le html a généré via ajax == | == Dans le html a généré via ajax == | ||
<pre> | |||
<div id="fb-root"></div> | <div id="fb-root"></div> | ||
<script>(function(d, s, id) { | <script>(function(d, s, id) { | ||
| Ligne 35 : | Ligne 35 : | ||
<div class="fb-like" data-href="http://lesite.fr/#%21page1" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div> | <div class="fb-like" data-href="http://lesite.fr/#%21page1" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div> | ||
</pre> | |||
== Dans javascript créer une fonction == | == Dans javascript créer une fonction == | ||
<pre> | |||
function trouveHashbang () | function trouveHashbang () | ||
{ | { | ||
| Ligne 44 : | Ligne 45 : | ||
return param; | return param; | ||
} | } | ||
</pre> | |||
== Dans le javascript ajax == | == Dans le javascript ajax == | ||
<pre> | |||
var urlok = trouveHashbang(); | var urlok = trouveHashbang(); | ||
var page = "page1"; | var page = "page1"; | ||
| Ligne 65 : | Ligne 67 : | ||
} catch(ex) {} | } catch(ex) {} | ||
}); | }); | ||
</pre> | |||
== Dans le .htaccess == | == Dans le .htaccess == | ||
| Ligne 73 : | Ligne 75 : | ||
RewriteRule ^(.*) http://%{HTTP_HOST}/$1#!%2? [R=301,L,NE] | RewriteRule ^(.*) http://%{HTTP_HOST}/$1#!%2? [R=301,L,NE] | ||
<pre> | |||
Le bouton like de facebook affichera le lien http://lesite.fr/?_escaped_fragment_=page1&etc.... | Le bouton like de facebook affichera le lien http://lesite.fr/?_escaped_fragment_=page1&etc.... | ||
1- aller sur le debugger: | 1- aller sur le debugger: | ||
| Ligne 79 : | Ligne 82 : | ||
Les liens facebook http://lesite.fr/?_escaped_fragment_=page1&etc .. redirigeront vers http://lesite.fr/#!page1 | Les liens facebook http://lesite.fr/?_escaped_fragment_=page1&etc .. redirigeront vers http://lesite.fr/#!page1 | ||
</pre> | |||
[[category:facebook]] [[category:seo]] [[category:Javascript]] | |||
[[category:facebook]] | |||
Dernière version du 27 août 2024 à 13:11
Dans le header
<link rel="canonical" href="">
<?php
//if(stristr($_SERVER["HTTP_USER_AGENT"],'facebook'))
//{
?>
<meta property="fb:admins" content="ADMIN_ID" />
<meta property="fb:app_id" content="APP_ID" />
<meta property="og:type" content="activity" />
<!--
<meta property="og:title" content="" />
<meta property="og:url" content="" />
<meta property="og:description" content="" />
-->
<meta property="og:image" content=""http://lesite.fr/www/img/image.png' />
<meta property="og:locale" content="fr_FR" />
<?php
// }
?>
Dans le html a généré via ajax
<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 = "https://connect.facebook.net/fr_FR/all.js#xfbml=1&appId=APP_ID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-like" data-href="http://lesite.fr/#%21page1" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div>
Dans javascript créer une fonction
function trouveHashbang ()
{
var lien = String(document.location);
param = lien.split('#!')[0];
return param;
}
Dans le javascript ajax
var urlok = trouveHashbang();
var page = "page1";
var pagelike = urlok + "#%21" + page;
var urlimage = "http://" + window.location.hostname + "/www/img/image.png";
$('meta[property=og\\:description]').attr('content', texte);
$('meta[property=og\\:title]').attr('content', titrepage);
$('meta[property=og\\:url]').attr('content', pagelike);
$('link[rel=canonical]').attr('href', urlok + "#!" + page);
Dans le javascript endehors de l'ajax
$.getScript('//connect.facebook.net/fr_FR/all.js#xfbml=1&appId=131047970376783', function() {
try{
FB.XFBML.parse();
} catch(ex) {}
});
Dans le .htaccess
Après RewriteEngine on
- pour facebook
RewriteCond %{QUERY_STRING} ^([^&]*)_escaped_fragment_=([^&]*)&fb_action_ids=([^&]*) [NC]
RewriteRule ^(.*) http://%{HTTP_HOST}/$1#!%2? [R=301,L,NE]
Le bouton like de facebook affichera le lien http://lesite.fr/?_escaped_fragment_=page1&etc.... 1- aller sur le debugger: https://developers.facebook.com/tools/debug/ 2 - exécuter le debug avec l'adresse: http://lesite.fr/#!page1 Les liens facebook http://lesite.fr/?_escaped_fragment_=page1&etc .. redirigeront vers http://lesite.fr/#!page1