Как создать Bookmarklet для моего сайта, который требует аутентификации пользователя - PullRequest
2 голосов
/ 28 сентября 2011

Я хочу создать букмарклет для моего сайта. Я просто хочу сделать так же, как Readitlater или как восхитительно . Всякий раз, когда вы нажимаете Read It Later или , сохраняете на восхитительном bookmarklet, если пользователь не вошел в систему, он просит пользователя войти в систему, чтобы продолжить, а затем сохранить закладку. В противном случае, если пользователь вошел в систему, он сразу же сохранит закладку для пользователя.

Я хочу реализовать то же самое на своем веб-сайте, и я работаю на платформе Ruby on Rails. У меня следующий код JavaScript для букмарклета

<a href="javascript:u=document.location.href;t=document.title; s=window.getSelection();
void(window.open('http://www.example.com/node/add/web2ob?edit[title]='+escape(t)+
'&edit[body_field][body]='+escape(s)+'&edit[field_link][0][url]='+escape(u),
'_blank','width=600,height=500,status=yes,resizable=yes,scrollbars=yes'));">
Add to my list</a>

Я новичок в этом деле, поэтому, пожалуйста, ведите меня. Спасибо!

1 Ответ

0 голосов
/ 28 сентября 2011

Вы должны проверить, подключен ли пользователь, затем он просто поместит вашу ссылку, в противном случае, поместите другую ссылку, которая вызовет форму аутентификации, и, если он успешно войдет в систему, вы выполните код js.Например: (я предполагаю, что вы находитесь в режиме рельсов, поэтому в файле html.erb)

<% if user_signed_in? %> 
  <a href="javascript:u=document.location.href;t=document.title; s=window.getSelection();
void(window.open('http://www.example.com/node/add/web2ob?edit[title]='+escape(t)+
'&edit[body_field][body]='+escape(s)+'&edit[field_link][0][url]='+escape(u),
'_blank','width=600,height=500,status=yes,resizable=yes,scrollbars=yes'));">
Add to my list</a>
<% else %>
  <a onclick="showLoginForm();">Add to my list</a>
<% end %>
...