2011-02-03 15 views
1

私は先週からこの問題に取り組もうとしてきました。私の人生ではこのことがサファリではうまくいかないようです。他のすべてのブラウザはSafari以外のポップアップを表示します。SafariでFacebookのstream.shareポップアップが動作しないのはなぜですか?

javascript-sdkを非同期に読み込み、起動し、メソッド 'stream.publish'でFB.uiを呼び出してください。このコードはサファリで動作するはずなので、ここの例はhttp://fbrell.com/fb.ui/stream.shareです。

私はIE7との問題を解決し、我々が使用して、このP3Pヘッダを使用しています:

Response.AddHeader("P3P", "CP=\"NON DSP COR DEVa PSAa IVAo CONo OUR IND UNI PUR NAV DEM LOC\", " + "policyref=\"http://sweepstakes.mars.com/w3c/p3p.xml\""); 

私は、誰かがつもりは、この作業を取得だ魔法のヒントを提供することができます願っています。ここに私のコード:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head id="Head1" runat="server"> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>test</title> 
</head> 
<body> 
    <div id="fb-root"> 
    </div> 
    <script> 
     window.fbAsyncInit = function(){ 

      FB.init({ appId: '<%= Common.appID %>', status: true, cookie: true, 
       xfbml: true 
      }); 

      var publish = { 
       method: 'stream.publish', 
       message: 'test', 
       display: 'dialog' 
      }; 

      FB.ui(publish); 
     }; 

     (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> 
</body> 
</html> 
+0

これはキャンバス(iframe)アプリケーション用ですか? Safariはiframe内のCookieに対する厳密な相互ドメインルールのために認証されていない可能性があります。 – leebriggs

答えて

1

多くのテストと不満の後。同僚は、「フィード」は「stream.publish」を行う新しい方法だと指摘しました。これで問題は解決しました。

編集:時代遅れの回答。

関連する問題