私は維持する必要がある Facebook プログラミングを使用しています
<div id="fb-root" ></div>
。
私の最初のページでは、上記の div を保持する必要があるボタンをクリックして Facebook のログインを実行します。これは問題ありません。
ユーザーがindex.phpのボタンをクリックすると、ajaxを介して新しいページurl.php
がページにロードさ<div>
れindex.php
ます。このurl.php
ページには、Facebook のコメント ボックスのコードが含まれています。両方で<div id="fb-root" ></div>.
同じ div id を使用すると、問題が発生する可能性がありますか?index.php
url.php
url.php
直接ロードするとfacebook comment box
正しく表示されますが、最初にロードindex.php
してajaxリクエストを介してurl.php
コメントボックスが呼び出されると、コメントボックスは表示されません。
url.php の Facebook コメント ボックスのコードは次のとおりです。
<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/en_US/all.js#xfbml=1&appId=9549";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-colorscheme="light" data-width="470" style="z-index: 1; left: 420px; top: 560px; " ></div>
index.php 中
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: '<?php
echo $appId;
?>',
cookie: true,
xfbml: true,
// channelUrl: '<?php
echo $return_url;
?>channel.php',
oauth: true});}; .....
アップデート
ajax 呼び出しを実行するコード:
if (response.status === "connected")
{
LodingAnimate();
FB.api('/me?fields=movies,email', function(mydata) {
console.log(mydata.email);
//alert("json-5");
var json = JSON.stringify(mydata.movies.data);
// alert(mydata.movies);
var a = JSON.parse(json);
$.post('movies_db.php',{'myd':a}, function(data)
{
$.ajax({
url:'url.php'
,async: true
,cache: false
,dataType: 'html'
,success: function(data){
$('body').html(data);
}
});
});
console.log(data);
}); //--
} //if