Я использую этот тип линии в ответ JSкнопку назад в браузере не работает должным образом после использования PushState (в Chrome)
if (history && history.pushState){
history.pushState(null, null, '<%=j home_path %>');
}
, но когда я нажимаю back
в браузере, я вижу код JS из ответ вместо предыдущей страницы.
Есть ли способ, чтобы сделать кнопку назад работу таким образом, он будет повторно запросить страницу последнего URL (до home_path
, как pushStated в
Update:
Я нашел this .. похоже, другие имеют один и тот же вопрос с .. History.js не исправить либо
Так, чтобы подтвердить некоторые из комментариев там .. Это происходит только в хроме
Что я думаю
Я думаю, что корень всего этого состоит в том, что popstate запрашивает один и тот же тип документа pushstate documentemtn (js response). Что должно быть сделано по popstate запросу HTML ответ .. Я просто не знаю, как
Больше обновлений:
видящие http://railscasts.com/episodes/246-ajax-history-state он упоминает использовать
$(window).bind("popstate", function() {
$.getScript(location.href);
});
это решает но в соответствии с understanding jQuery $.getScript() withtout ajax caching добавит отметки времени .., который загрязняет URL-адрес. Отключение его делает его неработоспособным с тем же эффектом.
Кто-нибудь знает, как это решить?
Еще больше обновлений
Я разыскал следы этой проблемы во всей межсети и заканчивались issue in chrome что указует на вопрос рельсов (светлячок однако работает отлично) и issue in rails-ujs относительно не включая Вары заголовка в ответов
Пример можно найти here
ли вы предоставить полный исходный код и выход? Правильный блок кода, который вы указали. Мне нужна дополнительная информация, чтобы помочь решить вашу проблему. –
В какой строке находится '' <% = j home_path%> ''result? – Simon
это приводит к '/ home' –