Turbolinks 3
Ruby 层面:
Controller
3 个回调方法:设置 X-XHR-Redirected-To,只对 GET 请求有效,某种情况的跨域是不允许的
(用到了 X-XHR-Referer)
重写 referer 方法(用到了 X-XHR-Referer )
更改 redirect_to 计算规则(用到了 X-XHR-Referer )
重写 redirect_to 方法,某种情况下使用 Turbolinks.visit 代替
重写 render 方法,某种情况下使用 Turbolinks.replace 代替
render 和 redirect_to 可以额外处理参数:turbolinks,keep,change,flush
(各个参数对应功能可以查看文档)
Router
加上 _turbolinks_redirect_to(用到了 HTTP_X_XHR_REFERER )
View
加上 X-XHR-Referer
共引入标记
cookies[:request_method]
request.headers['X-XHR-Referer']
request.headers["X-XHR-Referer"]
session[:_turbolinks_redirect_to]
response.headers['X-XHR-Redirected-To']
env['HTTP_X_XHR_REFERER']
env['rack.session'][:_turbolinks_redirect_to]
controller.request.headers["X-XHR-Referer"]JS 层面:
文档:
最后更新于
这有帮助吗?