我有一个使用LinkedIn Javascript API对用户进行身份验证的 Rails 应用程序。我想做的是根据用户是否注册来隐藏一个元素。我尝试了几件事:
- 将带有 if/else 语句的代码放在 HTML 之前的底部
</body>
- 检查是否
document.cookie
是空字符串而不是更具体的 if/else
但是,这些都没有隐藏元素。如果我在页面完成渲染后进入浏览器的控制台并粘贴我的代码,则该元素会隐藏。所以我认为这是一个 JavaScript 加载问题,但我一定做错了什么。任何人都可以对此有所了解吗?
这是我尝试过的代码,但都不起作用:
<%= content_for(:script_footer) do %>
<script type="text/javascript">
// if ($('span.IN-widget:contains("inSign in with LinkedIn")').length > 0) {
// $('#select').hide();
// } else {
// $('#select').show();
// }
if (document.cookie == "") {
$('#select').hide();
} else {
$('#select').show();
}
</script>
<% end %>
我的应用程序布局:
<!DOCTYPE html>
<html>
<head>
<title>rdtrip</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= yield(:linked_in) %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
<%= yield(:script_footer) %>
</body>
</html>