Я использую этот плагин jQueryhttp://www.asual.com/jquery/address/потому что у меня есть полный ajax-сайт, взломанный в Rails 3.1.0
, но мои действия / методы также отвечают на запросы html.
, поэтому, если у меня есть ссылка
<%=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});
});
, так что теперь он делает трюк назад и вперед, но ....
когда я нажимаю на ссылку, она делает удаленныйвызовите дважды .... один раз для самой ссылки и один для метода .change(...
.... но когда я возвращаюсь назад, он работает отлично, он выполняет вызов только один раз для метода .change(...
.... так что
Как я могу предотвратить вызов $.ajax
только при переходе назад и вперед в браузере, а не приn переходя по ссылкам, потому что они уже звонили сами?
<< - ОБНОВЛЕНИЕ - >>В браузерах Safari и Chrome, когда я вхожу в историю на шаг назад от своей главной страницы, а затем перемещаюсь вперед с помощью кнопок браузера, я получаю полный белый экран, отображающий только функцию javascript, которая загружает мой main/index
вид через ajax, но есть тольков браузере
<< - ОБНОВЛЕНИЕ ->
В основном это то, что я пытаюсь воспроизвести, но использую рубин на рельсах и их remote links
http://www.asual.com/jquery/address/samples/state/