2011-10-27 4 views
2

私はRailsでlink_to "google like"を作成したいと思います。Rails、 "google like"(URLプレビュー)を作成するにはlink_to

私を説明しましょう。

シンプルなGoogle検索ページ

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

すべてがシンプルなユーザーに美しい見えます。

URLプレビューはstackoverflow.com

あるしかし、私はcopy link locationをクリックしたときに、私は、このアドレス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

がどのようにのlink_to用レールにJSやCoffescriptとURLのプレビューを制御するためのですか?誰かがこの問題にいくつかの解決策を提供できますか?

答えて

4

元のリンク参照は「かなりのバージョン」ですが、mousedownイベントはJavaScriptを使用してGoogleのサイトを通じてリダイレクトするURLを変更します。

オリジナル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")); 
}); 
+0

いくつかのEJS Railsコードを提供できますか?私はRails3 AJAXでこれを行う方法を知らない。 –

0

プリミティブソリューションが、右方向?

<%= link_to "Test", "Pretty.url", :onmousedown => "window.location.href = 'UGLY.URL'; return false;" %> 
+0

私はこれが右クリックでも新しい場所にリダイレクトされると思うが、このスタイルの実装もうまくいくだろう。これは特にこのような各リンクを参照する必要があります。ヘルパーを使用すると便利ですが、各リンクをクラスにバインドするのではなく、リンクごとにJSを繰り返すことで、より多くのデータがクライアントに送信されます。 – Nick

+0

あなたはそれをクラスに与え、そのクラスのためのjQueryルールを設定することができます。醜いURLはカスタム属性(data-uglyなど)に保存されます。 –

関連する問題