完全な ajax サイトがハッキングされているため、この jQuery プラグイン
http://www.asual.com/jquery/address/
を使用していますが、アクション/メソッドも html リクエストに応答します。Rails 3.1.0
リンクがあれば
<%=link_to "my link",{:controller=>"my_controller",:action=>"my_action"},:remote=>true%>
それは呼び出しを行いますが、URL は同じままです。URL を共有すると、常にルート ページ/
ページが表示されますが、このプラグインを使用すると、のリモート メソッドを呼び出してmy_controller
、表示する URL を変更することもできます
var elemetns = $("a.addressPlugin");
$.address.crawlable(1).state('/').init(function(){
elemetns.address();
});
私の新しいリンク
<%=link_to "my link",{:controller=>"my_controller",:action=>"my_action"},:class=>"addressPlugin",:remote=>true%>
今私のURLは次のようになります
http://localhost:3000/my_controller/my_action
しかし、ブラウザに戻ったとき、ページは変更されずに残ります
それから私はこれをすることを考えました
var elemetns = $("a.addressPlugin");
$.address.crawlable(1).state('/').init(function(){
elemetns.address();
}).change(function(e){
$.ajax({type:'GET',url:e.path,dataType:'script',cache:true});
});
だから今、それは前後にトリックを行いますが....
リンクをクリックすると、リモート呼び出しが2回行われます....リンク自体に対して1回、.change(...
メソッドに対して1回....しかし、逆に戻ると、.change(...
メソッドで1回だけ呼び出しが行われます....それで
$.ajax
リンクをクリックするときではなく、ブラウザーで前後に移動するときにのみ呼び出しが行われるのを防ぐにはどうすればよいですか?
<< -- 更新 -- >>
Safari および Chrome ブラウザで、メイン ページから 1 ステップ戻って履歴を表示し、ブラウザのボタンを使用して先に進むと、完全に白い画面が表示され、main/index
ビューをロードする JavaScript 関数のみが表示されます。 ajax経由ですが、ブラウザにはそれしかありません
<< -- 更新 -- >
基本的にこれは私が複製しようとしているものですが、Ruby on Rails とそのremote links