javascript - 如何为我的网站创建需要用户身份验证的书签

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

我想为我的网站创建一个小书签。我只想做与 Readitlater 相同的事情或 delicious . 每当您点击稍后阅读save on delicious 书签时,如果用户未登录,它会要求用户登录以继续并保存书签。否则,如果用户已登录,则它会直接为用户保存书签。

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

我是新手,所以请指导我。 谢谢!

最佳答案

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

关于javascript - 如何为我的网站创建需要用户身份验证的书签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7580521/

相关文章:

javascript - 返回函数中的变量

javascript - 为同一 HTML 页面上的不同按钮调用相同的 onClick 函数

javascript - 如何防止 Backbone 应用程序中的后退按钮重新加载页面

javascript - 小书签:移动浏览器重定向至 m.*.* 桌面浏览器重定向至 www.*.*

javascript - 小书签找不到输入框

javascript - 让小书签在后台运行并根据页面内容更新进行操作

javascript - 使用 webpack 和 ManifestRevisionPlugin 排除文件(即 .DS_Store)

javascript - 测试互斥的 JavaScript

ruby-on-rails - AssociationTypeMismatch 错误中的数字代表什么?

ruby-on-rails - Rails 4 路由 : using namespaces with dynamic segments