I am working on a site using Facebook Connect, and recently made some changes, so that the main pages are cached, and if you are not logged in (verified by ajax call), it downloads Facebook Connect javascript and displays the connect button to the page. This works fine everywhere except Internet Explorer 7 and 8. The strange part is turning the buttons into a hidden registration / registration form, and when you show any of them, the Connect buttons are displayed. You can look here , and you will see the button in Firefox, and not in Internet Explorer. If you click "Login", a button will appear.
This is a Rails application, so on the server side we answer the ajax call with rjs as follows:
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
, - Connect Modal. :
<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>
Modal :
<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>
, Modal . - , ?