2012-09-14 4 views
2

테스트 페이지에서 비슷한 기능을 테스트하고 예기치 않은 동작이 발생하기 만하려고합니다. 같은 버튼을 클릭하면 대화 상자 (텍스트를 추가하고 벽에 게시 할 수있는 대화 상자)가 닫히기 전에 약 0.5 초 동안 팝업됩니다. 같은 버튼 자체가 "확인"이라고하는 링크로 바뀝니다. 나는 정말로 맨손의 뼈다귀가 있고, 무엇이 잘못 될 수 있는지 명확하지 않다. FBML을 사용하고 있습니다. 내 테스트 페이지의 전체 코드는 다음과 같습니다.Facebook Like 버튼 팝업 대화 상자가 닫힌 후 바로 닫습니다.

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Facebook Like Test</title> 
    </head> 

    <body> 
    <div id="fb-root"></div> 

    <script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
       appId: 'myid', 
       status: true, // check login status 
       cookie: true, // enable cookies to allow the server to access the session 
       xfbml: true // parse XFBML 
      }); 
     }; 

     // Load the SDK Asynchronously 
     (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/en_US/all.js"; 
      d.getElementsByTagName('head')[0].appendChild(js); 
     } (document)); 

    </script> 

    <h1>Facebook Like Testing</h1> 
    <div> 
     <fb:like href = "http://www.example.com?id=1"></fb:like> 
    </div> 
    <div> 
     <fb:like href = "http://www.example.com?id=2"></fb:like> 
    </div> 
    <div> 
     <fb:like href = "http://www.example.com?id=3"></fb:like> 
    </div> 
    <div> 
     <fb:like href = "http://www.example.com?id=4"></fb:like> 
    </div> 
    </body> 
</html> 

단순히 href를 고유하게 만들기 위해 쿼리 문자열로 임의로 추가했습니다. 여기서 무엇이 잘못 될 수 있습니까?

답변

1

좋아요. 제가이 문제를 발견하고이 오류가 발생하는 다른 누구에게도 답변을 제공해주기를 바랍니다.

문제는 내 코드가 아니라 href를 사용하여 지정하는 것이기 때문입니다. 나는 대답을 찾았다 here. 그것은 충분히 잘 알려지지 않았거나 "수상한"것으로 표시되지 않았을 때 이것을 구현 한 사이트와 관련이 있습니다.

1

콘솔 출력은 어떻습니까? 어떤 오류가 있습니까?

내 생각에 앱과 로컬 환경의 도메인 설정을 확인해야합니다. 당신의 모범은 나를 위해 완벽하게 작동합니다.

마지막으로 크롬을 사용하고 있다면 크로스 도메인 js 요청을 차단하는 경우가 있습니다.

+0

안녕하십니까, 응답 해 주셔서 감사합니다. 아니요. 출력에 오류가 없습니다. 내 응용 프로그램 설정은 "응용 프로그램 도메인"아래에 mydomain.com을 가지고 있습니다. 나는 FB로 생성 된 코드를 사용해 보았고 여전히이 문제를 겪고 있습니다. 나는 적어도 말하기에는 당황 스럽다. – TheMethod

+0

스크립트를 테스트하는 동안 "mydomain.com"이라는 URL에 직접 액세스하고 있습니까? 귀하의 응용 프로그램은 페이스 북의 응용 프로그램 설정에서 설정 한 도메인에서 직접 실행해야하기 때문에. 항상 호스트 파일을 사용할 수 있습니다. –

0

나는 똑같은 문제가 있었는데 문제는 크롬에서 쿠키를 사용할 수 없다는 것입니다. 일단 내가 그들을 가능하게하면, 그것은 다시 일하기 시작했다.

0

언급 한 테스트 페이지가 스테이징 서버에 있거나 Like가 실제로있는 사이트 이외의 URL을 사용하고있는 경우에는 도메인 일치 검사로 인해 Like 대화 상자가 닫힙니다. 사용자가 페이지를 좋아하려고 시도합니다.

저는 라이브 서버의 숨겨진 페이지에서 테스트를 수행하면 원하는 결과를 얻을 수 있다는 것을 발견했습니다.

Like 버튼을 처음 테스트 한 이후에 페이지를 변경 한 경우 페이지에 Facebook Developers Debug Tool을 사용하여 Facebook에 저장된 캐시 된 페이지를 다시 빌드해야합니다. https://developers.facebook.com/tools/debug/

0

는 URL의 몫을 당신의 오픈 그래프 선언을 철저히 조사 : 는 OG에 도메인 이름을 누락 단순 실수 : 이미지 선언이 공유-대화 팝업 어떤 콘솔 또는 오류 메시지없이 종료하게됩니다. (HTML 페이지의 소스를 보려면 control-u를 사용하고 og : image, og : url 등의 헤더 영역을 확인하십시오.)

관련 문제