javascript - Rails,如何创建 "google like"(URL 预览)link_to

标签 javascript ruby-on-rails coffeescript link-to

我想在 Rails 中创建 link_to “google like”。

让我解释一下。

在简单的谷歌搜索页面上 http://www.google.com/search?hl=en&source=hp&biw=1280&bih=658&q=stackoverflow&oq=stackoverflow&aq=f&aqi=g10&aql=1&gs_sm=e&gs_upl=65l2231l0l2364l13l13l0l5l5l1l297l1698l1.2.5l8l0

对于普通用户来说,一切看起来都很漂亮。

预览网址为 stackoverflow.com

但是当我点击复制链接位置时,我得到了这个地址 http://www.google.com/url?sa=t&rct=j&q=stackoverflow&source=web&cd=1&ved=0CC8QFjAA&url=http%3A%2F%2Fstackoverflow.com%2F&ei=JVOpTra5M-Pi4QT1pPwk&usg=AFQjCNERidL9Hb6OvGW93_Y6MRj3aTdMVA&sig2=_ARyobDs5AzfZw4YwBNg1g

如何在 Rails 中使用 JS 或 Coffescript 控制 link_to 的 URL 预览?有人可以为这个问题提供一些解决方案吗?

最佳答案

原始链接引用是“漂亮版本”,但 mousedown 事件会更改 URL,以使用 JavaScript 重定向到 Google 网站。

原始 HTML:

<a class="l" onmousedown="return rwt(this,'','','','1','AFQjCNERidL9Hb6OvGW93_Y6MRj3aTdMVA','','0CDAQFjAA')" href="http://stackoverflow.com/">

堆栈溢出

鼠标按下事件后(甚至右键单击):

<a class="l" onmousedown="return rwt(this,'','','','1','AFQjCNERidL9Hb6OvGW93_Y6MRj3aTdMVA','','0CDAQFjAA')" href="http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDAQFjAA&url=http%3A%2F%2Fstackoverflow.com%2F&ei=aVepTtjwJ4nlsQKTvLHbBQ&usg=AFQjCNERidL9Hb6OvGW93_Y6MRj3aTdMVA">

堆栈溢出

基于 ERB 的模板的未经测试的 JQuery 实现:

$('.l').mousedown(function() {
  $(this).attr("href","<%= url_for(:controller => :redirect, :action => :index) -%>/"+$(this).attr("href"));
});

关于javascript - Rails,如何创建 "google like"(URL 预览)link_to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7916139/

相关文章:

javascript - 如何在 CoffeeScript 中编写这个简单的 javascript 代码?

javascript - 使用 python 从输入字段复制文本并将其保存到变量中

javascript - 将图像保存到 Canvas 然后绘制更多

angularjs - 我可以在 AngularJS 中使用 CoffeeScript 进行 Protractor 测试吗?

ruby-on-rails - 如何禁用某个列的 ActiveRecord 日志记录?

mysql - 无法迁移 .csv 文件

javascript - 是否可以解析 CoffeeScript 资源文件中的 Ruby 实例变量?

javascript - 如何使用 getDate 方法更改当前日期的文本颜色?

javascript - Ramda : mergeDeepRight + mergeAll (. ..也许合并DeepRightAll)

ruby-on-rails - 在 Engine Yard 上设置环境变量