LinkedIn Javascript APIを使用してユーザーを認証する Rails アプリがあります。私がやりたいのは、ユーザーがサインアップしているかどうかに応じて要素を非表示にすることです。私はいくつかのことを試しました:
- 前に、HTML の下部に if/else ステートメントを含むコードを配置します。
</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>