【问题标题】:How to create Bookmarklet for my website which requires user authentication如何为需要用户身份验证的网站创建书签
【发布时间】:2011-11-26 16:31:05
【问题描述】:

我想为我的网站创建一个书签。我只想和Readitlaterdelicious 一样。 每当您单击稍后阅读保存美味书签时,如果用户未登录,它会要求用户登录以继续然后保存书签。否则,如果用户已登录,则直接为用户保存书签。

我想在我的网站上实现完全相同的功能,并且我正在开发 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>

我是这个东西的新手,所以请指导我。 谢谢!

【问题讨论】:

  • 你有没有找到解决这个问题的方法?

标签: javascript ruby-on-rails bookmarklet unobtrusive-javascript


【解决方案1】:

您必须检查用户是否已连接,如果他连接则只需放置您的链接,否则,放置另一个链接,它将弹出一个身份验证表单,如果他成功登录,您将执行您的 js 代码。 如下所示:(我假设您在 rails 视图中,因此在 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 %>

【讨论】:

  • 我不确定你的答案是否就是他想要的。当您在不同的域中(Rails 应用程序除外)时,您无法轻松检查用户是否登录到您的 Rails 应用程序。
猜你喜欢
  • 2012-10-16
  • 1970-01-01
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多