1

私は次のようにAPIをロードしています:

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
        FB.init({ 
        appId      : 'YOUR_APP_ID', // App ID 
        channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File 
        status     : true, // check login status 
        cookie     : true, // enable cookies to allow the server to access the session 
        oauth      : true, // enable OAuth 2.0 
        xfbml      : true  // parse XFBML 
        }); 
    }; 

    (function(d){ 
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/el_GR/all.js"; 
    d.getElementsByTagName('head')[0].appendChild(js); 
    }(document)); 
</script>

jQuery UIダイアログからページを開き、#commentsセクションを次のように再解析しています。

<script>FB.XFBML.parse(document.getElementById('comments'));</script>

非ajaxでロードされたページでは正常に動作しますが、ダイアログからページを開くと、エラーが発生します(jsコンソールで)。

Permission denied to access property 'fb_xdm_frame_https' @ https://s-static.ak.fbcdn.net/rsrc.php/v1/yt/r/Via9RsGlPnX.js:66

まだ読み込まれているように見えます(gifは再生を続けます) ここに画像の説明を入力してください

何か案は?

4

1 に答える 1

1

javascriptsdkを正しくロードしていないと思います。このコードを試してください

window.fbAsyncInit = function() {
     FB.init({
          appId      : 'appid', // App ID
          channelUrl : 'http://www.url.com', // Channel File
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          xfbml      : true  // parse XFBML
     });
};

 (function(d){
      var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
      if (d.getElementById(id)) {return;}
      js = d.createElement('script'); js.id = id; js.async = true;
      js.src = "//connect.facebook.net/en_US/all.js";
      ref.parentNode.insertBefore(js, ref);
 }(document));
于 2012-05-18T05:48:54.473 に答える