Turbolinks 产生的原因
原因:
HTML 5 引进了 "History interface"
原来的一个 request/response 需要传递整个页面(不论你有没有做缓存)
Assets Precompile 将整个静态资源打包,导致 css/js 太大
借鉴了 PJAX
第 1 点补充:
interface History {
readonly attribute long length;
readonly attribute any state;
void go(optional long delta);
void back();
void forward();
void pushState(any data, DOMString title, optional DOMString? url = null);
void replaceState(any data, DOMString title, optional DOMString? url = null);
};
第 2 点补充:
request ->
response(title and body) <-
request ->
response(only body) <-
类似 AJAX 但 url 变了。
第 3 点补充:
有人说 Turblinks 就是为了解决 Assets Precompile 引起的问题。
第 4 点补充:
$.pjax({
url: '/authors',
container: '#main'
})
PJAX 是指定 dom,而 Turblinks 是整个 body.
最后更新于
这有帮助吗?