Facebook Connect를 사용하는 사이트에서 작업 중이며 최근에 기본 페이지가 캐시되고 로그인하지 않은 경우 일부 변경 사항이 적용되었습니다 (ajax 호출) 페이스 북의 연결 자바 스크립트를로드하고 연결 단추를 페이지로 렌더링합니다. 이것은 Internet Explorer 7과 8을 제외한 모든 곳에서 완벽하게 작동합니다. 이상한 부분은 단추를 숨겨진 가입/로그인 양식으로 렌더링하고 두 단추 중 하나를 표시하면 연결 단추가 표시됩니다. 당신은 모양을 here 걸릴 수 있으며 Internet Explorer가 아니라 Firefox에서 버튼을 볼 수 있습니다. 로그인을 클릭하면 버튼이 나타납니다.Internet Explorer에 Facebook Connect 아이콘이 나타나지 않습니다.
우리는이 같은 RJS와 아약스 호출에 응답하고있는 서버 측에서 이렇게하면 레일 응용 프로그램입니다 :
page['signin-status'].replace(:partial => "common/layout/signin_menu")
page.select('.facebook-connect').each do |value, index|
value.replace(render(:partial => '/facebook/signin'))
end
page << <<-eos
LazyLoader.load('http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php', function(){
FB.init('#{Facebooker.api_key}','/xd_receiver.html');
});
eos
이 첫 번째 줄은 헤더를 대체하고, 두 번째에있는 연결 버튼입니다 모달 대화 상자. 헤더로 렌더링 부분 존재는 다음과 같습니다
이<span id='signin-status'>
<%= fb_login_button(remote_function(:url => "/facebook/connect"))%> |
<%= link_to_function "Sign In", "showSignInForm();", :id => "signin" %> |
<%= link_to_function "Sign Up", "showSignUpForm();", :id => "signup" %>
</span>
모달 대화 상자로 렌더링 부분 존재는 다음과 같습니다
<div class='facebook-connect'>
<div id="FB_HiddenContainer" style="position:absolute; top:-10000px; width:0px; height:0px;" ></div>
<label>Or sign in with your Facebook account</label>
<%= fb_login_button(remote_function(:url => "/facebook/connect"))%>
</div>
내가 모달 대화 상자를 표시하는 모든 원인 것을 매우 이상한 찾기 표시 할 아이콘. 누구든지 무슨 일이 일어나고 있는지에 대한 아이디어 나 제안이 있습니까?
자신의 답변을 수락 된 것으로 표시하고 싶을 수 있습니다. – corprew