Joh*_*uff 5 javascript ajax internet-explorer facebook ruby-on-rails
我正在使用Facebook Connect的网站上工作,最近进行了一些更改,以便主页被缓存,如果您没有登录(使用ajax调用检查),它会加载Facebook Connect javascript并将连接按钮呈现为这页纸.除了Internet Explorer 7和8之外,这在任何地方都能很好地工作.奇怪的是我将按钮渲染为隐藏的"注册/登录"表单,当您显示其中任何一个时,会出现"连接"按钮.你可以看看这里,你会看到Firefox中的按钮,而不是Internet Explorer.如果单击"登录",将显示该按钮.
这是一个Rails应用程序所以在服务器端我们响应一个像这样的rjs的ajax调用:
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
Run Code Online (Sandbox Code Playgroud)
第一行是替换标题,第二行是Modal对话框中的Connect按钮.渲染到标题中的部分内容如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
呈现在Modal对话框中的Partial如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
我发现显示模态对话框导致显示所有图标非常奇怪.有没有人对正在发生的事情有任何想法或建议?
归档时间: |
|
查看次数: |
8057 次 |
最近记录: |