2011-02-03 3 views
1

나는 지난 주부터이 문제를 해결하기 위해 노력해 왔으며 나에게있어 사파리에서만 작동하는 것처럼 보이지는 않는다. 다른 모든 브라우저는 Safari를 제외하고 팝업을 렌더링한다.왜 Safari에서 facebook stream.share 팝업이 작동하지 않습니까?

비동기식으로 javascript-sdk을로드하고 시작한 다음 FB.ui 메서드 'stream.publish'를 호출하십시오. 것은이 코드가 사파리에서 작동해야한다는 것을 알고 있습니다. 여기 예제는 http://fbrell.com/fb.ui/stream.share입니다. 나는 누군가가 거이 작업을 얻을 수있어 마법의 팁을 제공 할 수 바라고 있어요

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\""); 

:

나는 우리가 IE7에 문제를 해결하는 사용이 P3P 헤더를 사용하고 있습니다. 여기 내 코드 :

<!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 내부의 쿠키에 대한 엄격한 상호 도메인 규칙으로 인해 인증되지 않은 것 같습니다. – leebriggs

답변

1

많은 테스트와 좌절감이 있습니다. 동료는 '피드'가 '스트림. 게시'를하는 새로운 방법이라고 지적했습니다. 이로 인해 문제가 해결되었습니다.

편집 : 오래된 답변입니다.